JP2009543216A - コンピュータ・ストレージ・システムの制御のための方法およびコンピュータ・プログラム - Google Patents

コンピュータ・ストレージ・システムの制御のための方法およびコンピュータ・プログラム Download PDF

Info

Publication number
JP2009543216A
JP2009543216A JP2009518408A JP2009518408A JP2009543216A JP 2009543216 A JP2009543216 A JP 2009543216A JP 2009518408 A JP2009518408 A JP 2009518408A JP 2009518408 A JP2009518408 A JP 2009518408A JP 2009543216 A JP2009543216 A JP 2009543216A
Authority
JP
Japan
Prior art keywords
change
replication
request
availability
time
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.)
Granted
Application number
JP2009518408A
Other languages
English (en)
Other versions
JP5090447B2 (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2009543216A publication Critical patent/JP2009543216A/ja
Application granted granted Critical
Publication of JP5090447B2 publication Critical patent/JP5090447B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • 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
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1004Adaptive RAID, i.e. RAID system adapts to changing circumstances, e.g. RAID1 becomes RAID5 as disks fill up

Landscapes

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

Abstract

【課題】異種のストレージ・コントローラのグループにわたって、目標ベースの可用性および変更の管理を処理する。
【解決手段】ストレージ・コントローラへのストレージ・ボリュームの割り振りおよび配置、ならびに、データ可用性目標を達成するために必要なデータ冗長性の程度を決定するために、確率的および決定論的方法が採用される。確率的方法は、コントローラの可用性の過去の観察、およびオペレータの確信、ならびに、将来の可用性の確率的推定を考案する際のストレージ・コントローラ構成の状態を、考慮に入れることが可能である。
【選択図】 図1

Description

本発明は、一般に情報技術に関し、より具体的にはコンピュータ・ストレージ・システムの制御に関する。
複数の直接アクセス・ストレージ・デバイス(DASD)にまたがってデータセットの容量、可用性、および性能をスケーリングする必要性が、1980年代初めの、RAID(Redundant Array of Inexpensive(またはIndependent) Disk)技術の開発、およびRAIDベースの論理ディスク抽象化を提供するストレージ・コントローラの実装につながった。これらのストレージ・コントローラは、通常、周辺I/O相互接続を介して多数のDASDに接続されたコンピュータ・サーバである。これらは、DASDのグループを組み合わせることによってRAIDアレイを形成し、その後、これらのRAIDアレイにわたって論理ディスク抽象化を作成およびエクスポートする。RAID技術は、複数のDASDにまたがってデータを複製すること、および、障害時に失われたデータを予備DASD上でトランスペアレント(透過性)に再構築することにより、DASD障害によるデータ損失を防止する。(コストに直接影響を与える)ストレージ・コントローラ全体の望ましい可用性の程度に応じて、ストレージ・ベンダは、ストレージ・コントローラを設計する際に使用される構成要素の信頼性および冗長性に関するいくつかのオプションを有する。ストレージ・コントローラによって提供される全体の可用性レベルにとっては、ハードウェア構成要素の信頼性に加えて、障害回復アクションを実施するソフトウェアの品質が重要である。RAID技術は、格納データセットの可用性、潜在的には性能を向上させるために、データ冗長性を使用するための多くの手法のうちの1つである。データ冗長性は、複数の形を取ることができる。実施の際の抽象化のレベルに応じて、ブロック・レベル冗長性とボリューム・レベル冗長性とを区別することができる。ブロック・レベル冗長性は、ブロック・ミラーリング(RAIDレベル5)、パリティ・ベース保護(RAIDレベル10)、または消去コーディングなどの技法を使用して実行可能である。2004年3月カリフォルニア州サンフランシスコでの04年度ネットワーク化システムの設計および実施に関するUSENIX会議の議事録におけるR.Bhagwan等による「Total Recall:System Support for Automated Availability Management」を参照されたい。
ブロック・レベル冗長性は、ストレージ・ボリューム抽象化の下で動作するため、その抽象化の上に階層化されたシステム・ソフトウェアに対してトランスペアレントである。これに対して、ストレージ・ボリュームの1つまたは複数の正確な複製を維持することを含むボリューム・レベルの複製は、ストレージ・ボリューム抽象化の上に階層化されたシステム・ソフトウェアによって可視である(したがって管理されなければならない)。ボリューム・レベルの複製を実行するための既知の技術には、インターナショナル・ビジネス・マシンズ・コーポレーション社からの、大容量データ・ストレージの分野で使用するためのデータ・ウェアハウジング用のFlashCopy(R)コンピュータ・ハードウェアおよびソフトウェア、ならびに、ピアツーピア・リモート・コピー(PPRC)が含まれる。
大規模データ・センタにおける手動の可用性管理は、エラーを起こしやすく高価であるため、実用的なソリューションではない。DASDグループ上に増加した可用性レベルを提供するためにデータ冗長性を採用する、RAID(D.Patterson等による「A Case for Redundant Arrays of Inexpensive Disks(RAID)」、ACM SIGMOD議事録、シカゴ、1988年6月、を参照のこと)システムは、大抵は反応的に動作し、通常は目的指向ではない。また、単一のコントローラから複数のストレージ・コントローラのシステムへと容易に延在することができない。Keller等の「The CHAMPS System: Change Management with Planning and Scheduling」、IBM技術報告書22882、2003年8月25日に記載されている、プランニングおよびスケジューリングを使用する変更管理(CHAMPS)システムは、分散システムにおける所与の変更(たとえば構成要素のソフトウェアのアップグレード)が他のシステム構成要素にどのように影響を与えるか、および、並列処理の機会を利用することによってこうした変更をどのように効率的に実行するか、に関係するものである。CHAMPSは、構成要素の依存関係を追跡し、タスク・グラフ内で並列処理を活用する。CHAMPSは当分野での実質的な進歩を表す一方で、サービス可用性の考慮に関して、および分散ストレージ・システムにおけるデータ可用性に関しては、限界がある場合がある。
複数の異種(heterogeneous)ストレージ・コントローラを含む環境では、自動化可用性管理システムに関するこれまでの研究はほとんどない。階層RAID(HiRAID)システム(2001年8月の分散コンピューティング原理に関する第20回ACMシンポジウム(PODC 2001)議事録におけるS.H.Baek等の「Reliability and Performance of Hierarchical RAID with Multiple Controllers」を参照)では、RAIDコントローラ上でのRAID抽象化の階層化、および、RAID技法を使用した単なる障害のマスキングによる変更の処理を提案している。HiRAIDは、最適な目的指向ではない可能性があり、DASD障害にのみ(すなわち、あたかもすべてのストレージ・コントローラに接続されたDASDが、単一のDASDプールの一部であるかのように)焦点を合わせている可能性がある。これは、ストレージ・コントローラ自体の追加の複雑性および異種性を考慮していない可能性があり、したがって何らかの環境では適切でない可能性がある。
他の手法も、ストレージ・コントローラの可用性を適切に特徴付けていない可能性がある。たとえば、トータルリコール(Total Recall)(2004年3月、カリフォルニア州サンフランシスコでの04年度ネットワーク化システムの設計および実施に関するUSENIX会議の声明におけるR.Bhagwan等による「Total Recall:System Support for Automated Availability Management」を参照のこと)は、単なる過去の動作に基づいてピアツーピア・ストレージ・ノード可用性を特徴付け、すべてのノードをそれらの可用性プロファイルに関して同一として扱うため、エンタープライズ環境および一般に異種のストレージ・コントローラではなく、単純なストレージ・ノード(たとえばデスクトップPC)および大規模な「チャーン(churn)」、すなわち、いつでもサービスから出たりサービスに戻ったりしている多数のノードによって特徴付けられるインターネット環境に、より適切である。他の関係手法では、アーカイブ・リポジトリの設計に決定分析理論を適用する。A.CrespoおよびH.Garcia−Molinaによる、「Cost−Driven Design for Archival Repositories」、デジタル・ライブラリに関する第1回ACM/IEEE−CS合同会議議事録、バージニア州ロアノーク、2001年を、参照されたい。これは、いくつかの可能な構成間で代替を評価するため、ならびに、信頼性およびコストに関して最良の代替を選択するための、シミュレーション・ベースの設計フレームワークである。しかしながら、このフレームワーク内でのこれまでの研究は、大規模ストレージ・システムにおける異種性および複雑性の問題、ならびにストレージ・コントローラ・セットへのストレージ・ボリュームの配置の問題に対処していない。
IBMのVolume Performance Advisor(VPA)などの既存の提供システムは、主にボリューム割り振りを推奨する場合に、容量および性能に関する考慮すべき点を重視している。VPAは当分野での実質的な進歩を表しているが、可用性のための適切な措置は有していない可能性がある。
2004年3月、カリフォルニア州サンフランシスコでの04年度ネットワーク化システムの設計および実施に関するUSENIX会議の議事録におけるR.Bhagwan等による「Total Recall:System Support for Automated Availability Management」 D.Patterson等による「A Case for Redundant Arrays of Inexpensive Disks(RAID)」、ACM SIGMOD議事録、シカゴ、1988年6月 Keller等の「The CHAMPS System: Change Management with Planning and Scheduling」、IBM技術報告書22882、2003年8月25日 2001年8月の分散コンピューティング原理に関する第20回ACMシンポジウム(PODC 2001)議事録におけるS.H.Baek等の「Reliability and Performance of Hierarchical RAID with Multiple Controllers」 A.CrespoおよびH.Garcia−Molinaによる、「Cost−Driven Design for Archival Repositories」、デジタル・ライブラリに関する第1回ACM/IEEE−CS合同会議議事録、バージニア州ロアノーク、2001年 1987年6月の、信頼性および分散データベースに関する第6回国際会議の議事録における、J.Grayによる「Why do Computers Stop and What Can We Do About It?」
したがって、前述の手法における制限を克服することが望まれる。
本発明の諸原理は、コンピュータ・ストレージ・システムを制御するための技法を提供する。一態様では、例示的方法が、システムに関連する決定論的構成要素の可用性情報を取得するステップと、システムに関連する確率的構成要素の可用性情報を取得するステップと、決定論的構成要素の可用性情報および確率的構成要素の可用性情報の両方に基づいて、可用性目標の違反(violation)をチェックするステップと、を含む。
他の態様では、例示的方法が、変更に関する要求を取得するステップと、変更に対処するために複製に関連付けられた推定複製時間を取得するステップと、変更に関する要求を評価する際に推定複製時間を考慮に入れるステップと、を含む。この方法は、コンピュータで実施可能である。この方法は、有利に組み合わせることが可能である。
本発明の1つまたは複数の実施形態は、示された方法ステップを実行するためのコンピュータ使用可能プログラム・コードを備えたコンピュータ使用可能媒体を含む、コンピュータ・プログラムの形で実施可能である。さらに、本発明の1つまたは複数の実施形態は、メモリと、メモリに結合され、例示的方法ステップを実行するように動作可能な、少なくとも1つのプロセッサとを含む、装置の形で実施可能である。
本発明の1つまたは複数の実施形態は、たとえば、標準的な保守あるいは障害またはその両方のイベントに直面するエンタープライズ・データ・センタにおける可用性および性能目標の自動管理、ITインフラストラクチャ・ライフサイクル管理の標準部分であるストレージの統合およびマイグレーション活動の自動管理、などの、1つまたは複数の有利な技術的効果を提供することができる。
本発明のこれらおよび他の目的、特徴、および利点は、添付の図面と共にその例示的実施形態の以下の詳細な説明を読むことから明らかとなろう。
図1は、本発明の態様に従った、コンピュータ・ストレージ・システムを制御するための例示的方法ステップを備える流れ図100を示す。この方法はコンピュータが実施可能である。ステップ102は、たとえば、変更の要求RFCに関連付けられたカレンダ時間tおよび期間Dtなどの、システムに関連する決定論的構成要素の可用性情報(availability information)を取得することを含む。変更の要求RFC(t、Dt)は、ダウンタイム・スケジュールに追加することができる。ステップ104は、たとえば、推定コントローラ障害確率などの、システムに関連する確率的構成要素の可用性情報を取得することを含む。意思決定ブロック106では、決定論的構成要素の可用性情報および確率的構成要素の可用性情報の両方に基づいて、可用性目標の違反(violation)に関するチェックが実行される。
ブロック106の「NO」分岐で示されるように、追加のステップには、可用性目標の違反がないことを示すブロック106のチェックに応答して、現在の状況を維持することが含まれる。ブロック106の「YES」分岐の場合、追加ステップ108には、可用性目標の違反を示すブロック106のチェックに応答して、複製パラメータを決定することが含まれる。複製パラメータは、少なくともどのように複製するかおよびどこに複製するかを含むことができる。
図に示されるように、システムに関連する決定論的構成要素の可用性情報を取得することは、変更の要求を取得することを含むことができる。ステップ110は、推定複製時間を取得することを含むことができる。意思決定ブロック112を使用して、変更の要求を評価する際に推定複製時間を考慮に入れることができる。具体的に言えば、ブロック112では、変更の要求に対処するために、複製に十分な時間が使用可能であるかどうかを判定することができる。ブロック114では、当該判定ステップが十分な時間が使用可能でないことを示すことに応答して、変更の要求を拒否すること、あるいは変更の要求に対処するための代替プランを検索すること、またはその両方が実行可能である。
ブロック116では、判定ステップ112が実際に十分な時間が使用可能であることを示すことに応答して、変更プランを作成することができる。この変更プランは、たとえば(i)複製の場所、関係、およびタイミングを示す準備情報、(ii)複製の性能を示す実行情報、(iii)変更の要求に関連付けられたアクションの時間までに、必要なフェイルオーバ・アクションをどのように実行するかを示す、フェイルオーバ検出情報、(iv)複製関係の保守と破棄を示す完了情報、および、(v)変更の要求に関連付けられた他のアクションの時間よりも後に、必要なフェイルバック・アクションをどのように実行するかを示す情報、のうちの1つまたは複数を含むことができる。
たとえば、(iii)に関して、このプランは、障害または保守アクションに先立って、またはその時点で、必要なフェイルオーバ・アクション、すなわち、機能しているストレージ・コントローラ上でのオリジナルのストレージ・ボリュームからそれらの複製への切り替えを、どのように実行するかの詳細を提供することができる。(v)に関して、このプランは、保守アクションの回復または完了の時点で、またはその後に、必要なフェイルバック・アクション、すなわち、複製からオリジナル・ボリュームへの切り替えを、どのように実行するかの詳細を提供することができる。
複製時間を考慮に入れるという概念は、確率的情報および決定論的情報の両方を使用する概念とは別に、またはそれらと共に、実施することが可能である。したがって、1つまたは複数の例示的実施形態では、発明の方法は、ブロック102のような変更の要求を取得するステップと、ブロック110のような変更に対処するために複製に関連付けられた推定複製時間を取得するステップと、変更の要求を評価する際に推定複製時間を考慮に入れるステップとを含むことができる。後者は、たとえばステップ112、114、および116のうちの1つまたは複数を含むことができる。本発明では、その要件(容量、または性能、または可用性のうちの、いずれかに関して)が個々のストレージ・コントローラの機能を超えるため、複数のストレージ・コントローラにわたって拡張(spread)させなければならないデータセットに、焦点を合わせている。
複数のストレージ・コントローラを備えるストレージ・システム(しばしば「スケール・アウト」と呼ばれるアーキテクチャ)では、ストレージ・コントローラのダウンタイムに直面した場合、所望なデータセット可用性レベルを維持する問題に直面することを理解されよう。ダウンタイムは、スケジューリングされた保守アクション、あるいは1つまたは複数のストレージ・コントローラの予期せぬ障害の、いずれかによって、引き起こされる可能性がある。RAID技術の利点が、複数のDASDのグループから複数のストレージ・コントローラのグループへと簡単に拡張できない理由の1つは、ストレージ・コントローラが、個々のDASDよりもかなり複雑なデバイスであり、一般に、DASDに比べてより頻繁に、および(構成要素の障害に加えて)より多様な理由で、ダウンタイムを示す傾向があることであって、個々のストレージ・コントローラの複雑性に加えて、データ・センタ内のストレージ・コントローラのグループは、通常、RAIDアレイ内のDASDグループよりも異種性がある。この複雑性および異種性の程度を考えると、所与のデータセットに対して正しいデータ複製の量を決定すること(どれだけのデータ複製を作成するか、およびそれらをどのストレージ・コントローラに配置するか)、ならびに、ストレージ・コントローラの非可用性にどのように反応するか、の問題は、これらの要素(すなわちストレージ・コントローラの複雑性、異種性)を考慮に入れるプロセスにおいて、1つまたは複数の発明の実施形態によって、効果的に対処することができる。
本発明の1つまたは複数の実施形態は、静的(確率的)方法および決定論的方法の組み合わせを使用して、個々のストレージ・コントローラの可用性を動的および継続的に決定することによって、データセットの可用性レベルを維持するための、事前対応型(proactive)ソリューションを提供することができる。個々のコントローラのこうした可用性特徴を考えると、1つまたは複数の例示的発明方法は、可能性のある、または予想される変更の影響を定期的に分析し、データセットの可用性目標を維持するための変更プランを考案することができる。これは通常、RAIDなどの既存の反応型(reative)高可用性システムと競合することなく、実施することが可能であり、実際に、1つまたは複数の発明実施形態は、通常は個々のストレージ・コントローラ内で動作するこれらのシステムと共存し、これらのシステムを活用することができる。
発明の1つまたは複数の実施形態で使用される確率的方法は、コントローラ可用性の過去の観察(たとえば、各コントローラがどれだけおよびどのタイプの非可用性インターバルを過去に経験したか)、オペレータの確信(たとえばオペレータが、コントローラはファームウェアのアップグレードを経験した直後の審査期間中に攻撃を受けやすいと確信すること)、ならびに、将来の可用性の確率的推定を考案する際のストレージ・コントローラ構成の状態(たとえば、アクティブDASD障害をマスキングするためにどれだけのスタンバイあるいはホット・スペアまたはその両方のDASDが現在使用可能であるか、コントローラ・システム・ボードとDASDアレイとの間でどれだけの冗長ストレージ・コントローラ・システム・ボードおよび内部データ・パスが適所に配置されているか)を、考慮に入れることが可能である。
発明の1つまたは複数の実施形態で使用される決定論的方法は、前述のRFCを介してシステム・オペレータあるいは管理者またはその両方によってサブミット(実行)可能な、スケジューリングされたストレージ・コントローラ保守アクションなどの、今後発生する変更に関する正確な情報を考慮に入れる。
発明の1つまたは複数の実施形態は、決定論的方法および確率的方法によって推定されたコントローラ可用性測度を組み合わせること、ならびに、ボリューム配置プラン(すなわち、どれだけの複製を作成するか、およびそれらをどのコントローラに配置するか)、および変更管理プラン(すなわち、コントローラがサービスから出るかまたはサービスに戻ることへの応答として、どのタイプのフェイルオーバおよびフェイルバックのアクションを呼び出すか)を考案することが、可能である。
さらに図1を参照すると、「どのように/どこに複製するかを決定する」ブロック108および「変更プランを出力する」ブロック116が、システム管理者あるいはマネージャまたはその両方にとって重要であることを理解されよう。「RFCを追加する」ブロック102および「コントローラ障害確率を推定する」ブロック104は、トリガとみなすことができる。1つまたは複数の発明実施形態は、実行可能な配置および変更プランを考案することができる。
例示的実施形態では、データセットが、複数のストレージ・コントローラにわたって拡張されたストレージ・ボリュームVG={v,v, ...,v}の集合として実施されるものと想定することができる。データセットは、潜在的に、1つまたは複数のホスト・サーバにアクセス可能であり、これらのサーバ上にインストールされたアプリケーションによって使用され得る。
データセットの所望な可用性レベルは、考慮の対象となる合計時間量全体にわたる、予測される「アップタイム(uptime、実行可能時間)」(すなわち、データセットがホスト・サーバ上のアプリケーションにアクセス可能であるか、またはアクセス可能であると予測される時間)の割合として表すことができる。データセットは、VGの集合内の少なくとも1つのストレージ・ボリュームが使用不可能な場合、使用不可能(すなわちアプリケーションにアクセス不可能)であるとみなされる。たとえば、Tが現在時刻であり、Δt=t−Tが、データセットが時間Δtoutageの間使用不可能な今後の時間間隔(たとえば、日、月、または年)である場合、データセットの可用性は、以下のように定義される。
Figure 2009543216
この説明では、データセット可用性は百分率として測定され、たとえば、1ヶ月の期間にわたって99.99%または0.9999の可用性(その他の方法では「フォーナイン(four 9s)」と呼ばれる)は、最大許容ダウンタイムが約5分を超えることはできないことを意味する。上式における停止(outage)は、ストレージ・コントローラによって引き起こされる可能性があり、これは予想されている場合またはされていない場合がある。予想ダウンタイムは、スケジューリングされた保守動作によって引き起こされる可能性がある。非予想ダウンタイムは、通常、ハードウェアまたはソフトウェア構成要素の障害によって、またはオペレータのエラーによって引き起こされる。1つまたは複数の発明方法は、決定論的および確率的な計算に基づいて、個々のストレージ・コントローラの可用性の連続的特徴付けに依拠することができる。
決定論的ストレージ・コントローラ可用性の推定
決定論的計算では、発明の1つまたは複数の実施形態は、以下のように、時間tおよび期間Δtでの将来のダウンタイムに関する正確な情報を使用して、平均保守間隔(MTBM)および平均ダウンタイム(MDT)測定値の推定に基づいて、データセットの動作可用性(記号Aで表される)を計算する。
Figure 2009543216
確率的ストレージ・コントローラ可用性の推定
確率的計算では、発明の1つまたは複数の実施形態は、以下のような情報を組み合わせる。
a.コントローラの過去の動作の統計的特徴付け(すなわち、コントローラの過去のアップタイムを今後予測されるアップタイムの指示として使用すること)。この推定は、以下では記号μαによって表される。
b.ストレージ・コントローラの可用性特徴付け。しかしながらこの特徴付けは、(i)いくつかの障害を維持するためのストレージ・コントローラの現在の構成の能力(たとえば、どれだけの予備DASDが現在適所に配置されており、アクティブDASD障害をマスキングするために使用可能あるいはテストされている、またはその両方であるか)、(ii)コントローラ・ソフトウェアの可用性動作(たとえば、フェイルオーバ・アクションを処理する場合に、コントローラの機能を低下させる性能動作)、(iii)コントローラ内の動作冗長データ・パスの数、(iv)コントローラと、そのコントローラ上のデータにアクセスしているホストとの間の動作冗長データ・パスの数などの、様々な要素を含むことができる。発明の1つまたは複数の実施形態では、コントローラの可用性における確信を、ベイズの確率としてそのオペレーティング構成に応じてカプセル化する。この推定は、以下では記号μβによって表される。
c.それに従って、コントローラがソフトウェアのアップグレード直後の期間に特に障害の攻撃を受けやすい、「幼児死亡率」効果などの経験則を考慮に入れる、コントローラの今後の可用性に関するオペレータの確信。(b)と同様に、これもベイズの確率である。この推定は、以下では記号μγによって表される。当業者であれば、たとえば、1987年6月の、信頼性および分散データベースに関する第6回国際会議の議事録における、J.Grayによる「Why do Computers Stop and What Can We Do About It?」からの幼児死亡率の概念に精通している。
コントローラが今後使用可能となる確率μは、上記(a)〜(c)から推定することができる。コントローラ可用性のこの推定を確率計算で使用して、データセット全体の可用性に関する確率推定を導出することができる。
前述の統計/確率および決定論的情報を使用して、ストレージ・コントローラの可用性の程度を推定することができる。これらの情報源をどのように組み合わせるかに関して、複数のオプションがある。例を挙げると、オプションの1つは、決定論的推定および(a)〜(c)の中で最低の推定を取ることである。
Figure 2009543216
上式で表されるように、コントローラの可用性の推定を、使用可能な最も厳密な推定に結びつけることで、良好に作用すると予想される。
ストレージ・ボリュームの割り振りおよび配置アルゴリズム
以下では、ある種の可用性目標を達成するために、ストレージ・コントローラのセット上にストレージ・ボリュームのセットを配置するための例示的発明技法が、ボリューム・レベル複製(すなわち、各ボリュームが、ゼロまたはそれ以上の他のストレージ・コントローラ上の1つまたは複数の他のストレージ・ボリュームに、潜在的に継続して複製またはミラーリングされている)に基づいて、提示される。この実施形態によれば、ボリューム・セットVG(すなわち、1次ボリュームのセット)を備えるデータセット内の各ボリュームvについて、vは、複製セットVG’のメンバである、ボリュームvi1、vi2、などに1回または複数回複製することができる。
Figure 2009543216
たとえボリュームが1回または複数回複製可能であっても、1次ボリュームを含むストレージ・コントローラが障害を発生するか、またはサービス中止となった場合、データセット上では依然として停止(すなわちデータの非アクセス可能性)の可能性があることに留意されたい。この停止は、ほとんどの場合、2次ストレージ・ボリューム複製へのフェイルオーバにかかる時間により、不可避である。この時間は、使用される複製技術および特定のストレージ・インフラストラクチャに依存する。
この実施形態で対処可能な問題の1つが、設定された可用性目標を達成するための、ストレージ・ボリュームの数(すなわち、1次ボリュームおよび複製の数)、ならびにストレージ・コントローラ上への配置の決定である。2段階手法を使用することが可能であり、(i)第1段階では、容量および性能の目標のみに基づいてボリュームの初期配置が決定され、セットVGおよび、VGにおけるボリュームとストレージ・コントローラとの間のマッピングを生成し、(ii)第2段階では、ストレージ・ボリュームはデータ可用性目標を達成するために、必要に応じて複製される。この段階の結果、セットVG’ならびに、ボリューム複製とストレージ・コントローラとの間のマッピングが生じる。
初期配置段階
第1の(初期配置)段階は、単に容量および性能の考慮に基づき、周知および前述のIBM Volume Performance Advisorなどの、既知の方法を使用して、実行することができる。しかしながら、こうしたストレージ・コントローラへのボリュームの配置では、データセットに関する可用性目標を完全に満たすことができない場合があり、これが、第2の(データ複製)段階が必要となる可能性がある理由である。
データ複製段階
初期配置段階に続き、データ複製を使用して、可用性目標を達成することができる。この実施形態では、可用性目標ならびに配置を達成するために必要なデータ複製の程度(たとえば、いくつのボリュームの複製が必要であるか)、ならびに配置(たとえば、どのストレージ・コントローラがボリューム複製を配置するか)を決定する。加えて、これらの変更を実行するための実施プランが提示される。
この段階における1つの原理は、可用性目標に達するまで、ストレージ・コントローラにまたがってストレージ・ボリュームを反復的に複製することにより、全体のデータセット可用性を累進的に向上させることである。このプロセスは、いかなる複製もなしにデータセットVGの初期のベースライン可用性を計算することによって開始される。その後、この可用性は、可用性の低い(おそらく、VG内の任意のコントローラ間で最も低い)ストレージ・コントローラからストレージ・ボリュームを選択すること、および、全体のデータセット可用性を上昇させるためにどのコントローラでこのボリュームを複製するかを決定することによって、向上させることができる。さらに可用性は、他のボリュームを複製すること、またはあるボリュームを複数回複製することによって、向上させることもできる。(VG内のボリュームを選択し、何らかの他のコントローラ上でこれを複製することによって)セットVG’を反復的に成長させることにより、最終的に可用性目標に達するまで、データセットの可用性を単調に向上させることができる。
一般に、ストレージ・ボリュームAが与えられると、以下の基準を使用して、Aの複製(以下では、複製はA’と呼ばれる)をホストする(受け入れる)ことができるコントローラの選択が実行される。第1に、コストを最小限にするために、可能であれば、可用性が同様またはより低いストレージ・コントローラであるものとする(すなわち、かなり質の高いサービスを提供するコントローラである必要はない)。コントローラの可用性は、前述の決定論的方法および確率的方法の組み合わせを使用して推定されることに留意されたい。第2に、単純な決定論的考察が、A、A’をホストしている2つのコントローラのスケジューリングされた停止が、いかなる時点でも重複してはならないことを示す(実施例2の図4および図5の時間線を参照のこと)。加えて、ボリュームA、A’に関する任意の停止間には、障害後にそれらの再同期化を可能にするために、十分な時間的距離が存在しなくてはならない。2つのストレージ・ボリューム複製を同期化させるために必要な時間は、複製技術、転送される必要のあるデータの量、およびデータ転送速度を考慮に入れて推定される。
複製A’をホストするための潜在的な候補となることができるストレージ・コントローラのセットが与えられた場合、この実施形態は、何らかの順序(たとえばランダムな順序)で各候補コントローラを検査し、結果として生じた(決定論的方法および確率的方法の組み合わせられた予測を使用して計算された)データセットの可用性が、所望のターゲットを達成するかどうかを判定する。以下の実施例1で実証された確率的公式の使用に加えて、全体の可用性を推定するための潜在的にさらに正確な方法は、アーカイブ・リポジトリの設計に関する前述のクレスポ基準で使用されたシミュレーション・ベースの決定分析を使用することである。こうした分析は、ストレージ・コントローラ可用性の確率的推定(前述のソース(a)〜(c))を使用する、イベント・ベースのシミュレーションとなる。この方法の欠点は、ほぼ即時の応答が必要なオンライン・シナリオでは好適でない可能性があることである。それらのケースでは、(以下の実施例1で説明する)確率的公式を直接使用することが、より適切な可能性がある。
前述のプロセスは、最終的にセットVG’、および、ストレージ・ボリュームとストレージ・コントローラとの間の関連付けられたマッピングを生成するために、データセットVG内のすべてのストレージ・ボリュームに対して反復することができる。データセットの可用性目標を達成する、単発で複製されるソリューションが存在しない(すなわち、いかなるボリュームも複数の複製を有することができない)場合、代替オプションは、3つの(またはそれ以上の)コントローラ上で、何らかのボリュームが2重に(またはそれ以上)複製されるというソリューションを試行することである。
一般に、複製セット内のボリュームのうちの1つが1次として指定され、これは、セットの第1のアクティブな代表となる複製である。これは、通常、最新のダウンタイムがスケジューリングされた、コントローラ上のストレージ・ボリュームとなるように決定される。
VGおよびVG’からストレージ・コントローラへとボリュームを初期に配置した後、例示的方法は、オペレータによってサブミットされたストレージ・コントローラおよびRFCの一番最近および最新の可用性特徴付けに鑑みて、データセットの可用性目標が維持されているかどうかを定期的にチェックする(一例については図1にさかのぼって参照のこと)。ストレージ・コントローラの可用性レベルが変更された(たとえば、何らかの構成変更によって「監視項目リスト」に入るか、またはそれに関する1つまたは複数のRFCがサブミットされる)場合、(そのコントローラ上に1つまたは複数のストレージ・ボリューム複製を有する)1つまたは複数のデータセットの可用性レベルは変更されるものと予測され、したがって、新しいストレージ・ボリューム複製が作成されなければならない可能性が最も高い。
実際のところ特に興味深いケースは、そのストレージ・コントローラの「ドレイン」(すなわち、ストレージ・コントローラからのすべてのボリュームの除去)である。この場合、そのストレージ・コントローラから他のコントローラにすべてのストレージ・ボリュームを移動しなければならず、さらに複製の作成および配置を必要とする可能性がある。このケースは、前述の汎用プロセスを使用して処理することができる。しかしながら、コントローラ間でのストレージ・ボリュームのマイグレーションは、大規模ボリュームにとっては低速プロセスとなる可能性のある、データ移動を含むことに留意されたい。
管理者がRFC(t、Δt)を伴う新しいコントローラ停止を導入したい場合、結果としてシステムへの影響がかなり低い(たとえば、より少ない複製の作成、またはより少ないデータ移動)のであれば、RAICによって代替時間tを提案することができる。オペレータ/管理者が、オリジナルのRFC仕様に固執する場合、新しい複製は、冗長データ専用にディスク・スペースを費やして、データの非可用性を防ぐために事前対応的に(proactively)構築されることになる。
コントローラが非アクセス可能状態からサービスに戻った場合、そのストレージ・ボリュームは、通常、他のコントローラ上に有する可能性のある任意の複製と再同期化されなければならない。連続的な複製および再同期化はバックグラウンドで実行可能であり、可用性に直接影響を与えないことに留意されたい。
再考してみると、前述の方法は図1の流れ図に関して視覚化することができる。提案された実施形態は、(前述のように)ストレージ・コントローラの可用性特徴に関する情報を維持し、(a)ストレージ・コントローラの状況における変更RFC(t、Δt)の要求と、(ここでRFCは変更時間tを指定する場合または指定しない場合があるが、変更の期間Δtに関する推定は指定しなければならない)、(b)ストレージ・コントローラの可用性特徴における変更を信号送信できる他のイベントと、(その例には、ハードウェアまたはソフトウェア・コントローラの障害、オペレータのエラー、あるいは障害を維持するためのコントローラの機能に関する改訂された確信が含まれる)、を聴取(リスニング)する。
サブミットされた各コントローラRFCまたはシステム状況に関する更新された情報について、この方法は、いずれかの可用性目標が違反されているかどうかをチェックする。違反されている場合、必要に応じてボリュームを複製することができる。単なる可用性ベースの推定に加えて、複製プランは、ポリシーに基づいたビジネス規則を反映すること、たとえば、重要なデータに対してより高品質なコントローラを使用することも可能である。
典型的な可用性管理プランは、準備、実行、および完了という、3つの段階を含む。これらの段階は、前述の技法によって提案されたソリューションを実施する機構を処理し、特定の展開されたインフラストラクチャで使用される複製技術に特有のものである。
準備段階は、コントローラの障害またはシャットダウンの以前に関連し、複製の作成および同期化と必要な複製関係のセットアップとを含む。
実行段階は、コントローラの障害またはシャットダウンの時点で関連し、2次複製に対するフェイルオーバ・アクションの処理を含む。この段階の目的は、ボリューム障害をマスキングすること、および生き残ったストレージ・ボリュームへデータ・アクセスをリダイレクトすることによって、データセットの可用性を再確立することである。
完了段階は、以前にサービスから出たストレージ・コントローラが回復し、サービスに戻ってきた時点で関連する。この段階は、複製関係の再開(または、陳腐化しているとみなされる場合は破棄)、ストレージ・ボリュームの再同期化、およびオプションで、回復したストレージ・ボリュームへのデータ・アクセスの「フェイルバック」を含む。
次に、確率的および決定論的の、両方の可用性計算の例を示す。これらは本来、当業者が1つまたは複数の発明の実施形態を作成および使用する際の一助とするための単なる例示的なものであり、限定的であるとみなすべきではない。
図2および図3を参照しながら、それぞれ可用性μ、μ、μ、μ、μを備えた5つのストレージ・コントローラA、B、C、D、Eについて考えてみる。この例では、前述のボリューム割り振りおよび配置プロシージャを使用して、性能y I/Oおよび全体可用性μを備えたx GBサイズのデータセットを割り振っている。第1の(初期割り振り)段階では、3つのコントローラ(A、B、C)に関する容量および性能の考慮に基づいて、7つのボリュームが割り振られる。初期割り振りに続いて、割り振りアルゴリズムの第2段階では、コントローラBおよびCからのボリューム(おそらくは、最低の可用性μおよびμを備えるコントローラ)が、コントローラD、Eで同じボリューム数に複製されるように選択される。
全体確率の推定は、確率の理論からの以下の理論に基づくものであり、任意の2つのイベントA、Bについて、AあるいはBまたはその両方のいずれかが発生する確率は、以下のように与えられる。
Figure 2009543216
AおよびBが独立したイベントであると想定すると、以下の通りである。
Figure 2009543216
ストレージ・コントローラが独立して障害を起こし、コントローラのペアは両方のコントローラが使用不可の場合に使用不可であると想定すると、以下の通りである。
Figure 2009543216
上記公式(または、複製関係ならびにコントローラの数およびタイプの所与の構成に適合された、同様に導出された公式)を使用して、データセットの可用性を決定することができる。
再考してみると、図2では、データセットは(A〜Dでラベル付けされた)5つのストレージ・コントローラにまたがって拡張可能である。各コントローラは、可用性μ〜μで特徴付けられる。データセットは、初期には3つのストレージ・コントローラ(A、B、およびC)にまたがって拡張する、7つのストレージ・ボリュームを備え、この初期割り振りは、容量(x GB)および性能(たとえばy IO/秒)目標に基づき、VPAなどの既知の技法を使用して決定される。データセットの可用性目標(μ)は、本明細書で説明したように満たすことができる。結果として生じる可用性目標(μ)を満たす配置が、図3に示される。
図4および5を参照しながら、異なる可用性目標(上から下へ、0.9999、0.999、および0.9)を備えた3つのデータセットについて考えてみる。既知の予測される停止の時間線(時刻表)で表され、それぞれが異なる可用性見通しを備えた7つのコントローラ(SC1〜SC7)も考えてみる。図4の時間線は、各コントローラについて既知の予測される停止を記述している。最初の6つのコントローラについては、ほぼ決定論的情報を使用する。最後のコントローラ(SC7)は、既知の停止(outage、障害)はなく、最近のファームウェアのアップグレードによって疑わしいとみなされる。したがって、その確率的可用性推定は低い。
前述の例のように、アルゴリズムの第1の(初期割り振り)段階では、各データセットのボリュームが、容量および性能目標に基づいてストレージ・コントローラに割り当てられる。第1のデータセットの場合、単一のボリューム(A)がSC1で割り振られる。第2のデータセットの場合、3つのボリューム(B、C、およびD)がSC3〜SC5で割り振られる。最後に、第3のデータセットの場合、単一のボリューム(E)がSC7で割り振られる。
この例では、その可用性が全体データセットの可用性目標にできる限り近いストレージ・コントローラ上で初期割り振りを実行するように試行するために、初期段階で追加の作業が実行される。たとえばボリュームAは、最高の可用性を備えるコントローラ(SC1)に割り当てられるが、それは、そのコントローラがデータセットの可用性目標に最も近く近似する(ただし、わずかに少ない)ためである。
初期割り振りが完了すると、アルゴリズムの第2段階では、可用性目標を満たすためにボリューム割り振りを使用することに注意を向ける。第1のボリューム・グループの可用性目標がかなり野心的(ambitious)である(1ヶ月にわたって4つの9とは、同じ時間間隔にわたって約4〜5分のみの停止を示唆する)ことから見て、ストレージ・ボリュームAは他の高可用性コントローラ上で複製しなければならない。したがってこの技法は、Aの複製であるA’をホストするために、ストレージ・コントローラSC2を選択する。同様に、第2のデータセットについて、アルゴリズムは、それぞれボリュームB、C、およびDを(B’、C’、およびD’に)複製することによって、そのデータセットの可用性を累進的に向上させるために、ストレージ・コントローラSC4、SC3、およびSC6を選択する。最後にアルゴリズムは、SC7上でボリュームEを複製するため、および第3のデータセットの可用性目標に達するために、SC5を選択する。
再考してみると、図4では、可用性目標の異なる3つのボリューム・グループがある(ストレージ・ボリュームAを含むVGの場合はμ=0.9999、B、C、およびDを含むVGの場合はμ=0.999、ボリュームEを含むVGの場合はμ=0.9)。これらのボリュームは、可用性の順にリスト表示された7コントローラのうちの任意のサブセット上に配置されなければならない。各時間線は、各コントローラの停止を示す。第1に、可用性目標にできる限り近づくように試行しながら、容量および性能目標に基づいてストレージ・コントローラにボリュームを割り当てる。1ヶ月にわたるフォーナイン(4つの9)とは、約4〜5分のみの停止を示唆する。動作可用性が最高のコントローラがこの種のサービスを提供できないため、ストレージ・ボリュームは2つのこうしたコントローラ上で複製されなければならない。複製用のコントローラを選択する場合、コストを最小限にするために、同様の可用性を備えたコントローラでなければならない。停止は重複してはならず、再同期化されるボリュームの停止間には、十分な間隔がなければならない。ボリュームが同期を外れ、次に1次となるようにスケジューリングされた場合、同期化されなければならない。図5では、準備されたボリューム(たとえばA’)は、2次複製を指定する。1次ボリュームは、その第1の障害を他よりも後に有することになるコントローラ上にあるものとし、RAICは、Aが同期して戻ってこられるように、Aがサービスに戻ってきた時点からA’が消滅する時点までの間に十分な時間があることを保証しなければならない。典型的には、動作可用性に影響を与える唯一の停止時間は、A’からAまでのフェイルオーバ時間である。通常、その他はすべてバックグラウンドで実行可能であるため、可用性に影響を与えない。
本発明を実施するために、専用ハードウェア、汎用プロセッサ、ファームウェア、ソフトウェア、またはそれらの組み合わせを使用する、様々な技法を採用することができる。本発明の1つまたは複数の実施形態は、示された方法ステップを実行するためのコンピュータ使用可能プログラム・コードを備えるコンピュータ使用可能メディアを含むコンピュータ・プログラムの形で実施可能である。さらに本発明の1つまたは複数の実施形態は、メモリと、メモリに結合され、例示的方法ステップを実行するように動作可能な、少なくとも1つのプロセッサとを含む形で、実施可能である。
現時点では、1つまたは複数の実施形態は、事実上、汎用コンピュータまたはワークステーション上で実行するソフトウェアを使用することになると考えられている。図6を参照すると、こうした実施は、たとえばプロセッサ602、メモリ604、ならびに、たとえばディスプレイ606およびキーボード608によって形成される入力/出力インターフェースを採用することができる。本明細書で使用される「プロセッサ」という用語は、たとえば、CPU(中央処理ユニット)あるいは他の形の処理回路またはその両方を含むものなどの、任意の処理デバイスを含むことが意図される。さらに、「プロセッサ」という用語は、複数の個々のプロセッサを言い表すこともできる。「メモリ」という用語は、たとえばRAM(ランダム・アクセス・メモリ)、ROM(読み取り専用メモリ)、固定メモリ・デバイス(たとえばハード・ドライブ)、取り外し可能メモリ・デバイス(たとえばディスケット)、フラッシュメモリなどの、プロセッサまたはCPUに関連付けられたメモリを含むことが意図される。加えて、本明細書で使用される「入力/出力インターフェース」という語句は、たとえば、処理ユニットにデータを入力するための1つまたは複数の機構(たとえばマウス)、および、処理ユニットに関連付けられた結果を提供するための1つまたは複数の機構(たとえばプリンタ)を含むことが意図される。プロセッサ602、メモリ604、ならびに、ディスプレイ606およびキーボード608などの入力/出力インターフェースは、たとえば、データ処理ユニット612の一部としてのバス610を介して相互接続することができる。たとえばバス610を介した好適な相互接続は、コンピュータ・ネットワークとインターフェースするために提供可能なネットワーク・カードなどのネットワーク・インターフェース614に、および、メディア618とインターフェースするために提供可能なディスケットまたはCD−ROMドライブなどのメディア・インターフェース616に、提供することもできる。
したがって、本明細書で説明された本発明の方法論を実行するための命令またはコードを含むコンピュータ・ソフトウェアは、関連付けられたメモリ・デバイス(たとえばROM、固定または取り外し可能メモリ)のうちの1つまたは複数に格納可能であり、使用準備ができた場合、部分的または全体が(たとえばRAM内に)ロードされ、CPUによって実行されることが可能である。こうしたソフトウェアは、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むことができるが、これらに限定されることはない。
さらに本発明は、コンピュータまたは任意の命令実行システムによって、あるいはこれらに関連して使用するための、プログラム・コードを提供する、コンピュータ使用可能またはコンピュータ読み取り可能メディア(たとえばメディア618)からアクセス可能な、コンピュータ・プログラムの形を取ることができる。この説明では、コンピュータ使用可能またはコンピュータ読み取り可能メディアは、命令実行システム、装置、またはデバイスによって、あるいはこれらに関連して使用するための、任意の装置とすることができる。
メディアは、電子、磁気、光、電磁、赤外線、または半導体のシステム(あるいは装置またはデバイス)、あるいは伝播媒体とすることができる。コンピュータ読み取り可能媒体の例には、半導体またはソリッドステート・メモリ(たとえばメモリ604)、磁気テープ、取り外し可能コンピュータ・ディスケット(たとえばメディア618)、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、剛体磁気ディスク、および光ディスクが含まれる。光ディスクの現行の例には、コンパクト・ディスク読み取り専用メモリ(CD−ROM)、コンパクト・ディスク読み取り/書き込み(CD−R/W)、およびDVDが含まれる。
プログラム・コードを格納する、あるいは実行する、またはその両方に好適な、データ処理システムは、システム・バス610を介してメモリ要素604に直接または間接的に結合された、少なくとも1つのプロセッサ602を含むことになる。メモリ要素は、プログラム・コードの実際の実行時に採用されるローカル・メモリ、大容量ストレージ、および、実行時に大容量ストレージからコードを取り出さなければならない回数を減らすために、少なくとも一部のプログラム・コードの一時ストレージを提供するキャッシュ・メモリを、含むことができる。
入力/出力またはI/Oデバイス(キーボード608、ディスプレイ606、ポインティング・デバイスなどを含むが、これらに限定されない)は、直接(バス610を介するなど)、または介在するI/Oコントローラ(明瞭にするために省略)を介して、システムに結合することができる。
ネットワーク・インターフェース614などのネットワーク・アダプタは、データ処理システムが、介在する専用または公衆のネットワークを介して、他のデータ処理システムまたはリモート・プリンタまたはストレージ・デバイスに結合されることを可能にするために、システムに結合することもできる。モデム、ケーブル・モデム、およびイーサネット(登録商標)・カードは、現在使用可能なネットワーク・アダプタのタイプのうちのごく一部である。
いずれのケースでも、本明細書に示された構成要素は、たとえば、特定用途向け集積回路(ASICS)、機能回路、関連付けられたメモリを備える1つまたは複数の適切にプログラミングされた汎用デジタル・コンピュータなどの、様々な形のハードウェア、ソフトウェア、またはそれらの組み合わせで実施可能であることを理解されたい。本明細書で示された本発明の教示を考えると、関連分野の通常の技術者であれば、本発明の構成要素の他の実施が企図可能となろう。
以上、本発明の例示的実施形態について、添付の図面を参照しながら説明してきたが、本発明はそれらの精密な実施形態に限定されるものではないこと、ならびに、当業者であれば、本発明の範囲または趣旨を逸脱することなく、様々な他の変更および修正が実行可能であることを理解されよう。
本発明の態様に従った例示的方法ステップを示す流れ図である。 確率的情報に従った初期ボリューム配置の例を示す図である。 確率的情報に従った可用性に関するボリューム複製の例を示す図である。 決定論的情報に従った初期ボリューム配置の例を示す図である。 決定論的情報に従った可用性に関するボリューム複製の例を示す図である。 本発明の1つまたは複数の態様あるいは要素またはその両方を実施する際に有用でありうる、コンピュータ・システムを示す図である。

Claims (20)

  1. コンピュータ・ストレージ・システムを制御するための方法であって、
    システムに関連する決定論的構成要素の可用性情報を取得するステップと、
    前記システムに関連する確率的構成要素の可用性情報を取得するステップと、
    前記決定論的構成要素の可用性情報および前記確率的構成要素の可用性情報の両方に基づいて、可用性目標の違反をチェックするステップと、
    を含む方法。
  2. 前記可用性目標の違反がないことを示す前記チェックに応答して、現在の状況を維持する追加のステップをさらに含む、請求項1に記載の方法。
  3. 前記可用性目標の違反を示す前記チェックに応答して、複製パラメータを決定する追加のステップをさらに含む、請求項1に記載の方法。
  4. 前記複製パラメータは、少なくともどのように複製するかおよびどこに複製するかを含む、請求項3に記載の方法。
  5. 前記システムに関連する前記決定論的構成要素可用性情報を取得するステップが、変更に関する要求を取得するステップを含み、推定複製時間を取得する追加のステップをさらに含む、請求項3に記載の方法。
  6. 前記変更に関する要求を評価する際に前記推定複製時間を考慮に入れる追加のステップをさらに含む、請求項5に記載の方法。
  7. 前記考慮に入れるステップが、
    前記変更の要求に対処するために、複製に十分な時間が使用可能であるかどうかを判定するステップと、
    前記判定ステップが十分な時間が使用可能でないことを示すことに応答して、前記変更の要求を拒否するステップと、
    を含む、請求項6に記載の方法。
  8. 前記考慮に入れるステップが、
    前記変更の要求に対処するために、複製に十分な時間が使用可能であるかどうかを判定するステップと、
    前記判定ステップが十分な時間が使用可能でないことを示すことに応答して、前記変更の要求に対処するための代替プランを検索するステップと、
    を含む、請求項6に記載の方法。
  9. 前記考慮に入れるステップが、
    前記変更の要求に対処するために、複製に十分な時間が使用可能であるかどうかを判定するステップと、
    前記判定ステップが十分な時間が使用可能であることを示すことに応答して、変更プランを作成するステップと、
    を含む、請求項6に記載の方法。
  10. 前記変更プランが、複製の場所、関係、およびタイミングを示す準備情報を含む、請求項9に記載の方法。
  11. 前記変更プランが、
    複製の性能を示す実行情報と、
    前記変更の要求に関連付けられたアクションの時間までに、必要なフェイルオーバ・アクションをどのように実行するかを示す、フェイルオーバ検出情報と、
    をさらに含む、請求項10に記載の方法。
  12. 前記変更プランが、
    複製関係の保守および破棄を示す完了情報と、
    前記変更の要求に関連付けられた他のアクションの時間よりも後に、必要なフェイルバック・アクションをどのように実行するかを示す情報と、
    をさらに含む、請求項11に記載の方法。
  13. コンピュータ・ストレージ・システムを制御するための方法であって、
    変更に関する要求を取得するステップと、
    前記変更に対処するために複製に関連付けられた推定複製時間を取得するステップと、
    前記変更に関する要求を評価する際に前記推定複製時間を考慮に入れるステップと、
    を含む方法。
  14. 前記考慮に入れるステップが、
    前記変更の要求に対処するために、複製に十分な時間が使用可能であるかどうかを判定するステップと、
    前記判定ステップが十分な時間が使用可能でないことを示すことに応答して、前記変更の要求を拒否するステップと、
    を含む、請求項13に記載の方法。
  15. 前記考慮に入れるステップが、
    前記変更の要求に対処するために、複製に十分な時間が使用可能であるかどうかを判定するステップと、
    前記判定ステップが十分な時間が使用可能でないことを示すことに応答して、前記変更の要求に対処するための代替プランを検索するステップと、
    を含む、請求項13に記載の方法。
  16. 前記考慮に入れるステップが、
    前記変更の要求に対処するために、複製に十分な時間が使用可能であるかどうかを判定するステップと、
    前記判定ステップが十分な時間が使用可能であることを示すことに応答して、変更プランを作成するステップと、
    を含む、請求項13に記載の方法。
  17. コンピュータ・ストレージ・システムを制御するためのコンピュータ使用可能プログラム・コードを有するコンピュータ使用可能メディアを備えるコンピュータ・プログラムであって、
    前記システムに関連する決定論的構成要素の可用性情報を取得するための、コンピュータ使用可能プログラム・コードと、
    前記システムに関連する確率的構成要素の可用性情報を取得するための、コンピュータ使用可能プログラム・コードと、
    前記決定論的構成要素の可用性情報および前記確率的構成要素の可用性情報の両方に基づいて、可用性目標の違反をチェックするための、コンピュータ使用可能プログラム・コードと、
    を含む、コンピュータ・プログラム。
  18. 前記システムに関連する決定論的構成要素の可用性情報を取得するための、前記コンピュータ使用可能プログラム・コードが、変更に関する要求を取得するためのコンピュータ使用可能プログラム・コードを含み、
    推定複製時間を取得するためのコンピュータ使用可能プログラム・コードと、
    前記変更に関する要求を評価する際に前記推定複製時間を考慮に入れるためのコンピュータ使用可能プログラム・コードと、
    をさらに含む、請求項17に記載のコンピュータ・プログラム。
  19. コンピュータ・ストレージ・システムを制御するためのコンピュータ使用可能プログラム・コードを有するコンピュータ使用可能メディアを備えるコンピュータ・プログラムであって、
    変更に関する要求を取得するためのコンピュータ使用可能プログラム・コードと、
    前記変更に対処するために複製に関連付けられた推定複製時間を取得するためのコンピュータ使用可能プログラム・コードと、
    前記変更に関する要求を評価する際に前記推定複製時間を考慮に入れるためのコンピュータ使用可能プログラム・コードと、
    を含む、コンピュータ・プログラム。
  20. 前記推定された複製時間を考慮に入れるためのコンピュータ使用可能プログラム・コードが、
    前記変更の要求に対処するために、複製に十分な時間が使用可能であるかどうかを判定するためのコンピュータ使用可能プログラム・コードと、
    前記判定するためのコンピュータ使用可能プログラム・コードが十分な時間が使用可能でないことを示すことに応答して、前記変更の要求を拒否するためのコンピュータ使用可能プログラム・コードと、
    を含む、請求項19に記載のコンピュータ・プログラム。
JP2009518408A 2006-06-27 2007-03-21 コンピュータ・ストレージ・システムの制御のための方法およびコンピュータ・プログラム Expired - Fee Related JP5090447B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/475,496 2006-06-27
US11/475,496 US20080010513A1 (en) 2006-06-27 2006-06-27 Controlling computer storage systems
PCT/US2007/064504 WO2008002693A2 (en) 2006-06-27 2007-03-21 Controlling computer storage systems

Publications (2)

Publication Number Publication Date
JP2009543216A true JP2009543216A (ja) 2009-12-03
JP5090447B2 JP5090447B2 (ja) 2012-12-05

Family

ID=38846348

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009518408A Expired - Fee Related JP5090447B2 (ja) 2006-06-27 2007-03-21 コンピュータ・ストレージ・システムの制御のための方法およびコンピュータ・プログラム

Country Status (3)

Country Link
US (2) US20080010513A1 (ja)
JP (1) JP5090447B2 (ja)
WO (1) WO2008002693A2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080062885A1 (en) * 2006-09-12 2008-03-13 Microsoft Corporation Major problem review and trending system
US20080065680A1 (en) * 2006-09-12 2008-03-13 Microsoft Corporation Change and release management system
US8019732B2 (en) 2008-08-08 2011-09-13 Amazon Technologies, Inc. Managing access of multiple executing programs to non-local block data storage
US9705888B2 (en) 2009-03-31 2017-07-11 Amazon Technologies, Inc. Managing security groups for data instances
US8713060B2 (en) 2009-03-31 2014-04-29 Amazon Technologies, Inc. Control service for relational data management
US9207984B2 (en) 2009-03-31 2015-12-08 Amazon Technologies, Inc. Monitoring and automatic scaling of data volumes
US8458287B2 (en) * 2009-07-31 2013-06-04 Microsoft Corporation Erasure coded storage aggregation in data centers
US9135283B2 (en) 2009-10-07 2015-09-15 Amazon Technologies, Inc. Self-service configuration for data environment
US8074107B2 (en) 2009-10-26 2011-12-06 Amazon Technologies, Inc. Failover and recovery for replicated data instances
US20130159253A1 (en) * 2011-12-15 2013-06-20 Sybase, Inc. Directing a data replication environment through policy declaration
US9672126B2 (en) 2011-12-15 2017-06-06 Sybase, Inc. Hybrid data replication
US9600365B2 (en) 2013-04-16 2017-03-21 Microsoft Technology Licensing, Llc Local erasure codes for data storage
US10425352B2 (en) 2015-03-09 2019-09-24 International Business Machines Corporation Policy driven storage hardware allocation
US9710178B2 (en) 2015-04-10 2017-07-18 International Business Machines Corporation Optimizing volume placement based upon desired response time and priority
US20180046691A1 (en) * 2016-08-10 2018-02-15 International Business Machines Corporation Query governor rules for data replication

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0371203A (ja) * 1989-08-02 1991-03-27 Westinghouse Electric Corp <We> プラント・オペレーティング・システム
JP2003140946A (ja) * 2001-11-02 2003-05-16 Hitachi Ltd 記憶装置
JP2004246749A (ja) * 2003-02-17 2004-09-02 Hitachi Ltd 記憶装置システム
JP2004341961A (ja) * 2003-05-16 2004-12-02 Nippon Telegr & Teleph Corp <Ntt> ストレージシステムおよびストレージプログラム
WO2005026942A2 (en) * 2003-09-11 2005-03-24 Veritas Operating Corporation Data storage analysis mechanism
JP2005196625A (ja) * 2004-01-09 2005-07-21 Hitachi Ltd 情報処理システムおよび管理装置
JP2005222539A (ja) * 2004-01-30 2005-08-18 Hewlett-Packard Development Co Lp 複数のコントローラ間に仮想ストレージセグメントを割り当てる能力を有するストレージシステム
JP2005293594A (ja) * 2004-04-02 2005-10-20 Seagate Technology Llc 管理された信頼性記憶システムと方法
JP2005346204A (ja) * 2004-05-31 2005-12-15 Fujitsu Ltd 自律制御プログラム及びその記録媒体、自律制御装置並びに自律制御方法
WO2006042107A2 (en) * 2004-10-08 2006-04-20 Hewlett-Packard Development Company, L.P. Redundant data storage reconfiguration
JP2006127464A (ja) * 2004-09-30 2006-05-18 Toshiba Solutions Corp 情報システムの信頼性評価システム、信頼性評価方法、信頼性評価プログラム

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5339427A (en) * 1992-03-30 1994-08-16 International Business Machines Corporation Method and apparatus for distributed locking of shared data, employing a central coupling facility
LTIP1892A (en) * 1993-06-15 1994-12-27 Combustion Eng Corrosian analysis system and method
US5592618A (en) * 1994-10-03 1997-01-07 International Business Machines Corporation Remote copy secondary data copy validation-audit function
EP0707267A3 (en) * 1994-10-12 1996-07-03 Ibm Redundant arrangement of disk drives with asymmetrical mirroring and data processing methods for asymmetrical mirroring
US5603029A (en) * 1995-06-07 1997-02-11 International Business Machines Corporation System of assigning work requests based on classifying into an eligible class where the criteria is goal oriented and capacity information is available
US5719884A (en) * 1995-07-27 1998-02-17 Hewlett-Packard Company Error correction method and apparatus based on two-dimensional code array with reduced redundancy
FR2762695B1 (fr) * 1997-04-29 1999-05-28 Bull Sa Procede et dispositif de connexion de l'unite centrale d'un systeme de traitement de donnees a un sous-systeme de stockage de donnees a redondance
US20010051861A1 (en) * 2000-06-09 2001-12-13 Fujitsu Limited Method and apparatus for simulation, and a computer product
US7263476B1 (en) * 2000-06-12 2007-08-28 Quad Research High speed information processing and mass storage system and method, particularly for information and application servers
US6993458B1 (en) * 2000-11-07 2006-01-31 International Business Machines Corporation Method and apparatus for preprocessing technique for forecasting in capacity management, software rejuvenation and dynamic resource allocation applications
US7167965B2 (en) * 2001-04-30 2007-01-23 Hewlett-Packard Development Company, L.P. Method and system for online data migration on storage systems with performance guarantees
US7178147B2 (en) * 2001-09-21 2007-02-13 International Business Machines Corporation Method, system, and program for allocating processor resources to a first and second types of tasks
US6889333B2 (en) * 2001-11-01 2005-05-03 Microsoft Corporation System and method for replicating data in a distributed system
IL147073A0 (en) * 2001-12-10 2002-08-14 Monosphere Ltd Method for managing the storage resources attached to a data network
US6898688B2 (en) * 2001-12-28 2005-05-24 Storage Technology Corporation Data management appliance
JP3966459B2 (ja) * 2002-05-23 2007-08-29 株式会社日立製作所 ストレージ機器管理方法、システム、およびプログラム
US7269612B2 (en) * 2002-05-31 2007-09-11 International Business Machines Corporation Method, system, and program for a policy based storage manager
US7035971B1 (en) * 2002-09-23 2006-04-25 Hewlett-Packard Development Company, L.P. Request scheduling to mirrored heterogeneous storage arrays
US7158973B2 (en) * 2002-12-12 2007-01-02 Sun Microsystems, Inc. Method and apparatus for centralized management of a storage virtualization engine and data services
US20040221123A1 (en) * 2003-05-02 2004-11-04 Lam Wai Tung Virtual data switch and method of use
US7480912B2 (en) * 2003-05-29 2009-01-20 International Business Machines Corporation Method for policy-based, autonomically allocated storage
US7328366B2 (en) * 2003-06-06 2008-02-05 Cascade Basic Research Corp. Method and system for reciprocal data backup
JP2005038071A (ja) * 2003-07-17 2005-02-10 Hitachi Ltd ストレージの容量を最適化する管理方法
US7388681B2 (en) * 2003-07-29 2008-06-17 International Business Machines Corporation Method for scanning maintenance prediction
US7254744B2 (en) * 2003-08-19 2007-08-07 Intel Corporation BIOS for saving and restoring operational state in the absence of AC power
US7558850B2 (en) * 2003-09-15 2009-07-07 International Business Machines Corporation Method for managing input/output (I/O) performance between host systems and storage volumes
JP4267420B2 (ja) * 2003-10-20 2009-05-27 株式会社日立製作所 ストレージ装置及びバックアップ取得方法
JP4244319B2 (ja) * 2003-12-17 2009-03-25 株式会社日立製作所 計算機システム管理プログラム,記録媒体,ならびに計算機システム管理システムおよびそのための管理装置および記憶装置
WO2005066830A1 (en) * 2004-01-08 2005-07-21 Agency For Science, Technology & Research A shared storage network system and a method for operating a shared storage network system
JP2005228278A (ja) * 2004-01-14 2005-08-25 Hitachi Ltd 記憶領域の管理方法、管理装置及び管理プログラム
US7120769B2 (en) * 2004-03-08 2006-10-10 Hitachi, Ltd. Point in time remote copy for multiple sites
US20050210096A1 (en) * 2004-03-17 2005-09-22 Bishop Thomas P Method and system for agentless discovery of application infrastructure resources
JP2005301436A (ja) * 2004-04-07 2005-10-27 Hitachi Ltd クラスタシステムおよびクラスタシステムにおける障害回復方法
US7219204B2 (en) * 2004-06-02 2007-05-15 International Business Machines Corporation Dynamic, policy-based control of copy service precedence
US7383462B2 (en) * 2004-07-02 2008-06-03 Hitachi, Ltd. Method and apparatus for encrypted remote copy for secure data backup and restoration
JP4518887B2 (ja) * 2004-09-10 2010-08-04 株式会社日立製作所 ストレージエリアネットワーク管理システム及び管理装置とボリューム割当て方法並びにコンピュータ・ソフトウエア
US7493300B2 (en) * 2004-09-30 2009-02-17 International Business Machines Corporation Model and system for reasoning with N-step lookahead in policy-based system management
JP2006113667A (ja) * 2004-10-12 2006-04-27 Hitachi Ltd ストレージ装置およびその制御方法
US7406617B1 (en) * 2004-11-22 2008-07-29 Unisys Corporation Universal multi-path driver for storage systems including an external boot device with failover and failback capabilities
US7904906B2 (en) * 2004-11-23 2011-03-08 Stratus Technologies Bermuda Ltd. Tracking modified pages on a computer system
US7363454B2 (en) * 2004-12-10 2008-04-22 International Business Machines Corporation Storage pool space allocation across multiple locations
US20060155591A1 (en) * 2005-01-10 2006-07-13 Faheem Altaf Systems, methods, and media for managing a travel itinerary
US20060161753A1 (en) * 2005-01-18 2006-07-20 Aschoff John G Method, apparatus and program storage device for providing automatic performance optimization of virtualized storage allocation within a virtualized storage subsystem
US7675856B2 (en) * 2005-03-24 2010-03-09 Microsoft Corporation Bandwidth estimation in broadband access networks
JP4843976B2 (ja) * 2005-03-25 2011-12-21 日本電気株式会社 レプリケーションシステムと方法
US7584226B2 (en) * 2005-05-24 2009-09-01 International Business Machines Corporation System and method for peer-to-peer grid based autonomic and probabilistic on-demand backup and restore
US20060277384A1 (en) * 2005-06-01 2006-12-07 Hitachi, Ltd. Method and apparatus for auditing remote copy systems
US7626717B2 (en) * 2005-07-20 2009-12-01 Xerox Corporation Print job allocation system and method
US8886551B2 (en) * 2005-09-13 2014-11-11 Ca, Inc. Centralized job scheduling maturity model
US7694072B2 (en) * 2005-09-22 2010-04-06 Xyratex Technology Limited System and method for flexible physical-logical mapping raid arrays
JP4903415B2 (ja) * 2005-10-18 2012-03-28 株式会社日立製作所 記憶制御システム及び記憶制御方法
JP4367406B2 (ja) * 2005-12-12 2009-11-18 株式会社日立製作所 コンピュータ割り当て方法
US7962709B2 (en) * 2005-12-19 2011-06-14 Commvault Systems, Inc. Network redirector systems and methods for performing data replication
US7620710B2 (en) * 2005-12-19 2009-11-17 Commvault Systems, Inc. System and method for performing multi-path storage operations
US8655850B2 (en) * 2005-12-19 2014-02-18 Commvault Systems, Inc. Systems and methods for resynchronizing information
US7752417B2 (en) * 2006-06-05 2010-07-06 Oracle America, Inc. Dynamic selection of memory virtualization techniques
US7689743B2 (en) * 2006-12-20 2010-03-30 International Business Machines Corporation Data copy system apparatus and method

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0371203A (ja) * 1989-08-02 1991-03-27 Westinghouse Electric Corp <We> プラント・オペレーティング・システム
JP2003140946A (ja) * 2001-11-02 2003-05-16 Hitachi Ltd 記憶装置
JP2004246749A (ja) * 2003-02-17 2004-09-02 Hitachi Ltd 記憶装置システム
JP2004341961A (ja) * 2003-05-16 2004-12-02 Nippon Telegr & Teleph Corp <Ntt> ストレージシステムおよびストレージプログラム
WO2005026942A2 (en) * 2003-09-11 2005-03-24 Veritas Operating Corporation Data storage analysis mechanism
JP2005196625A (ja) * 2004-01-09 2005-07-21 Hitachi Ltd 情報処理システムおよび管理装置
JP2005222539A (ja) * 2004-01-30 2005-08-18 Hewlett-Packard Development Co Lp 複数のコントローラ間に仮想ストレージセグメントを割り当てる能力を有するストレージシステム
JP2005293594A (ja) * 2004-04-02 2005-10-20 Seagate Technology Llc 管理された信頼性記憶システムと方法
JP2005346204A (ja) * 2004-05-31 2005-12-15 Fujitsu Ltd 自律制御プログラム及びその記録媒体、自律制御装置並びに自律制御方法
JP2006127464A (ja) * 2004-09-30 2006-05-18 Toshiba Solutions Corp 情報システムの信頼性評価システム、信頼性評価方法、信頼性評価プログラム
WO2006042107A2 (en) * 2004-10-08 2006-04-20 Hewlett-Packard Development Company, L.P. Redundant data storage reconfiguration

Also Published As

Publication number Publication date
US20080228687A1 (en) 2008-09-18
WO2008002693A3 (en) 2008-05-02
US8185779B2 (en) 2012-05-22
WO2008002693A2 (en) 2008-01-03
US20080010513A1 (en) 2008-01-10
JP5090447B2 (ja) 2012-12-05

Similar Documents

Publication Publication Date Title
JP5090447B2 (ja) コンピュータ・ストレージ・システムの制御のための方法およびコンピュータ・プログラム
US8140484B2 (en) Techniques for determining an implemented data protection policy
US8185505B1 (en) Techniques for processing recovery points
Weygant Clusters for high availability: a primer of HP solutions
US7676702B2 (en) Preemptive data protection for copy services in storage systems and applications
US9274902B1 (en) Distributed computing fault management
US6978398B2 (en) Method and system for proactively reducing the outage time of a computer system
Ganger et al. Self-* storage: Brick-based storage with automated administration
US20130198559A1 (en) Virtual recovery server
US7426616B2 (en) Method for determining a recovery schedule
JP2011530127A (ja) データセンタにわたる複数データサーバ間のデータ完全性を保持する方法およびシステム
US8984332B2 (en) Active/passive database management across clusters
US11210150B1 (en) Cloud infrastructure backup system
Liu et al. Trends in PACS image storage and archive
US7917711B2 (en) System, apparatus, and method for automatic copy function selection
US11128708B2 (en) Managing remote replication in storage systems
Patterson Recovery Oriented Computing: A New Research Agenda for a New Century.
Hunter et al. Availability modeling and analysis of a two node cluster
Lundin et al. Significant advances in Cray system architecture for diagnostics, availability, resiliency and health
Simmhan et al. Building reliable data pipelines for managing community data using scientific workflows
Somasekaram Bayesian Prognostic Framework for High-Availability Clusters
Wilkins et al. Disaster tolerant Wolfpack geo-clusters
Jews et al. IBM Parallel Sysplex clustering: Technology options for continuous availability
Barroso et al. Dealing with failures and repairs
Simmhan et al. Reliable management of community data pipelines using scientific workflows

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120131

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120302

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120302

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20120302

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120305

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: 20120830

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120830

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20120830

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120912

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150921

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

LAPS Cancellation because of no payment of annual fees