JP5922127B2 - 障害処理方法、コンピュータ可読ストレージ媒体およびコンピュータシステム - Google Patents

障害処理方法、コンピュータ可読ストレージ媒体およびコンピュータシステム Download PDF

Info

Publication number
JP5922127B2
JP5922127B2 JP2013529379A JP2013529379A JP5922127B2 JP 5922127 B2 JP5922127 B2 JP 5922127B2 JP 2013529379 A JP2013529379 A JP 2013529379A JP 2013529379 A JP2013529379 A JP 2013529379A JP 5922127 B2 JP5922127 B2 JP 5922127B2
Authority
JP
Japan
Prior art keywords
error
mirror
mirrors
node
connection
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.)
Active
Application number
JP2013529379A
Other languages
English (en)
Other versions
JP2013538409A (ja
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.)
NortonLifeLock Inc
Original Assignee
Symantec 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 Symantec Corp filed Critical Symantec Corp
Publication of JP2013538409A publication Critical patent/JP2013538409A/ja
Application granted granted Critical
Publication of JP5922127B2 publication Critical patent/JP5922127B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Description

本実施形態は、情報保存及び障害処理の分野に関する。
有利な結果を実現するために、多数のアプリケーションにおいて、しばしば、電子システム及び回路を利用している。ビジネス、科学、教育、及びエンターテインメントの大部分の領域において、コンピュータ、ビデオ機器、及び通信システムなどの多数の電子技術により、情報の分析及び伝達における生産性の向上とコストの低減を促進している。これらの活動には、しばしば、膨大な量の重要な且つ機密の情報の保存が伴っており、且つ、情報を保存及び処理することにより、大量のリソースが消費されている。しばしば、様々な理由から、情報の維持及び追跡が非常に重要である。
多数のストレージアーキテクチャは、様々な目的(例えば、回復、破壊、修復など)に利用可能なストレージミラーを含む。通常、ボリューム内のミラーは、それらのミラーに跨る読取りの一貫性を維持するために、同一のデータを有する必要がある。ミラーがソフトウェア層において実装され、且つ、ボリュームが共有ストレージクラスタ内の複数のノードに跨って共有されている際には、1つ又は複数のノードからのストレージ接続の完全な喪失をもたらす局所的な接続エラーが、書込みにおけるI/Oエラーをトリガする可能性がある。書込みが進行している間に接続の喪失が発生した場合には、ミラーに跨るデータの一貫性が結果的に失われる可能性があろう。このようなシナリオにおいては、従来の方法は、通常、切り離されたものとして、最後のものを除くすべてのミラーをマーキングすることにより、影響を受けていないノードからのデータの読取りにおける一貫性の喪失を防止している。しかしながら、この従来の切離しの方法によれば、通常、影響を受けたノードに対してなんらの追加的な利益をも提供することなしに、ミラーの冗長性が低減される。
障害処理のためのシステム及び方法が提示されている。一実施形態においては、障害処理方法は、エラーが媒体エラーであるのか又は接続エラーであるのかを判定するステップを含むエラータイプ検出プロセスを実行するステップと、切離し判定プロセスを実行して適切な切離しシナリオを確立するステップであって、適切な切離しシナリオは、接続エラーがすべてのミラーに関係する場合に、いずれのミラーをも切り離さないステップを含む、ステップと、障害を有するアプリケーション書込みを返すステップと、を含む。一実施形態においては、切離し判定プロセスは、読取り−書戻しプロセスの結果に従ってミラーを切り離す。例示用の一実装形態においては、切離し判定プロセスは、接続状態問合せを含み、且つ、ミラーは、接続状態問合せの結果に従って切り離される。例示用の一実装形態においては、接続状態問合せは、SCSI接続問合せを含む。一実施形態においては、一貫性及び同期は、読取り−書戻し動作を利用することにより、ミラー間において維持される。又、大部分のノードにアクセス可能ではないミラーを切り離すこともできる。
一実施形態においては、エラータイプ検出プロセスを実行するステップは、エラーがミラーのサブセット又はすべてに関係するかどうかを分析するステップと、エラーがミラーのすべてに関係する場合に、ミラーのいずれかが媒体エラーに遭遇しているかどうかを判定するステップと、を含む。例示用の一実装形態においては、切離し判定プロセスを実行するステップは、切離しのために、媒体エラーに遭遇するミラーのサブセット内のミラーと、ミラーのすべてが媒体エラーに遭遇している場合に、1つのものを除くすべてのミラーと、を識別するステップを含む。ロールを第1ノードから第2ノードに転送することが可能であり、この場合に、第1ノードは、ストレージアクセスの喪失の影響を受けており、且つ、第2ノードは、十分なストレージアクセスを有する。
一実施形態においては、コンピュータ可読ストレージ媒体は、コンピュータシステムによって実行された際にコンピュータシステムに方法を実行させるコンピュータ実行可能命令をその上部に保存している。一実施形態においては、本方法は、エラーが媒体エラーであるのか又は接続エラーであるのかを判定するステップを含むエラータイプ検出プロセスを実行するステップと、切離し判定プロセスを実行して適切な切離しシナリオを確立するステップであって、適切な切離しシナリオは、接続エラーがすべてのミラーに関係する場合に、いずれのミラーをも切り離さないステップを含む、ステップと、障害を有するアプリケーション書込みを返すステップと、を含む。一実施形態においては、切離し判定プロセスは、読取り−書戻しプロセスの結果に従ってミラーを切り離す。一実施形態においては、切離し判定プロセスは、読取り−書戻しプロセスの結果に従ってミラーを切り離す。例示用の一実装形態においては、切離し判定プロセスは、接続状態問合せを含み、且つ、ミラーは、接続状態問合せの結果に従って切り離される。例示用の一実装形態においては、接続状態問合せは、SCSI接続問合せを含む。一実施形態においては、読取り−書戻し動作を利用することにより、一貫性及び同期がミラー間において維持される。又、大部分のノードにアクセス可能ではないミラーを切り離すこともできる。ロールを第1ノードから第2ノードに転送することが可能であり、この場合に、第1ノードは、ストレージアクセスの喪失の影響を受けており、且つ、第2ノードは、十分なストレージアクセスを有する。
例示用の一実装形態においては、コンピュータシステムは、コンピュータ可読ストレージ媒体に結合されたプロセッサを有し、且つ、コンピュータシステムは、コンピュータシステムに動作を実行させるコンピュータ実行可能コードを実行し、動作は、エラーが媒体エラーであるのか又は接続エラーであるのかを判定するステップを含むエラータイプ検出プロセスを実行するステップと、切離し判定プロセスを実行して適切な切離しシナリオを確立するステップであって、適切な切離しシナリオは、接続エラーがすべてのミラーに関係する場合に、いずれのミラーをも切り離さないステップを含む、ステップと、障害を有するアプリケーション書込みを返すステップと、を含む。一実施形態においては、切離し判定プロセスは、読取り−書戻しプロセスの結果に従ってミラーを切り離す。一実施形態においては、切離し判定プロセスは、読取り−書戻しプロセスの結果に従ってミラーを切り離す。例示用の一実装形態においては、切離し判定プロセスは、接続状態問合せを含み、且つ、ミラーは、接続状態問合せの結果に従って切り離される。例示用の一実装形態においては、接続状態問合せは、SCSI接続問合せを含む。一実装形態においては、読取り−書戻し動作を利用することにより、一貫性及び同期がミラー間において維持される。又、大部分のノードにアクセス可能ではないミラーを切り離すこともできる。ロールを第1ノードから第2ノードに転送することが可能であり、この場合に、第1ノードは、ストレージアクセスの喪失の影響を受けており、且つ、第2ノードは、十分なストレージアクセスを有する。
本明細書に含まれると共にその一部を形成する添付図面は、本実施形態の原理を例示するために含まれており、且つ、本発明を本明細書に示されている特定の実装形態に限定することを意図したものではない。添付図面は、特記されていない限り、縮尺が正確ではない。
本発明の一実施形態による例示用のデータストレージシステムのブロックダイアグラムである。 本発明の一実施形態によるストレージ接続コンポーネントとストレージリソースの間のクラスタグローバル障害を有する例示用のデータストレージシステムのブロックダイアグラムである。 本発明の一実施形態によるマスタローカル障害及びスレーブローカル障害を有する例示用のデータストレージシステムのブロックダイアグラムである。 本発明の一実施形態によるグローバル部分障害及びローカル部分障害を有する例示用のデータストレージシステムのブロックダイアグラムである。 本発明の一実施形態によるクラスタグローバル障害を有する例示用のデータストレージシステムのブロックダイアグラムである。 本発明の一実施形態による例示用の障害処理方法のブロックダイアグラムである。 本発明の一実施形態による例示用の全ノード読取り−書戻し一貫性維持プロセスのブロックダイアグラムである。 本発明の一実施形態による例示用の初期接続問合せ一貫性維持プロセスのブロックダイアグラムである。 本発明の一実施形態による例示用の切離し判定プロセスのブロックダイアグラムである。 本発明の一実施形態による例示用の媒体エラー切離し構成プロセスのブロックダイアグラムである。 本発明の一実施形態による例示用の接続エラー切離し構成判定プロセスのブロックダイアグラムである。 本発明の一実施形態による例示用の切離しシナリオプロセスのブロックダイアグラムである。 本発明の一実施形態による例示用の接続エラー切離し構成プロセスのフローチャートである。 本発明の一実施形態による例示用のデータストレージシステムのブロックダイアグラムである。 本発明の一実施形態による一貫性の喪失を解消した後の例示用のデータストレージシステムのブロックダイアグラムである。 本発明の一実施形態による例示用の障害修復モジュールのブロックダイアグラムである。 本発明の一実施形態による例示用のネットワークアーキテクチャのブロックダイアグラムである。 本発明の一実施形態に従って本方法を実装するのに適した例示用のコンピュータシステムのブロックダイアグラムを示す。
以下、その例が添付の図面に示されている好適な実施形態を詳細に参照することとする。本発明については、好適な実施形態との関連において説明するが、これらの実施形態は、本発明をこれらの実施形態に限定することを意図したものではないことを理解されたい。むしろ、本発明は、添付の請求項によって規定される精神及び範囲に含まれる代替肢、変更、及び均等物を含むものと解釈されたい。更には、以下の詳細な説明においては、十分な理解を提供するために、多数の特定の詳細事項について記述している。但し、当業者には、これらの特定の詳細事項を伴うことなしに、本発明を実施してもよいことが明らかとなろう。その他の状況においては、本発明の態様を不必要に曖昧にすることのないように、周知の方法、手順、コンポーネント、及び回路に関する詳細な説明は省略している。
この新しいシステム及び方法は、効率的且つ効果的な情報ストレージ管理及び障害処理を円滑に実行する。本システム及び方法は、データストレージリソースに対するI/Oエラーの影響の効果的な管理を円滑に実行し、且つ、既存のインフラストラクチャを補完することができる。例えば、本システム及び方法は、局所的なストレージ接続の問題を取り扱う際に、不適切な切離しが低減された状態において、ミラーリソースの安定した維持を円滑に実行することができる。一実施形態においては、切離し判定プロセスは、適切な切離しシナリオを伴っており、この場合に、適切な切離しシナリオは、接続エラーがすべてのミラーに関連する場合に、いずれのミラーをも切り離さないステップを含む。この新しいシステム及び方法は、ミラー間における一貫性及び同期を促進しつつ、1つ又は複数のノードからの完全なストレージ接続の喪失と関連したミラーの切離しの回避の改善を含む。この新しい方法は、完全な局所的接続障害の際に、最後のものを除くすべてのミラーを切り離すことにより、不必要な切離しが、影響を受けたノードに対してなんらの利益をも提供しない以前のシナリオを処理するための代替方法を含む。
一実施形態においては、本システム及び方法は、クラスタ環境において実装される。本システム及び方法は、共有ストレージクラスタ内の影響を受けたノードからI/Oの障害を返すことにより、その他のミラーに対するアクセスを有するノードからの障害が発生したI/Oの回復を円滑に実行することができる。本システム及び方法は、共有ストレージクラスタ内の装置のミラーに影響を与える局所的障害の処理の改善を円滑に実行することができる。共有ストレージクラスタ管理(例えば、CFS/DVM等)は、市場において非常に重要であり、且つ、システムが益々多くの数のノードをCFS/CVMクラスタ内においてサポートし始めるのに伴って、益々重要になっている。ミラーの冗長性は、多くの共有ストレージクラスタの主要な側面であり、且つ、ミラーリソースの不必要な切離しの回避と一貫性及び同期の維持は、クラスタ管理において有用である。この新しい方法は、RAID1構成又はRAID1のその他の組合せを伴う構成を有する装置に対して適用することができることを理解されたい。
図1Aは、本発明の一実施形態による例示用のデータストレージシステム100のブロックダイアグラムである。データストレージシステム100は、ストレージリソース101と、ストレージ接続コンポーネント155と、クラスタ170と、を含む。ストレージリソース101は、ミラー情報を保存するディスク112、113、114、115、及び117を含む。ミラー情報120は、ディスク112上に保存されたデータ122、123、及び124を含む。ミラー情報130は、ディスク113上に保存されたデータ132、133、及び134を含む。ミラー情報140は、ディスク114上に保存されたデータ142、143、及び144を含む。ミラー情報150は、ディスク115上に保存されたデータ152及び153と、ディスク117上に保存されたデータ154と、を含む。クラスタ170は、ノード171、172、173、及び174を含む。一実施形態においては、ミラーは、仮想レベルにおいて実装され、且つ、ミラーボリュームは、複数のノードに跨って(例えば、共有クラスタ内又はクラスタ170内等において)共有されている。
例示用のデータストレージシステム100のコンポーネントは、協働し、データ情報の効率的且つ便利な保存を円滑に実行する。ディスク112、113、114、115、及び117は、情報を保存する。一実施形態においては、情報は、ミラー構成において保存されている。例示用の一実装形態においては、1つのミラー上に保存された情報は、その他のミラー上において複製又は「ミラーリング」されている。例示用の一実装形態においては、ミラー情報120は、個々の情報130、140、及び150と同一である。ストレージ接続コンポーネント155は、ノードクラスタ170とストレージリソース101の間の接続を提供している。一実施形態においては、ストレージ接続コンポーネント155は、SAN(Storage Array Network)スイッチを含む。ノード171、172、173、及び174は、ホストとして動作する。
本システム及び方法は、様々な構成又は編成における実装のために容易に構成可能であることを理解されたい。ミラーは、複数のディスク上のリソースを利用することができる。例えば、ミラー情報150は、ディスク115及び117上のストレージリソースを利用することができる。又、ディスクリソースは、複数のミラーによって利用することもできることを理解されたい。一実施形態においては、ディスク上のストレージリソースのブロックを1つのミラーに割り当てることが可能であり、且つ、同一ディスク上のストレージリソースのその他のブロックを別のミラーに割り当てることもできる。
例示用の一実装形態においては、情報(例えば、ミラー情報130)がアプリケーションから第1ミラーに書き込まれており、且つ、その他のミラーのうちの1つが、対応する情報(例えば、ミラー情報140)を(例えば、接続の喪失等に起因して)保存することができない場合に、データストレージシステム100は、障害又はI/Oエラーの処理又は調節を開始する。本システムは、I/Oエラーがストレージ媒体障害に起因するのか又は別のエラー(例えば、接続の喪失等)の結果であるのかを判定する。エラーが、ストレージ媒体障害と関連していない場合には、本システムは、いずれのミラーがI/Oエラーに関連するのかをチェックする。1つ又は複数のミラーがI/Oエラーに関連する場合には、それらのミラーは、利用可能な更に別のミラーが存在している限り、切り離すことができる。但し、すべてのミラーがI/Oエラーに関連する場合には、いずれのミラーをも切り離さない。いずれのミラーをも切り離さない理由は、すべてのミラーが切り離されると、読取り又は書込みを実行するための残りのミラーが存在しなくなり、その結果、システムがアプリケーションに対応することができなくなるためである。
一実施形態においては、本システムは、障害処理方法を実行する。障害処理方法は、切離し判定プロセスを利用する。一実施形態においては、切離し判定プロセスは、すべてのノードによる読取り−書戻しプロセスを含み、且つ、切離しは、読取り−書戻しプロセスの結果に基づいている。一代替実施形態においては、切離し判定プロセスは、接続状態問合せを含み、且つ、切離しは、接続状態問合せの結果に基づいている。又、接続状態問合せ結果は、読取り−書戻しプロセスのための指定の単一のノードを選択するためにも利用される。いずれのシナリオにおいても、読取り−書戻しプロセスを利用し、一貫性又は同期の修復を円滑に実行する。例えば、読取り−書戻し動作を利用し、それぞれ、ブロック122、123、及び124のコンテンツが、ブロック132、133、及び134、ブロック142、143、及び144、並びに、ブロック152、153、及び154上においてミラーリングされることを保証する。障害処理方法とミラーの同期化の例に関する更なる情報は、以下の節において提供される。
様々な発生可能な障害又はエラーのシナリオが存在することを理解されたい。図1Bは、本発明の一実施形態によるストレージ接続コンポーネント155とストレージリソース101の間にクラスタグローバル障害191を有する例示用のデータストレージシステム100のブロックダイアグラムである。図1Bのシナリオには、1つ又は複数のノードがすべてのミラーに対する接続を喪失するステップが伴っている。接続エラーがすべてのミラーに関連しているため、いずれのミラーをも切り離さない。
図1Cは、本発明の一実施形態によるマスタローカル障害192及びスレーブローカル障害193を有する例示用のデータストレージシステム100のブロックダイアグラムである。マスタローカル障害192は、マスタノード171とストレージリソース101内のすべてのディスクの間にエラー又は障害を生成し、且つ、従って、ストレージ101内のすべてのミラーに対してエラーを生成する。スレーブローカル障害193は、スレーブノード193とストレージリソース101内のすべてのディスクの間にエラーを生成し、且つ、従って、ストレージ101内のすべてのミラーに対してエラーを生成する。これらのシナリオにおいては、いずれのミラーをも切り離さない。
一実施形態においては、ロールを第1ノードから第2ノードに転送することが可能であり、この場合に、第1ノードは、ストレージアクセスの喪失の影響を受けており、且つ、第2ノードは、十分なストレージアクセスを有する。例示用の一実装形態においては、マスタノード171が、マスタローカル障害192に遭遇し、且つ、接続を喪失した際に、マスタのロールを、ストレージリソース101に対する十分なストレージアクセスを依然として有するノード172に転送することができる。マスタのロールを転送した後には、ノード172がマスタとなり、且つ、ノード171は、スレーブとなることになろう。一実施形態においては、ロールの転送又は割当は、様々な測定基準に基づいたものであってよい。測定基準は、関連するノードの特性と、ストレージに対するそれらのノードのアクセスと、に関係したものであってもよい。例示用の一実装形態においては、転送は、ストレージに対する最大アクセスを有するノードに基づいている。接続特性は、重み付けされた考慮事項又は接続測定基準に基づいたものであってもよい。
図1Dは、本発明の一実施形態によるグローバル部分障害295及びローカル部分障害295を有する例示用のデータストレージシステム200のブロックダイアグラムである。データストレージシステム200は、データストレージアレイ201と、データストレージアレイ202と、ストレージ接続コンポーネント255と、ストレージ接続コンポーネント257と、クラスタ270と、を含む。ストレージアレイ201は、ディスク212及び213を含む。ストレージアレイ202は、ディスク214、215、及び277を含む。ディスクは、ミラー情報を保存する。ミラー情報220は、ディスク212上に保存されたデータ222、223、及び224を含む。ミラー情報230は、ディスク213上に保存されたデータ232、233、及び234を含む。ミラー情報240は、ディスク214上に保存されたデータ242、243、及び244を含む。ミラー情報250は、ディスク215上に保存されたデータ252及び253と、ディスク217上に保存されたデータ254と、を含む。クラスタ270は、ノード271、272、273、及び274を含む。一実施形態においては、ミラーは、仮想レベルにおいて実装され、且つ、ミラーボリュームは、複数のノードに跨って(例えば、共有クラスタ内又はクラスタ270内等において)共有されている。グローバル部分障害294は、すべてのディスクにエラー又は障害を生成するものではないが、すべてのノードがこれらのエラーを経験するため、これらのエラーは、グローバルであると見なされる。例えば、グローバル部分障害294は、ストレージアレイ201上のディスクとクラスタ270内のすべてのノードの間に障害を生成するが、ストレージアレイ202上のディスクとクラスタ270内のノードの間の障害は、生成しない。ローカル部分障害295は、すべてのディスクにエラー又は障害を生成するわけではない。例えば、ローカル部分障害295は、ノード274とストレージアレイ202の間の障害を生成するが、ストレージアレイ201上のディスクとノード274の間の障害は、生成しない。
一実施形態においては、エラーに関連するミラーのサブセットを切り離している。例えば、ノード271上のI/Oは、ストレージノード202との関係においては、エラーに遭遇しないが、ストレージアレイ201との関係においてエラーに遭遇することになり、従って、ストレージアレイ201と関連するミラーのサブセットを切り離すことになるが、ストレージアレイ202と関連するミラーのサブセットは、切り離すことにはならないであろう。但し、ノード274上のI/Oと関連するエラーは、切離しをトリガすることにはならず、その理由は、ノード274がすべてのミラーに対する接続を喪失するためであり、且つ、従って、いずれのミラーをも切り離さない。例えば、ノード274は、グローバル部分障害294に起因してストレージアレイ201に対する接続を喪失し、且つ、ローカル部分障害295に起因してストレージアレイ202に対する接続を喪失する。
図1Eは、本発明の一実施形態によるクラスタグローバル障害197を有する例示用のデータストレージシステム100のブロックダイアグラムである。一実施形態においては、クラスタグローバル障害197は、ディスク112上の媒体障害の結果である。クラスタグローバル障害197は、ディスク112とすべてのノードの間にエラー又は障害を生成する。一実施形態においては、媒体エラーが発生した場合に、ミラー切離しプロセスは終了する。代替実施形態においては、媒体エラーが発生した際に、ミラー切離しプロセスは、媒体エラーに遭遇したミラーの組(例えば、すべてのミラー又はミラーのサブセット等)に基づいて継続する。例示用の一実装形態においては、すべてのミラーが媒体エラーに遭遇した場合には、1つを除いてすべてのミラーが切り離され、且つ、ミラーのサブセットが媒体エラーに遭遇した場合には、ミラーのサブセットが切り離される。
図2は、本発明の一実施形態による障害処理方法280のブロックダイアグラムである。一実施形態においては、障害処理方法280は、ローカルストレージ接続問題を処理する際に、ミラーの同期を修復しつつ、不適切な切離しが低減された状態において、ミラーリソースの維持を円滑に実行する。障害処理方法280は、共有されたストレージクラスタ内における装置のミラーに影響を与えるローカル障害の改善された処理を円滑に実行することができる。
ブロック281において、エラータイプ検出プロセスを実行している。一実施形態においては、エラータイプ検出プロセスを実行するステップは、エラーが媒体エラーであるのか又は接続エラーであるのかを判定するステップを含む。エラー通知(例えば、入出力(I/O)エラー通知等)を受信する。I/Oエラー通知は、試みたアプリケーション書込みの際の接続の喪失に応答したものであってよい。I/Oエラーが媒体障害に起因しているかどうかのチェックを実行する。一実施形態においては、I/Oエラーが媒体エラーであるかどうかを判定するステップは、I/O状態をチェックするステップを含む。例示用の一実装形態においては、エラーがすべてのミラー又はミラーのサブセットに関連するかどうかと、そのエラーがミラーのすべてに関連する場合に、ミラーのいずれかが媒体エラーに遭遇しているかどうかと、に関する分析を実行している。エラーコードをチェックすることにより、媒体エラーが関係するかどうかを判定することができる。一実施形態においては、エラーが媒体障害に起因したものである場合には、I/O障害をアプリケーションに返し、且つ、切離しプロセスを終了する。一代替実施形態においては、エラーが媒体エラーであることを結果が示した場合には、プロセスは、切離し判定ブロック284に進む。エラーが接続エラーであることを結果が示した場合には、プロセスは、切離し判定ブロック284の前に、一貫性維持ブロック282に進む。
ブロック282においては、一貫性維持プロセスを実行する。書込み動作によってミラー間の一貫性が喪失している可能性があるため、一貫性維持プロセスを実行する。読取り−書戻し動作を利用し、ミラーを同期させることができる。第1実施形態においては、全ノード読取り−書戻し一貫性維持プロセスを利用している。第2実施形態においては、初期接続問合せ一貫性維持プロセスを利用している。第1実施形態においては、すべてのノードが読取り−書戻し動作を実行し、且つ、第2実施形態においては、初期接続問合せに基づいて選択された専用のノードが読取り−書戻し動作を実行している。以下の節には、一貫性維持プロセスの更なる説明が含まれている。全ノード読取り−書戻し一貫性維持プロセスの成功及び失敗の結果に基づいた又は初期接続問合せ一貫性維持プロセスの接続通知の結果に基づいた接続の通知は、切り離すミラーを判定する際に利用するべく、転送される。
ブロック284において、切離し判定プロセスを実行して適切な切離しシナリオを確立する。一実施形態においては、切離し判定プロセスは、媒体エラーに遭遇するミラーに基づいた媒体エラー切離し構成プロセスを含むことができる。一実施形態においては、切離し判定プロセスは、接続エラーとのミラーの関連に基づいた接続エラー切離し構成プロセスを含むことができる。一実施形態においては、接続エラーとのミラーの関連を判定するステップは、ブロック282において実行される一貫性維持プロセスの結果に基づいている。接続エラーとのミラーの関連の通知に応じて、様々な適切な切離しシナリオが存在することを理解されたい。適切な切離しシナリオは、接続エラーがミラーのすべてに関連する場合にいずれのミラーをも切り離さないステップ、接続エラーに関連するミラーのサブセットを切り離すステップ、利用可能な少なくともある程度のミラーの冗長性が依然として存在する場合に接続エラーに関連するミラーを切り離すステップなどを含むことができる。切離し判定プロセス及び適切な切離しシナリオの更なる説明については、以下の節において記述する。
ブロック285において、障害を有するアプリケーション書込みを返す。例示用の一実装形態においては、アプリケーションは、切離し及び一貫性の修復の後に、この障害を処理することが可能であり、その理由は、アプリケーションが、I/Oの全体が書き込まれることを、I/Oの一部分が書き込まれることを、或いは、I/Oのいずれもが書き込まれないことを予想しており、且つ、これらのシナリオに対応することができるためである。
図3Aは、本発明の一実施形態による例示用の全ノード読取り−書戻し一貫性維持プロセス300Aのブロックダイアグラムである。一実施形態においては、全ノード読取り−書戻し一貫性維持プロセス300Aの結果は、ミラーの一貫性の維持を円滑に実行することに加えて、適切な切離しシナリオの通知をも提供している。
ブロック320Aにおいて、ミラーの一貫性の喪失を修復するために、メッセージをクラスタ内のその他のノードに送信する。一実施形態においては、開始又は制御ノードは、ミラーの一貫性の喪失を修復するためのメッセージをクラスタ内のその他のすべてのノードに送信している。又、制御又は開始ノードは、メッセージ内において、影響を受ける装置のアドレス範囲と、一貫性の喪失を修復するために使用するべきミラーと、をも規定している。規定のミラーは、様々な方法によって(例えば、接続問合せの結果に基づいてランダムに等)選択することができることを理解されたい。
ブロック330Aにおいて、クラスタ内のその他ノードが規定のアドレス範囲において規定のミラーから読み取ると共にその他のミラーに書き込むことによってミラーの一貫性の喪失の修復を試みる読取り−書戻しプロセスを実行する。一実施形態においては、読取り−書戻し動作の結果は、動作結果の通知(例えば、失敗や成功等)と共に、開始又は制御ノードに返される。すべてのノードが失敗を報告した場合には、読み取るべき別の指定されたミラーを使用することにより、読取り−書戻しプロトコルを再実行することができる。例えば、読取り−書戻しプロセスは、第1の規定のミラーを利用した読取り−書戻しプロセスに対する失敗の応答が存在している場合には、第2の規定のミラーを利用することにより、反復される。第2ミラーは、様々なメカニズムに従って(例えば、接続問合せ結果に基づいてランダムに等)選択することができる。
ブロック340Aにおいて、修復動作の際に観察された任意の障害と共に、修復動作の結果を制御又は開始ノードに返送する。一実施形態においては、制御又は開始ノードは、これらの結果を利用して接続エラーに関連するミラーを判定している。一実施形態においては、例示用の全ノード読取り−書戻し一貫性維持プロセス300Aの結果は、切離し判定プロセス(例えば、ブロック284に類似したもの等)において利用することができる。一実施形態においては、切離し判定プロセスは、全ノード読取り−書戻し一貫性維持プロセス結果を利用し、エラーとのミラーの関連を判定している。以下の節には、切離し判定プロセスの更なる詳細な説明が含まれている。
図3Bは、本発明の一実施形態による初期接続問合せ一貫性維持プロセス300Bのブロックダイアグラムである。一実施形態においては、初期接続問合せ一貫性維持プロセス300Bの結果は、ミラーの一貫性の維持を円滑に実行することに加えて、適切な切離しシナリオの通知をも提供している。
ブロック320Bにおいて、接続問合せプロセスを実行する。例示用の一実装形態においては、接続問合せプロセスは、クラスタ内のミラーに対する接続を報告するように制御又は開始ノードがその他のノードに対して要求するステップを含む。例示用の一実装形態においては、接続状態問合せは、SCSI接続問合せを含む。例えば、制御又は開始ノードは、通信状態にある装置のそれぞれごとにSCSI問合せを実行することができる。
ブロック330Bにおいて、ミラーの一貫性の喪失を修復するために、メッセージをクラスタ内の指定されたノードに対して送信する。指定のノードの選択は、ブロック320Aにおける接続問合せプロセスの結果に基づいている。一実施形態においては、開始又は制御ノードは、このミラーの一貫性の喪失を修復するためのメッセージを指定のノードに対して送信している。又、制御又は開始ノードは、メッセージ内において、影響を受ける装置のアドレス範囲と、一貫性の喪失を修復するために使用するべきミラーと、をも規定している。規定のミラーは、様々な方法で(例えば、接続問合せの結果に基づいてランダムに等)選択することができることを理解されたい。
ブロック340Bにおいて、指定されたノードは、規定のアドレス範囲において規定のミラーから読み取ると共にその他のミラーに書き込むことにより、読取り−書戻しプロセスを実行し、ミラーの一貫性の喪失を修復する。ミラーの一貫性の修復は、接続状態問合せによって判定された単一の指定されたノードによる読取り−書戻しに基づいたものであってもよい。例示用の一実装形態においては、修復動作の結果は、修復動作の際に観察される障害と共に、制御又は開始ノードに返送されている。修復動作結果の転送は、指定されたノードが一貫性の喪失を修復する能力を有していたことの確認として機能することができる。指定されたノードが失敗を報告した場合には、読み取るべき別の指定のノード又はミラーを使用することにより、読取り−書戻しプロトコルを再実行することができる。例えば、読取り−書戻しプロセスは、第1の規定のノードを利用した読取り−書戻しプロセスに対する失敗の応答が存在している場合には、第2の規定のノードを使用することによって反復される。
図4Aは、本発明の一実施形態による切離し判定プロセス400のブロックダイアグラムである。一実施形態においては、切離し判定プロセス400は、ブロック284の切離し判定プロセスに類似している。
ブロック401において、エラータイプ通知を受信する。一実施形態においては、エラータイプ通知は、エラー検出プロセス(例えば、ブロック281のエラー検出プロセス等)から受信される。例示用の一実装形態においては、エラーがすべてのミラーに関連する場合には、ミラーのいずれかが媒体エラーに遭遇したかに関する判定を実行している。エラーが媒体エラーである場合には、プロセスは、ブロック402に進み、且つ、エラーが接続エラーである場合には、プロセスは、ブロック403に進む。
ブロック402において、媒体エラーに遭遇したミラーに基づいて媒体エラー切離し構成プロセスを実行する。媒体エラー又は障害切離し構成プロセスは、ブロック284における切離し判定プロセスの一部として実行することができる。図4Bは、本発明の一実施形態による例示用の媒体エラー切離し構成プロセス420のブロックダイアグラムである。ブロック421において、媒体エラーに関連するミラーを判定する。一実施形態においては、媒体エラーに関連するミラーは、I/O状態(例えば、エラーコード等)のチェックに基づいて判定することができる。ブロック422において、すべてのミラーが媒体エラーに遭遇している場合に、1つを除いたすべてのミラーを切り離す。ブロック423において、ミラーのサブセットが媒体エラーに遭遇している場合に、そのサブセット内のミラーを切り離す。
図4Aを再度参照すれば、ブロック403において、接続エラー切離し構成判定プロセスを実行する。一実施形態においては、接続エラー切離し構成判定プロセスは、切り離すミラーを判定している。後続の節には、接続エラー切離し構成判定プロセスの更なる説明が含まれている。
図4Cは、本発明による例示用の接続エラー切離し構成判定プロセス430のブロックダイアグラムである。一実施形態においては、接続エラー切離し構成プロセス430は、ブロック403において利用されている構成エラー切離し判定に類似している。
ブロック431において、一貫性維持結果情報を受信する。全ノード読取り−書戻し一貫性維持プロセスと初期接続問合せ一貫性維持プロセスの両方の結果から、接続エラーとのミラーの関連の通知がもたらされる。一実施形態においては、一貫性維持結果は、ブロック282における一貫性維持動作と関連した結果情報を含んでいる。
ブロック432において、接続エラーミラー関連プロセスを実行する。このミラーエラー関連プロセスは、接続エラーとのミラーの関連を通知する。一実施形態においては、接続エラーミラー関連プロセスは、エラーがミラーのサブセット又はすべてと関連するかどうかを含むいずれのミラーがエラーに関連しているのかを分析するステップを含む。全ノード読取り−書戻し一貫性維持プロセス(例えば、300A等)に基づいた例示用の一実装形態においては、いずれのノード読取り−書戻し動作が成功であり、且つ、いずれが失敗であったのかに関する結果通知を分析し、一貫性エラーとのミラーの関連を判定している。初期接続問合せ一貫性維持プロセス(例えば、300B等)に基づいた例示用の一代替実施形態においては、接続問合せに基づいたいずれのノードが接続問題を有しているのかに関する結果通知を分析し、接続エラーとのミラーの関連を判定している。
ブロック433において、ブロック432の接続エラーミラー関連プロセスの結果に基づいて、切離しシナリオプロセスを実行する。切離しシナリオプロセスは、(例えば、接続エラーの結果として等)、いずれのミラーを切り離し、且つ、いずれのミラーを切り離さないのかを判定する。一実施形態においては、切離しシナリオプロセスは、切離しのためにミラーを効率的且つ効果的に選択している。
図4Dは、本発明の一実施形態による例示用の切離しシナリオプロセス490のブロックダイアグラムである。ブロック491において、すべてのミラーが接続エラーに関連している場合には、いずれのミラーをも切り離さない。ブロック492において、ミラーのサブセットがすべてのノードとの関係において接続エラーに関連する場合には、そのミラーのサブセットを切り離す。ブロック493において、1つを除くすべてのミラーからなる特別なサブセットを切り離す。例示用の一実装形態においては、ミラーの接続エラーがすべてのノードに対して影響を及ぼす場合には、そのミラーは、1つのミラーが残っている限り、切り離される。ブロック494において、ミラーが大部分のノードとの関係において接続エラーと関連する場合に、そのミラーを切り離す。例示用の一実装形態においては、重み付けされた平均値を利用しており、この場合に、異なる重みが異なるノードに対して割り当てられる。
図5は、本発明による一実施形態による例示用の接続エラー切離し構成プロセス500のフローチャートである。接続エラー切離し構成プロセス500は、全ノード読取り−書戻し結果に基づいて接続エラーとのミラーの関連の通知を判定する。一実施形態においては、制御又は開始ノードは、すべてのその他のノードからの読取り−書戻し動作(例えば、ブロック330Aに類似したもの等)の応答を待ち、且つ、それらの応答に基づいて更なる動作を実行する。適切な動作を実行した後に、(例えば、上述のブロック313において記述されているように)障害を有するアプリケーション書込みを返すことができる。
ブロック510において、少なくとも1つのノードが成功を返した場合には、いずれのミラーをも切り離さない。ブロック520において、すべてのノードがミラーのサブセットについてエラーを返した場合には、そのサブセットのミラーを切り離す。ブロック530において、すべてのノードが失敗を報告した場合には、読み取るべき別のミラーを使用することにより、読取り−書戻しプロトコルを再実行する。例えば、すべてのノードが第1の規定のノードを利用した読取り−書戻しプロセスの失敗を報告した場合には、読取り−書戻しプロセスは、読み取るべき第2の規定のミラーを利用することによって反復される。第2の規定のミラーは、(例えば、接続問合せ結果に基づいてランダムに等)残りのミラーから選択することができる。ブロック540において、ミラーがノードのいずれにもアクセス可能ではないと読取り−書戻し結果が通知した場合には、そのミラーを切り離すことができる。ブロック550において、アクセス可能なミラーのばらばらの組をノードが有する場合には、アクセス可能ではないミラーの組を切り離すこともできる。一実施形態においては、単純多数を利用している。例えば、5つのノードのうちの3つがミラーにアクセスすることができない場合には、そのミラーを切り離すことができる。例示用の一実装形態においては、重み付けされた平均値を利用しており、この場合に、異なる重みが異なるノードに対して割り当てられる。
図6は、本発明の一実施形態による例示用のデータストレージシステム600のブロックダイアグラムである。データストレージシステム650は、アプリケーション610と、ミラー620と、ミラー630と、ミラー640と、を含む。ミラー620、ミラー630、及びミラー640は、通信可能な状態で結合されている。例示用のデータストレージシステム650のコンポーネントは、協働し、アプリケーション610からのデータ情報の効率的且つ便利な保存を円滑に実行する。一実施形態においては、1つのミラー上に保存された情報をその他のミラー上において複製又は「ミラーリング」している。本システム及び方法は、様々な構成又は編成における実装のために容易に構成可能であることを理解されたい。
例示用の一実装形態においては、情報は、アプリケーション610からミラー620に書き込まれている。例えば、コンテンツ「AAAA」がブロック622に書き込まれ、コンテンツ「BBBB」がブロック623に書き込まれ、且つ、コンテンツ「CCCC」がブロック624に書き込まれる。その他のミラーは、対応する情報を保存することができない。例えば、コンテンツ「AAAA」が、ブロック632に書き込まれ、コンテンツ「BBBB」が、ブロック633に書き込まれるが、コンテンツ「CCCC」は、ブロック634に書き込まれない。コンテンツ「AAAA」は、ブロック642に書き込まれるが、コンテンツ「BBBB」は、ブロック643に書き込まれず、且つ、コンテンツ「CCCC」も、ブロック644に書き込まれない。
データストレージシステム650は、障害又はI/Oエラーの処理及び調節を開始する。一実施形態においては、このシステムは、障害処理方法(例えば、障害処理方法280に類似したもの)を実行している。切離し判定プロセス(例えば、400Aや400Bなどに類似したもの等)を実行する。例示用の一実装形態においては、切離し判定プロセスは、接続エラーがミラーのすべてに関連することを通知し、従って、いずれのミラーをも切り離さない。例示用の一実装形態においては、切離し判定プロセスは、接続エラーがミラーのサブセットに関連することを通知し、従って、そのミラーのサブセットを切り離す。一貫性及び同期の修復を実行する。例示用の一実装形態においては、読取り−書戻し動作を利用している。
図7は、本発明の一実施形態による一貫性及び同期の修復後の例示用のデータストレージシステム650のブロックダイアグラムである。イニシエータがミラー630と同期するようにミラーに対して命令する。例えば、ミラー620上において、コンテンツ「AAAA」がブロック622に書き込まれ、コンテンツ「BBBB」がブロック623に書き込まれ、且つ、コンテンツ「0000」がブロック624に書き込まれる。ミラー630上において、コンテンツ「AAAA」がブロック632に書き込まれ、コンテンツ「BBBB」がブロック633に書き込まれ、且つ、コンテンツ「0000」がブロック634に書き込まれる。ミラー640においては、コンテンツ「AAAA」がブロック642に書き込まれ、コンテンツ「BBBB」がブロック643に書き込まれ、且つ、コンテンツ「0000」がブロック644に書き込まれる。
図8は、保存方法(例えば、障害処理方法280等)を実行する際にプロセッサを制御するための命令を含む障害処理モジュール800のブロックダイアグラムである。障害処理モジュール800は、エラー検出モジュール810と、一貫性維持モジュール815と、エラー一貫性喪失修復モジュール820と、報告モジュール830と、を含む。エラー検出モジュール810は、エラーの検出を実行するための命令を含む。一実施形態においては、エラー検出モジュール810は、ブロック281に示されているようにエラーの検出を実行するための命令を含む。一貫性維持モジュール815は、ミラーの一貫性を維持するプロセスを実行するための命令を含む。一実施形態においては、一貫性維持モジュール815は、ブロック282においてミラーの一貫性の維持を実行するための命令を含む。切離し判定モジュール820は、適切な切離しシナリオを確立するためのプロセスを実行するための命令を含んでおり、この場合に、適切な切離しシナリオは、接続エラーがすべてのミラーに関連する場合にいずれのミラーをも切り離さないステップを含む。一実施形態においては、切離し判定モジュール820は、ブロック284において切離し判定を実行するための命令を含む。報告モジュール830は、書込み障害を報告するための命令を含む。一実施形態においては、報告モジュール830は、ブロック285に示されているように障害を報告するための命令を含む。
一実施形態においては、保存方法(例えば、障害処理方法280等)をネットワーク上において実装することができる。図9は、ネットワークアーキテクチャ1800を示すブロックダイアグラムであり、この場合には、クライアントシステム1810、1820、及び1830と、ストレージサーバー1840A及び1840B(これらは、いずれも、コンピュータシステム1110を使用して実装することができる)と、がネットワーク1850に結合されている。更に、ストレージサーバー1840Aは、直接的に装着されたストレージ装置1860A(1)〜1860A(N)を有するものとして示されており、且つ、ストレージサーバー1840Bも、直接的に装着されたストレージ装置1860B(1)〜1860B(N)を有するものとして示されている。又、ストレージサーバー1840A及び1840Bは、SANファブリック1870にも接続されているが、ストレージエリアネットワークに対する接続は、本開示の動作のために必須ではない。SANファブリック1870は、ストレージサーバー1840A及び1840Bによる、且つ、従って、ネットワーク1850を介したクライアントシステム1810、1820、及び1830による、ストレージ装置1880(1)〜1880(N)に対するアクセスをサポートしている。又、インテリジェントストレージアレイ1890は、SANファブリック1870を介してアクセス可能な特定のストレージ装置の一例として示されている。一実施形態においては、サーバー1840Aは、障害処理モジュール1899を含む。一実施形態においては、障害処理モジュール1899は、障害処理モジュール800に類似している。本システム及び方法は、様々な実装形態に適合していることを理解されたい。例えば、関連する情報及び命令の各部分は、様々なリソース内に分散させることができる。
図10は、本方法を実装するのに適した例示用のコンピュータシステム1110のブロックダイアグラムを示している。コンピュータシステム1110は、バス1177を含み、バス1177は、中央プロセッサ1114、システムメモリ1117(通常は、RAMであるが、ROM、フラッシュRAM、又はこれらに類似したものを含んでもよい)、入出力コントローラ1118、オーディオ出力インターフェイス1122を介したスピーカシステム1120などの外部オーディオ装置、ディスプレイアダプタ1126を介した表示画面1124などの外部装置、シリアルポート1128及び1130、(キーボードコントローラ1133に接続された)キーボード1132、ストレージインターフェイス1134、フロッピーディスク1138を受け入れるように動作可能なフロッピーディスクドライブ1137、Fiber Channelネットワーク1190と接続するように動作可能なHBA(Host Bus Adapter)インターフェイスカード1135A、SCSIバス1139に接続するように動作可能なHBA(Host Bus Adapter)インターフェイスカード11135B、及び光ディスク1142を受け入れるように動作可能な光ディスクドライブ1140などのコンピュータシステム1110の主要なサブシステムを相互接続している。又、(シリアルポート1128を介してバス1112に結合された)マウス1146又はその他のポイント及びクリック装置、(シリアルポート1130を介してバス1112に結合された)モデム1147、及び(バス1112に直接的に結合された)ネットワークインターフェイス1148も含まれている。
バス1177は、中央プロセッサ114とシステムメモリ1117の間のデータ通信を許容しており、システムメモリ1117は、上述のように、読出し専用メモリ(ROM)又はフラッシュメモリ(いずれも図示されてはいない)と、ランダムアクセスメモリ(RAM)(図示されてはいない)と、を含んでもよい。一実施形態においては、障害処理方法(例えば、障害処理方法280に類似したもの等)を実行するための命令は、コンピュータシステム1100の1つ又は複数のメモリ内(例えば、メモリの場所1119内)に保存されている。RAMは、一般に、その内部にオペレーティングシステム及びアプリケーションプログラムが読み込まれるメインメモリである。一実施形態においては、RAM1117は、(例えば、メモリの場所1119内に)障害処理モジュールを含む。一実施形態においては、メモリの場所1119内に保存される障害処理モジュールは、障害処理モジュール800に類似している。ROM又はフラッシュメモリは、その他のコードに加えて、周辺コンポーネントとのやり取りなどの基本的なハードウェア動作を制御するBIOS(Basic Input−Output System)を収容することができる。コンピュータシステム1110と共に存在するアプリケーションは、一般に、ハードディスクドライブ(例えば、固定ディスク1144)、光ドライブ(例えば、光ドライブ1140)、フロッピーディスクユニット1137、又はその他のストレージ媒体などのコンピュータ可読媒体上に保存され、且つ、これを介してアクセスされる。更には、アプリケーションは、ネットワークモデム1147又はインターフェイス248を介してアクセスされた際にアプリケーション及びデータ通信技術に従って変調される電子信号の形態を有することもできる。
コンピュータシステム1110のその他のストレージインターフェイスと同様に、ストレージインターフェイス1134も、固定ディスクドライブ1144などの情報の保存及び/又は検索のための標準的なコンピュータ可読媒体に対して接続することができる。固定ディスクドライブ1144は、コンピュータシステム1110の一部であってもよく、或いは、別個のものであってもよく、且つ、その他のインターフェイスシステムを通じてアクセスされてもよい。モデム1147は、電話リンクを介してリモートサーバーに対する、或いは、ISP(Internet Service Provider)を介してインターネットに対する、直接的な接続を提供してもよい。ネットワークインターフェイス1148は、POP(Point Of Presence)を介したインターネットに対する直接的なリンクを介してリモードサーバーに対する直接的な接続を提供してもよい。ネットワークインターフェイス1148は、デジタルセルラー電話接続、CDPD(Cellular Digital Packet Data)接続、デジタル衛星データ接続、又はこれらに類似したものを含む無線技法を使用することにより、このような接続を提供してもよい。
多くのその他の装置又はサブシステム(図示されてはいない)を類似の方式によって接続してもよい(例えば、文書スキャナ、デジタルカメラなど)。逆に、本開示を実施するために、図10に示されている装置のすべてが存在する必要があるというわけではない。装置及びサブシステムは、図10に示されているものとは異なる方法によって相互接続することもできる。本開示を実装するためのコードは、システムメモリ1117、固定ディスク1144、光ディスク1142、又はフロッピーディスク1138のうちの1つ又は複数のものなどのコンピュータ可読ストレージ媒体内に保存することができる。コンピュータシステム1110上に提供されるオペレーティングシステムは、MS−DOS(登録商標)、MS−WINDOWS(登録商標)、OS/2(登録商標)、UNIX(登録商標)、Linux(登録商標)、又はその他の既知のオペレーティングシステムであってもよい。
更には、本明細書に開示されている信号との関連において、当業者は、信号は、第1ブロックから第2ブロックに直接的に送信することも可能であり、或いは、信号は、ブロック間において変更(例えば、増幅、減衰、遅延、ラッチング、バッファリング、反転、フィルタリング、又はその他の方法によって変更)することもできることを認識するであろう。上述の実施形態の信号は、ブロック間において送信されることを特徴としているが、本開示のその他の実施形態は、信号の情報的及び/又は機能的側面がブロック間において送信される限り、これらの直接的に送信される信号の代わりに、変更された信号を含んでもよい。第2ブロックにおいて入力される信号は、ある程度、関連する回路の物理的な制限に起因して第1ブロックから出力される第1信号から導出された第2信号として概念化することができる(例えば、不可避に多少の減衰及び遅延が存在することになる)。従って、本明細書において使用されている第1信号から導出された第2信号は、第1信号を、或いは、回路の制限に起因した又は第1信号の情報的且つ/又は最終的な機能的側面を変更しないその他の回路要素を通過することに起因した第1信号に対する任意の変更を、含む。
コンピュータシステム1110を参照すれば、モデム1147、ネットワークインターフェイス1148、又はなんらかのその他の方法を使用することにより、クライアントコンピュータシステム1810、1820、及び1830のそれぞれからのネットワーク1850に対する接続を提供することができる。クライアントシステム1810、1820、及び1830は、例えば、ウェブブラウザ又はその他のクライアントソフトウェア(図示されてはいない)を使用することにより、ストレージサーバー1840A又は1840B上の情報にアクセスすることができる。このようなクライアントにより、クライアントシステム1810、1820、及び1830は、ストレージサーバー1840A又は1840B又はストレージ装置1860A(1)〜1860A(N)、1860B(1)〜1860B(N)、1880(1)〜1880(N)のうちの1つ又はインテリジェントストレージアレイ1890によってホスティングされたデータにアクセスすることができる。尚、図9は、データを交換するためのインターネットなどのネットワークの使用を示しているが、本開示は、インターネット又は任意の特定のネットワークに基づいた環境に限定されるものではない。
一実施形態においては、新しいシステム及び方法の利用の検出は、以下のステップによって検出することができる。別の製品を使用することにより、マルチノード(例えば、4つのノード)の共有ストレージクラスタを生成する。次いで、RAID1装置を生成し、且つ、すべてのノード上においてI/O負荷を起動する。1つのノードからすべてのストレージを接続解除するようにし、且つ、装置のミラー及びミラーの一貫性の状態を観察する。いずれのミラーも、切り離されたものとマーキングされず、且つ、ミラーの内容が一貫性を有している場合には、それ自体が、本システム及び方法の使用を示唆することになろう。
従って、本システム及び方法は、効率的且つ効果的なデータ保存及び障害又はエラー処理を円滑に実行する。本システム及び方法は、ミラーの同期を修復しつつ、不適切な切離しが低減された状態において、ミラーリソースの維持を円滑に実行することができる。これらの障害処理システム及び方法は、共有ストレージクラスタ内の装置のミラーに影響を及ぼすローカルストレージ接続問題及び障害の処理の改善を円滑に実行することができる。又、本システム及び方法は、ミラーの一貫性の喪失の解消をも円滑に実行する。
詳述した説明の各部分は、方法の観点において提示及び説明されている。ステップ及びそれらの順序が、本方法の動作を説明する本明細書の図面に開示されているが、それらのステップ及び順序は、例示を目的としたものである。実施形態は、様々なその他のステップ又は本明細書の図面のフローチャートに記述されているステップの変形を本明細書に図示及び記述されているもの以外の順序において実行することに非常に適している。詳述した説明のいくつかの部分は、手順、ステップ、論理ブロック、処理、及びコンピュータメモリ内において実行することができるデータビットに対する操作のその他のシンボリックな表現の観点において提示されている。これらの説明及び表現は、データ処理分野の当業者が自身の研究内容を当業者に対して最も効果的に伝達するために使用する手段である。手順、コンピュータによって実行されるステップ、論理ブロック、プロセスなどは、ここでは、且つ、一般には、望ましい結果をもたらすステップ又は命令の自己矛盾のないシーケンスであるものと考えられる。ステップは、物理量の物理的な操作を含む。通常、必須ではないが、これらの量は、コンピュータシステム内において、保存、転送、組合せ、比較、及びその他の方法によって操作される電気的信号、磁気的信号、光学的信号、又は量子信号の形態を有する。しばしば、主には、一般的な使用法を理由として、これらの信号を、ビット、値、要素、シンボル、文字、期間、数値、又はこれらに類似したものと呼称することが便利であることが証明されている。
但し、これらの及び類似の用語は、いずれも、適切な物理量との関連付けを要すると共に、これらの量に対して適用される便利なラベルに過ぎないことに留意されたい。以下の説明から明らかとなるように、特記されていない限り、全体を通じて、「処理」、「演算」、「算出」、「判定」、「表示」、「アクセス」、「書込み」、「包含」、「保存」、「送信」、「横断」、「関連付け」、「識別」、又はこれらに類似したものなどの用語を利用した説明は、コンピュータシステムのレジスタ及びメモリ内における物理的(電子的)な量として表されたデータを操作し、且つ、コンピュータシステムメモリ又はレジスタ又はその他のこのような情報の保存、送信、又は表示装置内における物理量として同様に表されたその他のデータに変換するコンピュータシステム又は類似の電子演算装置の動作及びプロセスを意味していることを理解されたい。
演算装置は、少なくともなんらかの形態のコンピュータ可読媒体を含むことができる。コンピュータ可読媒体は、演算装置がアクセスすることができる任意の利用可能な媒体であってよい。一例として、且つ、限定としてではなく、コンピュータ可読媒体は、コンピュータストレージ媒体を有してもよい。コンピュータストレージ媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、又はその他のデータなどの情報の保存のための方法又は技術によって実装された揮発性及び不揮発性の着脱自在及び非着脱自在の媒体を含む。コンピュータストレージ媒体は、限定を伴うことなしに、RAM、ROM、EEPROM、フラッシュメモリ、又はその他のメモリ技術、CD−ROM、DVD(Digital Versatile Disk)、又はその他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、又はその他の磁気ストレージ装置、或いは、望ましい情報を保存するために使用可能であると共に演算装置がアクセスすることができる任意のその他の媒体を含む。通信媒体は、通常、搬送波又はその他の搬送メカニズムを実施し、且つ、任意の情報供給媒体を含む。一例として、且つ、限定を伴うことなしに、通信媒体は、有線ネットワーク又は直接有線接続などの有線媒体と、音響、RF、赤外線、その他の無線媒体、及び上述のもののいずれかの組合せなどの無線媒体と、を含む。
いくつかの実施形態は、1つ又は複数のコンピュータ又はその他の装置によって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的な環境において説明されよう。一般に、プログラムモジュールは、特定のタスクを実行するか又は特定の抽象的データタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。プログラムモジュールの機能は、様々な実施形態において、必要に応じて、組み合わせてもよく、或いは、分散させてもよい。
特定の実施形態に関する以上の説明は、例示及び説明を目的として提示したものである。これらは、本発明のすべてを網羅し、或いは、本発明を開示された形態そのままに限定することを意図したものではなく、且つ、上述の教示内容に鑑み、多数の変更及び変形が可能である。実施形態は、原理及びその実際的な用途を最良に説明することにより、想定される特定の使用法に適した様々な変更を伴って当業者が本発明及び様々な実施形態を最良に利用することができように、選択され、且つ、記述されている。範囲は、添付の請求項及びその均等物によって規定されるものと解釈されたい。

Claims (14)

  1. アプリケーションと前記アプリケーションからの情報の1以上のミラーとがネットワークを介して情報を通信可能に接続されたシステムにおいてサーバーにより実行される障害処理方法であって、
    エラーが前記ミラーにおける媒体エラーであるのか又は前記ネットワークにおける接続エラーであるのかを判定するステップを含むエラータイプ検出プロセスを実行するステップと、
    切離し判定プロセスを実行して適切な切離しシナリオを確立するステップであって、前記適切な切離しシナリオは、前記接続エラーがすべてのミラーに関連する場合に、いずれのミラーをも他のミラーから切り離さないステップを含む、ステップと、
    障害を前記アプリケーションに報告するステップと、
    を有する方法。
  2. 前記切離し判定プロセスは、前記ミラーと前記情報を通信可能に接続されるノードが情報を一のミラーから読み取って他のミラーに書き込む読取り−書戻しプロセスの結果であるエラーとミラーとの関連に従ってミラーを切り離す請求項1に記載の障害処理方法。
  3. 前記切離し判定プロセスは、前記ミラーに対する接続状況を報告するように一のノードが他のノードに要求する接続状態問合せを含み、且つ、ミラーは、前記接続状態問合せの結果であるエラーとミラーとの関連に従って切り離される請求項1に記載の障害処理方法。
  4. 前記接続状態問合せは、ノードのそれぞれへの接続問合せを含む請求項3に記載の障害処理方法。
  5. 読取り−書戻しプロセスにより、一貫性及び同期が前記ミラー間において維持される請求項1に記載の障害処理方法。
  6. 所定数以上のノードにアクセス可能ではないミラーは、切り離される請求項1に記載の障害処理方法。
  7. 前記エラータイプ検出プロセスを実行する前記ステップは、前記エラーが前記ミラーのサブセット又はすべてに関連するかどうかを分析するステップと、前記エラーが前記ミラーのすべてに関連する場合に、前記ミラーのいずれかが媒体エラーを有しているかどうかを判定するステップと、を含み、
    切離し判定プロセスを実行する前記ステップは、切離しのために、媒体エラーを有するミラーのサブセット内のミラーと、前記ミラーのすべてが媒体エラーを有している場合1つを除いたすべての前記ミラーと、を識別するステップを含む請求項1に記載の障害処理方法。
  8. マスタのロールを第1ノードから第2ノードに転送し、スレーブのロールを前記第2ノードから前記第1ノードに転送するステップを更に有し、この場合に、前記第1ノードは、前記ミラーへのアクセス喪失ており、且つ、前記第2ノードは、前記ミラーへのアクセスを有する請求項1に記載の障害処理方法。
  9. その上部に保存された状態において、サーバーによって実行された際に、前記サーバーに方法を実行させるコンピュータ実行可能命令を有するコンピュータ可読ストレージ媒体であって、前記方法は、アプリケーションと前記アプリケーションからの情報の1以上のミラーとがネットワークを介して情報を通信可能に接続されたシステムにおいて実行され、
    前記方法は、
    エラーが前記ミラーにおける媒体エラーであるのか又は前記ネットワークにおける接続エラーであるのかを判定するステップを含むエラータイプ検出プロセスを実行するステップと、
    切離し判定プロセスを実行して適切な切離しシナリオを確立するステップであって、前記適切な切離しシナリオは、前記接続エラーがすべてのミラーに関連する場合に、いずれのミラーをも他のミラーから切り離さないステップを含む、ステップと、
    障害を前記アプリケーションに報告するステップと、
    を有する、媒体。
  10. 前記エラータイプ検出プロセスを実行する前記ステップは、前記エラーが前記ミラーのサブセット又はすべてに関連するかどうかを分析するステップと、前記エラーが前記ミラーのすべてに関連する場合に、前記ミラーのいずれかが媒体エラーを有しているかどうかを判定するステップと、を含み、
    切離し判定プロセスを実行する前記ステップは、切離しのために、媒体エラーを有しているミラーのサブセット内のミラーと、前記ミラーのすべてが媒体エラーを有している場合1つを除いたすべての前記ミラーと、を識別するステップを含む請求項9に記載のコンピュータ可読ストレージ媒体。
  11. マスタのロールを第1ノードから第2ノードに転送し、スレーブのロールを前記第2ノードから前記第1ノードに転送するステップを更に有し、この場合に、前記第1ノードは、前記ミラーへのアクセス喪失ており、且つ、前記第2ノードは、前記ミラーへのアクセスを有する請求項9に記載のコンピュータ可読ストレージ媒体。
  12. コンピュータ可読ストレージ媒体に結合されたプロセッサを有し、且つ、コンピュータ可読コードを実行するコンピュータシステムであって、
    前記コンピュータ可読コードは、アプリケーションと前記アプリケーションからの情報の1以上のミラーとがネットワークを介して情報を通信可能に接続されたシステムにおいて実行され、
    前記コンピュータ可読コードは、
    エラーが前記ミラーにおける媒体エラーであるのか又は前記ネットワークにおける接続エラーであるのかを判定するステップを含むエラータイプ検出プロセスを実行するステップと、
    切離し判定プロセスを実行して適切な切離しシナリオを確立するステップであって、前記適切な切離しシナリオは、前記接続エラーがすべてのミラーに関連する場合に、いずれのミラーをも他のミラーから切り離さないステップを含む、ステップと、
    障害を前記アプリケーションに報告するステップと、
    を含む動作を前記コンピュータシステムに実行させる、コンピュータシステム。
  13. 前記エラータイプ検出プロセスを実行する前記ステップは、前記エラーが前記ミラーのサブセット又はすべてに関連するかどうかを分析するステップと、前記エラーが前記ミラーのすべてに関連する場合に、前記ミラーのいずれかが媒体エラーを有しているかどうかを判定するステップと、を含み、
    切離し判定プロセスを実行する前記ステップは、切離しのために、媒体エラーを有するミラーのサブセット内のミラーと、前記ミラーのすべてが媒体エラーを有している場合1つを除いたすべての前記ミラーと、を識別するステップと、を含む請求項12に記載のコンピュータシステム。
  14. マスタのロールを第1ノードから第2ノードに転送し、スレーブのロールを前記第2ノードから前記第1ノードに転送するステップを更に有し、この場合に、前記第1ノードは、前記ミラーへのアクセス喪失ており、且つ、前記第2ノードは、前記ミラーへのアクセスを有する請求項12に記載のコンピュータシステム。
JP2013529379A 2010-09-17 2011-09-16 障害処理方法、コンピュータ可読ストレージ媒体およびコンピュータシステム Active JP5922127B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/885,418 2010-09-17
US12/885,418 US8533539B2 (en) 2010-09-17 2010-09-17 Fault handling systems and methods
PCT/US2011/052025 WO2012037514A1 (en) 2010-09-17 2011-09-16 Fault handling systems and methods

Publications (2)

Publication Number Publication Date
JP2013538409A JP2013538409A (ja) 2013-10-10
JP5922127B2 true JP5922127B2 (ja) 2016-05-24

Family

ID=44720153

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013529379A Active JP5922127B2 (ja) 2010-09-17 2011-09-16 障害処理方法、コンピュータ可読ストレージ媒体およびコンピュータシステム

Country Status (5)

Country Link
US (1) US8533539B2 (ja)
EP (1) EP2616938B1 (ja)
JP (1) JP5922127B2 (ja)
CN (1) CN103180831B (ja)
WO (1) WO2012037514A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8930762B1 (en) * 2012-12-18 2015-01-06 Symantec Corporation Optimal tracking of cluster-wide shared storage connectivity for graceful error handling
US9307011B2 (en) * 2013-04-01 2016-04-05 Netapp, Inc. Synchronous mirroring of NVLog to multiple destinations (architecture level)
CN105353984B (zh) * 2015-11-05 2019-01-11 北京飞杰信息技术有限公司 基于软磁盘阵列的高可用集群控制器、控制方法及***

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3063666B2 (ja) * 1997-03-31 2000-07-12 日本電気株式会社 アレイディスク制御装置
US6681339B2 (en) * 2001-01-16 2004-01-20 International Business Machines Corporation System and method for efficient failover/failback techniques for fault-tolerant data storage system
US6971049B2 (en) * 2002-05-23 2005-11-29 International Business Machines Corporation Method and apparatus for detecting and isolating failures in equipment connected to a data bus
US7120824B2 (en) * 2003-05-09 2006-10-10 International Business Machines Corporation Method, apparatus and program storage device for maintaining data consistency and cache coherency during communications failures between nodes in a remote mirror pair
US7028156B1 (en) * 2003-07-01 2006-04-11 Veritas Operating Corporation Use of read data tracking and caching to recover from data corruption
JP4401895B2 (ja) * 2004-08-09 2010-01-20 株式会社日立製作所 計算機システム、計算機及びそのプログラム。
US7428665B2 (en) 2004-11-12 2008-09-23 Lsi Corporation Methods and structure for detection and handling of catastrophic SCSI errors
JP4387968B2 (ja) * 2005-03-28 2009-12-24 富士通株式会社 障害検出装置および障害検出方法
JP4475598B2 (ja) 2007-06-26 2010-06-09 株式会社日立製作所 ストレージシステム及びストレージシステムの制御方法
JP4542163B2 (ja) * 2008-02-27 2010-09-08 富士通株式会社 ディスクアレイ装置、ディスクアレイ制御方法及びディスクアレイ制御装置
JP4987962B2 (ja) * 2008-02-29 2012-08-01 株式会社東芝 情報処理装置及び不揮発性半導体メモリドライブ
JP5222617B2 (ja) * 2008-04-28 2013-06-26 株式会社日立製作所 情報システム及びi/o処理方法
JP4473325B2 (ja) 2008-05-23 2010-06-02 富士通株式会社 管理装置、ストレージシステム、記憶装置管理方法
TW201022930A (en) * 2008-11-20 2010-06-16 Ibm Method to improve recovery time of mirrored disks when read stability is in doubt

Also Published As

Publication number Publication date
US8533539B2 (en) 2013-09-10
CN103180831B (zh) 2017-07-11
CN103180831A (zh) 2013-06-26
US20120072766A1 (en) 2012-03-22
WO2012037514A1 (en) 2012-03-22
EP2616938A1 (en) 2013-07-24
JP2013538409A (ja) 2013-10-10
EP2616938B1 (en) 2018-08-15

Similar Documents

Publication Publication Date Title
US11163653B2 (en) Storage cluster failure detection
US8566635B2 (en) Methods and systems for improved storage replication management and service continuance in a computing enterprise
US8910172B2 (en) Application resource switchover systems and methods
US10108367B2 (en) Method for a source storage device sending data to a backup storage device for storage, and storage device
JP6586465B2 (ja) ストレージ・クラスタ要素のモニタリングのための方法、装置、記憶媒体及びコンピュータ・プログラム
US8266474B2 (en) Fast cluster failure detection
US7272674B1 (en) System and method for storage device active path coordination among hosts
WO2021027481A1 (zh) 故障处理方法、装置、计算机设备、存储介质及存储***
JP5493452B2 (ja) 復旧サーバ、復旧処理プログラム及び計算機システム
JP6476350B2 (ja) コンピューティングノード間の切り替え動作を実行する方法、装置、及び媒体
JP2007257180A (ja) ネットワークノード、スイッチ及びネットワーク障害回復方法
JP2007164769A (ja) ミラーリングされたシステム内の障害を管理するための方法、システム、およびプログラム(ミラーリングされたシステム内の障害の管理)
US9645859B1 (en) Performing I/O quiesce and drain operations in multi-node distributed systems
US20120005164A1 (en) Cluster configuration systems and methods
US11184435B2 (en) Message transmission method and apparatus in cluster file system
US8683258B2 (en) Fast I/O failure detection and cluster wide failover
JP6183931B2 (ja) クラスタシステム、サーバ装置、クラスタシステムの管理方法、及びプログラム。
JP5922127B2 (ja) 障害処理方法、コンピュータ可読ストレージ媒体およびコンピュータシステム
US9218313B2 (en) Shared-bandwidth multiple target remote copy
US7783931B2 (en) Alternate communication path between ESSNI server and CEC
US20060143502A1 (en) System and method for managing failures in a redundant memory subsystem
US8533331B1 (en) Method and apparatus for preventing concurrency violation among resources
US11947431B1 (en) Replication data facility failure detection and failover automation
US10498624B2 (en) Systems and methods for adaptive router failover in Linux-based computing systems
CN114048057A (zh) 超融合***的测试方法及装置、存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130516

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20130717

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140618

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150827

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160413

R150 Certificate of patent or registration of utility model

Ref document number: 5922127

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250