JP4830562B2 - 情報処理システムのデータ入出力方法及び情報処理システム - Google Patents

情報処理システムのデータ入出力方法及び情報処理システム Download PDF

Info

Publication number
JP4830562B2
JP4830562B2 JP2006073726A JP2006073726A JP4830562B2 JP 4830562 B2 JP4830562 B2 JP 4830562B2 JP 2006073726 A JP2006073726 A JP 2006073726A JP 2006073726 A JP2006073726 A JP 2006073726A JP 4830562 B2 JP4830562 B2 JP 4830562B2
Authority
JP
Japan
Prior art keywords
update
information
request
input
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006073726A
Other languages
English (en)
Other versions
JP2007249721A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2006073726A priority Critical patent/JP4830562B2/ja
Priority to US11/432,382 priority patent/US7464233B2/en
Publication of JP2007249721A publication Critical patent/JP2007249721A/ja
Application granted granted Critical
Publication of JP4830562B2 publication Critical patent/JP4830562B2/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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2064Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring while ensuring consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers

Description

本発明はストレージサブシステム間のリモートコピー技術に関する。
インターネットの急速な普及と、ブロードバンドの登場、企業同士の合併等でシステム
の運用、管理も複雑化し、膨大なデータ量を扱う情報社会となった今では、24時間365日の連続稼動の中で、万が一の災害でも災害復旧可能なシステムが求められている。この要求に応える技術として、遠隔地に配置されたストレージサブシステムに通信回線を経由して複製ボリューム(以降、副ボリュームと呼ぶ)を作成することが可能な技術がある。この技術を使うことで、遠隔地から速やかにデータを回復して業務再開が可能となる。このような技術は例えば、特許文献1に記載されている。
特開平11−85408号公報
現在のリモートコピーは、計算機からローカルサイトへ更新データが送られ、同様にリモートサイトへも更新データが送られるが、これは入出力単位でのデータ更新の保証しか行なわれない。
このため、計算機上のアプリケーションプログラムから、複数のボリュームに格納されているデータファイルの更新を行う場合、その論理的に意味のあるデータ更新の途中で通信回線の障害などで複製処理が中断した場合、入出力単位でのデータ更新を保証しても、複製先である副ボリュームのデータはアプリケーションプログラムから見て不完全なデータとなることがある。
このように不正なデータを持ったリモートサイトで副ボリュームを用いて業務を再開するためには、アプリケーションプログラム側のジャーナルを用いて副ボリュームのデータを回復してから業務を再開する必要があった。
そこで本発明では、リモートコピーにおいて、プロセス又はタスク単位にデータ更新状態の整合性を取ることができる情報処理システムを提供する。
ホスト計算機で実行されているアプリケーションプログラムから論理ボリュームに格納されたデータを更新する場合に、処理の実行単位であるプロセスによって生成されたデータ更新要求を一つの更新グループとして、更新要求にグループを示す情報を付与する。
リモートサイトのストレージサブシステムは、更新データにグループを示す情報が付与されていた場合には、更新要求に係る更新データをリモートサイトのディスク制御装置内で蓄積し、グループ解除指示が到着した時点で蓄積された更新データをボリュームへ反映する。
通信障害でリモートコピーが中断しても、複数ボリュームに対するデータ更新状態の整合性を保証できる。これにより、アプリケーションプログラムから見て整合性の取れた状態に維持することができる。
以下に、本発明の実施形態を説明する。尚本発明は以下に示す実施形態によって限定されるものではない。
以下、説明する実施形態の一部をとることで、リモートサイトにてプロセス又はタスク単位でデータが保証されるリモートコピーを実現することができる。また、実施形態の一部をとることでプロセス又はタスクが複数のボリュームに対してデータを更新する場合においても、複数のボリュームに対してデータを保証することが可能となる。その他、本システムで実現できる効果等については、以下の実施形態で説明する。
図1は、本発明の第1の実施形態である情報処理システムの構成ブロック図である。
この情報処理システムは、メインサイトのホスト計算機10A、ホスト計算機10Aに接続されたディスク制御装置20Aとディスク装置30Aとを有するストレージサブシステム400Aと、リモートサイトのホスト計算機10B、ホスト計算機10Bに接続されたディスク制御装置20Bとディスク装置30Bよりなるストレージサブシステム400Bとを有している。また、ストレージサブシステム40Aとストレージサブシステム400Bは、高速な通信回線によって接続されている。
メインサイトのディスク制御装置20Aとリモートサイトのディスク制御装置20Bとは高速なデータ送受信が可能である通信回線15、例えば、LAN(Local Area Network)やSAN(Storage Area Network)などの通信回線で接続されている。
ホスト計算機10Aは、ディスク装置30Aに格納されるデータの入出力要求を、ディスク制御装置20Aに対して発行する。入出力要求を受けたディスク制御装置20Aは、要求に基づきディスク装置30Aに対してデータの読み出し、或いは書き込みを実施する。
また、同様にホスト計算機10Bは、ディスク装置30Bに格納されるデータの入出力要求を、ディスク制御装置20Bに対して発行する。入出力要求を受けたディスク制御装置20Bは、要求に基づきディスク装置30Bに対してデータの読み出し、或いは書き込みを実施する。
また、メインサイトのディスク制御装置20Aとリモートサイトのディスク制御装置20Bとは通信回線で結ばれていることから、リモートサイトにメインサイトのディスク装置の複製ボリュームを作成することもできる。そのため、ディスク災害時の復旧では、メインサイトのホスト計算機10Aと、ディスク制御装置20Aおよびディスク装置30Aからなるストレージサブシステム400Aとで行っていた業務を、リモートサイトの計算機10Bと、ディスク制御装置20Bおよびディスク装置30Bからなるストレージサブシステム400Bに切り替えて実行することができる。つまり、メインサイトで行われていた業務やデータをリモートサイトで引き継いで再開することができる。なお、リモートサイトの計算機10Bは、メインサイトの計算機10Aと同一の構成である。
ホスト計算機10Aは、CPU11,メモリ12および入出力インタフェース13を備える。CPU11は、メモリ12にプログラムを内蔵しており、目的に応じてプログラムを実行する。メモリ12は、ホスト計算機10Aで動作するプログラムやデータを格納する。入出力インタフェース13はディスク制御装置20Aとでデータの送受信を行う。
ディスク制御装置20Aは、入出力インタフェース21、CPU22、メモリ23及びディスクインタフェース24を備える。
入出力インタフェース21は、ホスト計算機10Aとの間でデータの送受信、又はディスク制御装置20Bとの間でデータの転送を行う。CPU22は、メモリ23に格納されているプログラムを実行する。メモリ23は、ディスク制御装置20Aで稼動するプログラムやデータを格納する。
ディスクインタフェース24は、ディスク装置30Aとの間でデータの送受信を行う。
リモートサイトの計算機10B,ディスク制御装置20B,ディスク装置30Bの構成は、それぞれホスト計算機10A、ディスク制御装置20A,ディスク装置30Aとほぼ同一構成である。
図2は、前述のように構成された情報処理の機能ブロック図である。
メインサイトのホスト計算機10Aは、アプリケーションプログラム101とOS102とが稼動している。これらは、前述のように、メモリ12に格納されているプログラムをCPU11が読み出して実行することによって、それぞれの機能が実現されている。
アプリケーションプログラム101は、ディスク装置30Aに設定されている複数の論理ボリュームに配置されたファイルに対してデータの入出力要求を行う。OS102は、アプリケーションプログラム101からの処理要求を受けるとプロセス管理プログラム105でプロセスを生成してスケジュールする。
ここで、プロセスとは、システム利用者のアプリケーションプログラムの実行やシステム管理の処理を行う単位で、タスクと同義である。また、論理ボリュームとは、磁気ディスク等の記憶媒体の記憶領域を管理する単位であり、ファイルは、関連のあるデータの集合体である。
スケジュールされたプロセスはCPUの資源が割当てられると実行状態となり、アプリケーションプログラムからの入出力要求は入出力アクセス法プログラム103に制御が渡り、更に入出力実行管理プログラム104に制御が渡され、これをディスク制御装置20Aへの入出力要求に変換して、ディスク装置20Aに送信する。
OS102は、プロセス管理プログラム105及び入出力アクセス法プログラム103、入出力実行管理プログラム104を含む。これらのプログラムは、アプリケーションプログラム101からの処理要求に対して、プロセスの管理(例えばプロセスの生成、スケジュール、消滅)、入出力要求に基づいて、ディスク制御装置20Aに対して、論理ボリュームの状態の通知や設定を行う。
外部記憶装置に作成する定義ファイル140は、ユーザ定義情報である。本ファイルでは、プロセスから行われる入出力要求に対して更新データのグループを示す情報を付与するための規則情報が定義されている。なお、ここでは、定義ファイル140が外部記憶装置に格納されている例を示しているが、ホスト計算機10A、10Bに格納されるようにしても良い。
ディスク制御装置20Aは、入出力要求受付部112Aと入出力制御コンポーネント113Aとデータコピー制御コンポーネント114Aとが稼動している。これらは、前述のようにメモリ23に格納されているプログラムをCPU22が読み出して実行することにより、それぞれの機能が実現されている。
入出力受付部112Aは、ホスト計算機10Aから送信された入出力要求を受け取ると、その内容を判定して、入出力制御コンポーネント113A又はデータコピー制御コンポーネント114Aに制御を渡す。入出力制御コンポーネント113Aは、受け取った入出力要求に基づいて、ディスク装置30Aへのデータの入出力を実行する。データコピー制御コンポーネント114Aは、受け取った入出力要求に基づいて、ディスク制御装置20Bとの間でデータコピーに関する制御を実行する。
転送ポート115A及びポート115Bは、ディスク制御装置20Aと、ディスク制御装置20Bの間で入出力要求を通信回線150を介してリモートサイトに転送するための接続経路である。
ディスク装置30Aには、複数の論理ボリュームが設定されている。ここで、メインサイトのディスク装置30Aに設定された論理ボリュームを正ボリューム、メインサイトの正ボリュームに格納されたファイルの複製が格納されているリモートサイトのディスク装置30Bの論理ボリュームを副ボリュームとする。また、正ボリューム121A、121Bは論理的に意味のあるファイルが格納され、そのファイルの複製が副ボリューム121B、122Bに格納されているとする。論理的に意味があるとは、例えば、金融の預金高を管理するデータベース等において、預金情報のデータと残高情報のデータが別々のボリュームに格納されている場合において、預金情報のデータが格納されたボリュームと残高情報のデータが格納されたボリュームの関係をいう。つまり、預金情報、残高情報のようにデータの内容は異なるが、一つの業務アプリケーション、プロセス又はタスクによって参照、更新が行われる関係にあるものである。
ディスク制御装置20Aは、ホスト計算機10Aからのデータ書き込み要求を受け取ったときに、その書き込みデータを正ボリューム121A、122Aの両方に書き込むと共に、データを制御装置20Bに転送する。データ制御装置20Bは、送られてきたデータを副ボリューム121B、122Bに書き込む。このように、メインサイトからリモートサイトにデータを送り、リモートサイトに複製を生成することを以降は、リモートコピーと呼ぶ。
なお、リモートサイトのホスト計算機10B及びディスク制御装置20Bの構成は、メインサイトのホスト計算機10A及びディスク制御装置20Aとほぼ同一である。
図3は、メインサイトのホスト計算機10AのOS102に含まれるプロセス管理プログラム105と入出力アクセス法プログラム103、入出力実行管理プログラム104、更新データグループID制御規則ファイル140の動作を示している。
プロセス管理プログラム105は、プロセス状態変化要求受付部200、プロセス状態制御部220、プロセス情報管理部210、プロセス状態通知部230を有している。
プロセス状態変化要求受付部200は、ホスト計算機10Aからの処理要求を受けてプロセスの状態変化における要求種別をプロセス状態制御部220に渡す。プロセスの状態変化における要求種別とは、例えばプロセスの生成、プロセスの消滅があり、また、プロセスやタスクが処理要求を受けて待ち状態から実行状態に変わり、処理を終えるとまた待ち状態にプロセスやタスクの状態が遷移するプロセスの状態遷移も含まれる。
プロセス情報管理部210は、プロセスが実行されるアドレス空間の管理情報を管理するためのアドレス空間管理情報210A,プロセスの実行状態を管理するためのプロセス管理情報210Bを有している。
プロセス状態制御部220は、プロセス状態変化要求受付部200より取得した要求種別を解析してプロセスの制御や、アドレス空間の制御を実施し、プロセス状態通知部230にプロセスの状態やプロセスの状態遷移情報を渡す。
プロセス状態通知部230は、プロセス状態制御部220より取得したプロセスの状態やプロセスの状態遷移情報と外部記憶装置に定義されたファイル140に作成するファイル(以降、更新データグループID制御規則と称す。)の定義情報から更新要求に対してグループ化の識別情報を登録または、削除するかを入出力実行管理プログラム104の更新データグループ制御部280に対して通知する。
入出力アクセス法プログラム103は、OS自身やアプリケーションプログラムからの入出力要求を受け付け、一連の入出力コマンド群を生成する部分である。
入出力実行管理プログラム104は、入出力要求受付部260、入出力実行制御部270、更新データグループ制御部280、更新データグループ状態管理部290とを有する。
入出力要求受付部260は、入出力アクセス法プログラム103などからの入出力要求情報260Aを受け付ける部分である。
入出力実行制御部270は、入出力要求情報260Aに設定された情報に従って、入出要求の制御や、実行を行う部分であり、ここでは更新データグループIDの付与も行っている。
更新データグループ制御部280は、入出力実行制御部260からの更新データグループID情報付与の照会、プロセス状態通知部280からの要求により、更新データグループID情報の登録、解除を制御する部分である。
更新データグループ状態管理部290は、更新データグループID情報の管理部であり、登録された更新データグループ情報が管理される部分である。
図4は、複数ボリュームに分散されたファイルの更新要求の実施例を説明したものである。
図4Aはメインホスト計算機10Aにおいて、複数ボリュームに配置されたデータベースファイル400A、400B,400Cに対して一つのプロセスから更新要求が行われた例である。データベースファイル400A,400B,400Cは論理的に意味のある関係にあり、更新状態の同期が取れていないと意味を持たないため、ボリューム121A,122A,123Aの更新状態はリモートサイトで複製された場合にも同期が取れていなければならない。
ここで、対象となるファイル構成であり、メインサイトの計算機10Aでファイル400A、ファイル400B、ファイル400Cの更新状態がリモートサイトでリモートコピーにより複製された場合に更新状態の同期が取れていなければならない。
図4Bはメインホスト計算機10Aにおいて、複数ボリュームに配置されたデータファイルの論理的に意味のあるファイルの例である。
ボリューム121Aにはデータセットの属性や空き容量情報、増分情報などを管理するファイル411,412,413を持ち、ボリューム122Aにはボリュームの管理情報40Vを持つ。実際のアプリケーションプログラムで更新するのは、データファイル421,422,423にあり、ファイルの管理情報とデータファイルを別のボリュームに持つことで高信頼性を保持している。この場合もリモートサイトで複製された場合に更新状態の同期が必要である。
図5Aは、プロセス管理プログラム105のプロセス情報管理部210で管理するアドレス空間管理情報210Aの説明図である。
アドレス空間管理情報210Aは、プロセスが動作する上でメモリ上に割り当てられたアドレス空間を管理している制御情報で、アドレス空間ID情報500A、アドレス空間の配下のプロセス管理情報500B、アドレス空間の制御情報500Cとを有する。
アドレス空間ID情報500Aは、割り当てられたアドレス空間の識別子情報である。
アドレス空間配下のプロセス管理情報500Bには、割り当てられたアドレス空間配下に作成されたプロセスの管理情報が設定されている。アドレス空間が割り当てられている状態で同じアドレス空間に新たなプロセスを作成する場合には当該管理情報が更新される。
アドレス空間の制御情報550Cは、アドレス空間で使われるシステムの資源などを管理情報として持つ。
図5Bは、プロセス管理プログラム105のプロセス情報管理部210で管理するプロセス管理情報210Bの説明図である。プロセス管理情報210Bは、プロセスの生成や消滅、プロセスの実行状態遷移、例えばプロセス実行、実行可能状態、待ち状態などの遷移を管理し、動作するアドレス空間の制御情報を管理する情報で、プロセスのID情報550A,プロセスの状態管理情報550B、プロセスの優先度情報550C、プロセスの制御情報550D、プロセスのアドレス空間情報550Eとを有している。プロセスID情報550Aは、プロセスが生成された場合にそのプロセスを特定できる識別子情報として付与される。
プロセスの状態管理情報550Bは、プロセスの状態遷移やそのプロセスの状態情報を持つ。プロセスの優先度情報550Cは、プロセスを実行するためにキューに登録された場合にそのプロセスのキュー実行における優先度が設定されている。
プロセスの制御情報550Dは、処理要求に対応してプログラムの動作に必要な制御情報が設定される。プロセスのアドレス空間情報550Eは、そのプロセスが動作するアドレス空間の識別情報が設定される。
図6Aは、実施例1で表すオンラインプログラムの処理におけるアプリケーションプログラムの制御に関わるプロセスの動作を説明した概略図である。
オンラインのシステムのアドレス空間では、ユーザのアプリケーションプログラム数に応じて処理のプロセス(タスク)が生成された後、トランザクションの起動要求を待っている状態でプロセスが存在する。また、ユーザアプリケーションプログラムのプロセスも生成されたのち、起動要求を待つ状態で存在する。
通常、プロセスが実行待ち状態になる場合、プロセスがメモリ上に用意した事象発生の通知を受けるための事象受領の制御情報領域が存在し、事象の通知を受けて起動される。例えば、ユーザアプリケーションプログラム603に対応するトランザクション起動要求が発生した場合、プロセス1の事象受領の制御情報1に事象発生の通知が行われる。プロセス1は事象の通知を受けると、待ち状態から実行状態に遷移する。
次にユーザのアプリケーションプログラム603を動かすために、プロセスU1のアプリケーションプログラムの起動制御602に起動の事象発生を通知した後、プロセス1は終了制御604からの終了の事象を受けるために事象受領の制御情報2で終了の報告を待つ。ユーザのアプリケーションプログラムの起動制御602は、ユーザのアプリケーションプログラム603の起動要求を事象受領の制御情報3で受けた後、ユーザアプリケーションプログラム603を起動する。
起動したアプリケーションプログラム603は、入出力実行1で論理ボリューム605に入出力要求を行うと、入出力要求完了の事象の通知を事象受領の制御情報4で待つ。このときに、複数のファイルで構成された論理的に意味のある情報を更新する場合に、そのファイルが複数のボリュームに配置されている、または複数の論理ボリュームにファイルが跨る場合に、複数の入出力要求が行われる。この場合、入出力要求の完了を待つ事象受領の制御情報4も入出力要求毎に存在する。
論理ボリューム605で入出力の実行が完了すると事象受領の制御情報4に完了の通知が行われ、ユーザのアプリケーションプログラム603の処理も終了すると、プロセスU1のアプリケーションプログラムの終了制御604は、終了の事象をプロセス1の事象受領の制御情報2に報告する。その後、プロセスU1は、次のアプリケーションプログラム603の起動要求に備え、事象受領の制御情報3で起動の事象を待ち、プロセスは、実行状態から待ち状態に遷移する。
アプリケーションプログラムの終了の事象を事象受領の制御情報2で受領したプロセス1は、トランザクションの終了を報告したのち、アプリケーションプログラム603の次の起動要求が有れば、再度、アプリケーションプログラム603を起動する。次のトランザクションの要求を受けていない場合には、プロセス1も次のトランザクションの起動要求を受けるために事象受領の制御情報1で次の起動要求を待つ状態にプロセスは遷移する。
ここでは、アプリケーションプログラム603で行われる入出力要求のグルーピングを実現するためにプロセスU1のプロセスの状態遷移(事象受領の制御情報3)を監視して、更新データグループID制御規則ファイルと照合の上で、グルーピングを実現するものである。
図6Bは、図6Aで示したユーザのアプリケーションプログラムのプロセスU1がアプリケーションの起動要求を受けてから、アプリケーションプログラムの終了を返すまでのプロセスの状態遷移を表したものである。
プロセス1からの起動要求を受けて、プロセスU1のプロセスは起動要求待ちの状態から実行状態に遷移する。この状態遷移を受けて更新データグループの識別情報が生成される。更新データグループの識別情報生成後、プロセスU1配下で行われるアプリケーションからの一連の入出力要求に対して、一つのグループとして扱うための識別情報(更新データグループID)が付与され、入出力要求が実行される。アプリケーションプログラムでの入出力が終わり、アプリケーションプログラムが終了すると、プロセスU1のプロセスは、次の起動要求を受けるために実行状態から起動要求待ちに遷移する。この状態遷移を捉えて、更新データグループの識別情報を付与する範囲を終わらせると判断する。
図7Aは、プロセス管理プログラム105におけるプロセス状態変化要求受付部200の処理を示したフローチャートである。
プロセス状態変化要求受付部200は、例えばプロセスの生成、消滅などのプロセスの変化を受け付ける(ステップ7A1)。その後、プロセスの要求種別をプロセス状態制御部220に渡し(ステップ7A2)、プロセスを実行する。
プロセスの要求種別とは、プロセスが生成された場合に発生する生成要求、プロセスが消滅された場合に発生する消滅要求、プロセスの状態変化としてはプロセスが実行待ち状態から実行状態に遷移する場合に事象受領の制御情報も実行状態に変わるのでこれを捉えての実行要求、実行状態からプロセスが待ち状態に遷移する場合の事象受領の制御情報も待ち状態に変わるのでこれを捉えての待ち要求などを言う。
図7Bは、プロセス管理プログラム105におけるプロセス状態制御部220の処理を示したフローチャートである。
プロセス状態制御部220は、プロセス状態変化要求受付部200よりプロセスの要求種別を受けてプロセスの制御を行う処理である。
プロセス状態変化要求受付部200よりプロセスの要求種別を取得する(ステップ701)。要求種別の判定結果(ステップ702)で、プロセス生成の場合、プロセス状態通知部230に渡す状態遷移情報1300のプロセスの状態遷移情報1301にプロセス生成の情報を設定する(ステップ703)。次にプロセスの管理情報550を新規に作成(ステップ704)したのち、新たなプロセスを生成した場合にそのプロセスを実行するためのアドレス空間が既に作成されているかを調べる(ステップ705)。アドレス空間が作成されていない場合には新規にアドレス空間を作成(ステップ706)し、生成したプロセスの制御情報550のプロセス状態管理情報550Bにプロセスが実行可能状態である情報を設定(ステップ707)したのち、状態遷移遷移情報1300のプロセス状態遷移情報1301をプロセス状態通知部230に通知(ステップ732)して終了する。
ステップ705で、プロセスが実行するためのアドレス空間が既に作成されていると判断した場合には、そのアドレス空間に新たなプロセスの制御情報を作成(ステップ708)し、アドレス空間配下のプロセス管理情報550Bを更新する。その後、プロセスの状態管理情報550Bにプロセスが実行可能状態である情報を設定(ステップ707)したのち、状態遷移情報1300のプロセス状態遷移情報1301をプロセス状態通知部230に通知(ステップ732)して終了する。
ステップ702で要求種別がプロセスの生成以外である場合、ステップ709で更に要求種別の判定を行う。ステップ709でプロセス消滅の要求であると判断した場合には、消滅させるプロセスのCPUの割当て状態を解除(ステップ710)する。次にプロセス状態通知部230に通知する状態遷移情報1300のプロセスの状態遷移情報1301にプロセス消滅の情報を設定(ステップ711)した後、消滅させるアドレス空間に他のプロセスが存在するか調べる(ステップ712)。存在しないと判断した場合には、アドレス空間を消滅させた後、アドレス空間の管理情報500も削除する(ステップ713)。その後、消滅要求されたプロセス管理情報550も削除(ステップ714)し、状態遷移遷移情報1300のプロセス状態遷移情報1301をプロセス状態通知部230に通知(ステップ732)して終了する。
ステップ712で消滅させようとしていたアドレス空間に未だ他のプロセスが存在した場合には、アドレス空間を消滅できないので消滅させるプロセスだけを削除(ステップ714)して、状態遷移遷移情報1300のプロセス状態遷移情報1301をプロセス状態通知部230に通知(ステップ732)して終了する。
ステップ709でプロセスの消滅以外であると判断した場合に更に要求種別を判定し、待ち状態への状態遷移であれば、ステップ717を実行する。ここで言う待ち状態は、例えば、入出力要求を出して、入出力実行結果の割込み待ちを言う。このときに当該プロセスのCPU割当状態を解除(ステップ717)し、プロセス状態通知部230に通知する状態遷移情報1300のプロセスの状態遷移情報1301はプロセス実行待ち状態の情報を設定する(ステップ718)。また、プロセス制御情報550のプロセスの状態管理情報550Bもプロセス実行待ち状態に設定(ステップ719)し、状態遷移遷移情報1300のプロセス状態遷移情報1301をプロセス状態通知部230に通知(ステップ732)して終了する。
ステップ716でプロセスの実行待ちではない場合にはステップ720で更に要求種別を判定し、プロセスが実行可能状態である場合にはプロセス721を実行する。実行可能状態とは、プロセスの生成が完了し、CPUが割り当てられれば、いつでも稼動可能な状態にある状態を言う。当該プロセスのCPU割当は解除(ステップ721)し、プロセス状態通知部230に通知する状態遷移情報1300のプロセス状態遷移情報1301にプロセス実行可能状態を設定する(ステップ722)。次にプロセスの制御情報550に設定されているプロセスの優先度情報550Cに従い、プロセス管理情報550を実行可能キューに登録する(ステップ723)。プロセス優先度情報550Cは、システムで定められたプロセスの実行の優先度であり、一般的には優先度が高ければ実行キューの先頭に登録され、即、実行状態に設定される。実行キューに登録されたプロセスが先頭キューに登録されたか判断(ステップ724)し、先頭であればプロセスは即、実行されるのでプロセス550のプロセス状態管理情報550Bをプロセス実行中に設定(ステップ725)し、状態遷移遷移情報1300のプロセス状態遷移情報1301をプロセス状態通知部230に通知(ステップ732)して終了する。
ステップ724で、実行キューに登録したが実行可能キューの先頭ではない場合にはプロセス550のプロセス状態管理情報550Bはプロセス実行可能に設定(ステップ726)し、状態遷移遷移情報1300のプロセス状態遷移情報1301をプロセス状態通知部230に通知(ステップ732)して終了する。
ステップ720で、プロセスの要求種別が実行可能ではない場合には、ステップ727で更に要求種別を判定し、プロセスの実行であればプロセスにCPUを割り当てる(ステップ728)。プロセス状態通知部230に通知する状態遷移情報1300のプロセス状態遷移情報1301は、プロセス実行中に設定(ステップ729)し、プロセスの状態管理情報550Bもプロセス実行中に設定(ステップ731)し、状態遷移遷移情報1300のプロセス状態遷移情報1301をプロセス状態通知部230に通知(ステップ732)して終了する。
図8は、プロセス管理プログラム105におけるプロセス状態通知部230の処理を示したフローチャートである。
プロセス状態通知部230では、プロセス状態制御部220からプロセスの状態遷移情報1300を入力情報として取得する(ステップ801)。次にユーザで定義した更新データグループID制御規則の定義ファイル140を読み出す。(ステップ802)。ステップ802で読み出された更新データグループID制御規則のファイル140の制御規則900から、対象名称903を取り出し、プロセス管理プログラム105が対象名称903を動作させるアドレス空間ID情報やプロセスID情報を取得する(ステップ803)。次にプロセス状態制御部220から取得した状態遷移情報1300のプロセスID情報1303とアドレス空間ID情報1304がステップ803で求めたアドレス空間ID情報やプロセスID情報と一致するか比較して調べる(ステップ804)。ステップ804で比較して一致するものが無ければ何もせず終了する。なお、更新データグループID制御規則の定義ファイル140に複数の制御規則900が登録されている場合には登録されている規則数分だけ比較して調べる。
ステップ804で比較して一致するものがあれば、プロセス状態制御部220から取得した状態遷移情報1300のプロセス状態遷移情報1301が更新データグループID制御規則の定義ファイル140の更新データグループID登録契機901と一致するか調べる(ステップ805)。一致する状態とは例えば、プロセス状態遷移情報1301にプロセスが「待機状態から実行状態に変わる契機」を意味する情報が設定されており、更新データグループID制御規則の定義ファイル140の更新データグループID登録契機901にも「待機状態から実行状態に変わる契機」を意味する情報が設定されている場合に一致と判断する。尚、比較に使用する情報は、同じコード情報で実現する或いは、異なるコード同士を対応させる処理があって実現するなど「一致」する条件の実現方法は特に規定しない。ステップ805で一致した場合には、プロセス状態制御部220から取得した状態遷移情報1300の要求情報1302に更新データグループID登録要求の情報を設定する(ステップ806)。
次に入出力実行管理プログラム104の更新データグループ制御部280に通知(ステップ809)し、終了する。ステップ805で、一致するものが無ければステップ807でプロセスの状態制御部220から取得した状態遷移情報1300のプロセスの状態遷移情報1301が更新データグループID制御規則の定義ファイル140の更新データグループID削除契機902と一致するか調べる(ステップ807)。ステップ807で一致しない場合には何もせず終了する。ステップ807で一致した場合には、プロセス状態制御部220から取得したプロセスの状態遷移情報1300の要求情報1302に更新データグループIDの削除要求を設定(ステップ808)して、入出力実行管理プログラム104の更新データグループ制御部280に通知(ステップ809)し、終了する。
図9は、図8で述べたユーザが定義する更新データグループID制御規則の定義ファイル140のデータ構造を説明したものである。
制御規則900は、更新データグループID登録契機の定義情報901、更新データグループID解除契機の定義情報902、更新データグループID情報を付与、制御する対象となる対象名称903で構成され、複数の対象名称を対象としたい場合には複数の制御規則を登録する。更新データグループID登録契機の定義情報901は、対象名称903で示すアプリケーションのプロセスやタスクがどのような状態に遷移した場合に更新データグループIDを登録するかを示すための情報領域である。情報の内容については本実施例では特に定めることはしない。更新データグループID解除契機の定義情報902は、対象名称903で示すアプリケーションのプロセスやタスクがどのような状態に遷移した場合に更新データグループIDを解除するかを示すための情報領域である。情報の内容については本実施例では特に定めることはしない。
対象名称903は、更新データグループIDの登録/解除の対象となるアプリケーションを特定する名称やアプリケーションを特定できる識別情報を設定する。本ファイルは、更新データグループID情報の制御を実現する上で必要なファイルであり、更新データグループIDの登録、削除を制御し、対象となるプロセスを特定することができる情報定義ファイルである。なお、本ファイルは外部記憶装置に定義ファイルを作成しておく他に、システムのメモリに格納するようにしてもよい。
図10は入出力実行管理プログラム104の更新データグループ状態管理部290で管理している更新データグループID情報290Aを説明したものである。
更新データグループID情報290Aは、例えば、プログラムが動作するプロセスやアドレス空間を特定できる情報で構成する。プログラムが動作しているプロセスの識別情報であるプロセスID情報1001、プログラムが動作しているアドレス空間の識別情報であるアドレス空間ID情報1002で構成している。未登録の更新データグループIDは、情報領域そのものが存在しない。登録解除の場合は登録情報領域そのものが削除される。なお、更新データグループIDの構成については、プログラムのプロセスを特定できる構成であれば限定するものではない。
図11は、入出力実行管理104の更新データグループ制御部280の動作を示したフローチャートである。
更新データグループ制御部280は、入出力実行制御部270またはプロセス状態通知部230から送られてくるプロセス状態遷移情報により実行される(ステップ1101)。入出力実行制御部270から実行される場合と、プロセス状態通知部230から実行される場合では処理性質の違いから入力情報が異なるので何れのプログラムから実行されたのか識別する必要がある。ここでは、送られてくるプロセス状態遷移情報に入出力実行制御部270又はプロセス状態通知部230の識別情報が付されているので、その識別情報に基づいて判断する(1102)。
入出力実行制御部270からプロセス状態遷移情報を受けた場合には、入出力要求受付部260で受け付けた入出力要求情報260Aが更新データグループに登録されているかチェックする(ステップ1103)。入出力要求情報260Aには、入出力要求のプロセスID情報1203、入出力要求の実行アドレス空間ID情報1203が格納されているため、この情報と、更新データグループ状態管理部290に登録されている更新データグループID情報290Aが一致するか調べ、一致すれば登録済みと判断する。プロセスID情報やアドレス空間ID情報が登録済みの場合には、同一の更新データグループとするために更新データグループID付与有りの要求と更新データグループIDを更新データグループ制御部280からのリターン情報1400に設定して(ステップ1104)、入出力実行制御部270にリターン情報1400を送る。
リターン情報1400は更新データグループID付与有無の要求1401,更新データグループID情報1402で構成している。ステップ1103の実行結果で未登録と判断した場合には、更新データグループID情報290Aを入出力の更新要求に付与する必要がないので更新データグループIDを付与しないことを示す情報を更新データグループ制御部からのリターン情報1400に設定(ステップ1105)して、入出力実行制御部270にリターン情報1400を送る。この場合、リターン情報1400の更新データグループID情報1402には更新データグループID情報290Aを設定しない。
プロセス状態通知部230からプロセス状態遷移情報を受けた場合には、プロセス状態通知部から取得した状態遷移情報1300の要求情報1302が解除要求か判定(ステップ1106)し、解除要求であれば、プロセス状態遷移情報1300のプロセスID情報1303,アドレス空間ID情報1304と一致する更新データグループID情報が更新データグループ状態管理部290に登録されているかチェックする(ステップ1107)。登録済みであれば解除要求された更新データグループID情報を更新データグループ状態管理部290より削除(ステップ1108)する。次に、解除要求された更新データグループID情報をディスク制御装置20Aに通知するための入出力要求情報260Aを作成(ステップ1109)し、更新データグループID解除指示用のコマンド及び制御情報に更新データグループID情報を設定して入出力要求を実施する(ステップ1110)。
更新データグループ解除指示を行ない、解除指示がリモートサイトのディスク制御装置20Bに到着すると、更新データグループ解除指示の制御情報に設定された更新データグループID情報とリモートサイトのディスク制御装置20Bに蓄積されていた更新データグループID付情報きの更新情報で一致する更新情報が一斉に副ボリュームに反映(複製)される。
ステップ1107で未登録の場合には何もせずプロセス状態通知部230を実行する。ステップ1106で要求情報1302が登録要求であれば、プロセス状態遷移情報1300のプロセスID情報1303、アドレス空間ID情報1304で構成される更新データグループID情報が更新データグループID情報として登録されているかチェックする(ステップ1111)。未登録であれば、状態遷移情報1300に設定されているプロセスIID情報1303、アドレス空間ID情報1304で構成した更新データグループIDを新規に登録する(ステップ1112)。ステップ1111で登録済であれば、何もせずプロセス状態通知部230を実行する。
図12Aは、入出力実行管理部104の入出力要求管理部207で管理する入出力要求情報260Aを示したものである。入出力要求情報260Aは、入出力制御情報1201、入出力装置のアドレス情報1202、入出力要求プロセスID情報1203、入出力要求実行アドレス空間ID情報1204、入出力対象ファイルアドレス情報1205、入出力コマンド群アドレス情報1206とを有している。
入出力制御情報1201は、入出力動作を制御する情報が設定されており、入出力の実行結果や、入出力の動作方法などの制御情報が格納される。入出力装置のアドレス情報1202は、例えば入出力要求を行う装置の論理アドレスが設定されており、ディスク装置を特定する情報が格納される。入出力要求プロセスID情報1203は、プロセスが実行されるときのプロセスの識別情報が格納されている。
入出力要求実行アドレス空間ID情報1204は、プログラムが動作するアドレス空間の識別情報が格納されている。入出力対象ファイルアドレス情報1205は、入出力要求の対象となる入出力装置上のファイルのアドレス情報が格納されている。入出力コマンド群アドレス情報1206は、入出力アクセス法プログラム103からの入出力コマンド群のアドレス270Bが格納される。
図12Bは、更新入出力要求のコマンドの一例で、データ書き込みコマンドが一つ若しくは複数連なってデータ更新を行うための入出力コマンド群である。
図12Cは、図12Bに先立って入出力実行制御部270が付与する入出力起動制御用コマンド群であり、制御用コマンドで固有の制御情報270Dを設定して入出力要求を行う。例えば、図12Bのコマンド群でファイルへの書き込みを行う場合に、入出力起動制御用コマンド群260Cがディスク制御装置の入出力制御部1611に送信される。制御用コマンド群260Cの制御情報に図12Dで示す更新データグループ情報1211が付与されているとデータコピー制御部1601で書き込み要求の入出力コマンド群260Bを受け付けたときに以降のデータ書き込み要求に対して更新データグループ情報を付与して入出力を実行する。
図12Dは、制御用コマンドに更新データグループ情報を付与する場合の構成例である。制御用コマンド1207の制御情報260Dに対し、既存の制御情報1210に加え、更新データグループID情報1211、タイムスタンプ情報1212を付与している。
図13は、プロセス管理プログラム105におけるプロセス状態通知部230が作成する状態遷移情報を示したものである。
状態遷移情報1300は、プロセスの状態遷移情報1301、要求情報1302、プロセスID情報1303、アドレス空間ID情報1304とを有している。状態遷移情報1300は、入出力実行管理プログラム104の更新データグループ制御部280を実行する場合の入力情報としてプロセス状態通知部230が作成する。プロセス状態遷移情報1301は、プロセス状態制御部220がプロセスの状態遷移に応じて設定するものであり、プロセス状態通知部230が参照する。要求情報1302は、プロセス状態通知部230が設定する情報で、プロセス状態制御部280で設定したプロセスの状態遷移情報1301とユーザが定義した更新データグループID制御規則ファイル140とで照合したのち、更新データグループID情報の登録、削除の要求に変換したものが設定される。更新データグループ制御部280が参照する。プロセスID情報1303は、更新データグループ状態管理部290に登録された更新データグループIDとの照合情報で、プロセスの識別子である。アドレス空間ID情報1304は、更新データグループ状態管理部290に登録された更新データグループIDとの照合情報で、アドレス空間の識別子である。
図14は、入出力実行管理プログラム104における更新データグループ制御280からのリターン情報を示したものである。リターン情報1400は、更新データグループID付与有無の要求情報1401、更新データグループID情報1402を含む。更新データグループID付与有無の要求情報1401は、入出力実行管理プログラム104の更新データグループ制御部280で処理した結果、更新データグループID情報を制御用コマンド1207の制御情報270Dに設定する必要がある場合に更新データグループIDの付与が必要を意味する要求情報1401が設定される。更新データグループID情報1402は、更新データグループ制御部280において更新データグループID付与が必要と判断した場合にプロセスID情報、アドレス空間ID情報に応じた更新データグループIDが設定される。
図15は、入出力実行管理プログラム104における入出力実行制御部260の処理を示したフローチャートである。
入出力実行制御部260は、入出力要求の実行に先立ち、入出力の対象となる入出力装置が実行可能な状態かを調べる(ステップ1501)。実行可能かどうかは例えば装置を管理している制御情報などで判断する。装置を管理している制御情報には、装置が入出力実行可能状態にあるのか否かを示す情報が設定されており、入出力実行管理部104は、その情報を見て入出力の実行を制御している。判定結果が入出力実行不可であった場合には、入出力要求を実行せずに待ち状態もしくはエラーとする(ステップ1510)。
ステップ1501で調べた結果、入出力実行可能であった場合には、入出力要求受付部260の入出力要求情報260Aに更新データグループ削除の指示があるか調べる(ステップ1502)。指示がある場合には、入出力コマンド群(解除要求の場合には制御用コマンドのみ)の制御情報にタイムスタンプを付与(ステップ1506)し、入出力コマンド群をディスク制御装置20Aに送る(ステップ1507)。入出力要求を実行し、入出力要求の完了報告を待ち(ステップ1508)、入出力完了報告を受けて入出力要求元へ入出力要求完了の通知を行う(ステップ1509)。
ステップ1502で、更新データグループIDの解除ではない場合には、入出力要求受付部260の入出力要求情報260Aに指定されたプロセスID情報1203及びアドレス空間ID情報1204で更新データグループID情報を付与する必要があるか調べるために更新データグループ制御部280を実行する(ステップ1503)。このときに、入力情報として状態遷移情報1300を作成する。
更新データグループ制御部280を実行した結果(ステップ1504)、リターン情報1400の更新データグループID付与有無の要求情報1401で付与が必要であるというリターン結果であった場合には、リターン情報1400の更新データグループID情報1402の更新データグループID情報を入出力起動制御用コマンド1207の制御情報260Dに付与する(ステップ1505)。次に入出力コマンド群の制御情報260Dにタイムスタンプを付与(ステップ1506)し、入出力コマンド群をディスク制御装置に送付する(ステップ1507)。入出力要求を実行し、入出力要求の完了報告を待ち(ステップ1508)、入出力完了報告を受けて入出力要求元へ入出力完了の通知を行う(ステップ1509)。
図16は、ディスク制御装置20A/20Bを構成するデータコピー制御コンポーネント114と入出力制御コンポーネント113を詳細に示したものである。
データコピー制御コンポーネント114はデータコピー制御部1601とデータバッファ部1602から構成され、入出力制御コンポーネント113は入出力制御部1611とボリューム状態管理部1612から構成される。データバッファ部1602はリモートコピーのリモートサイト側のディスク制御装置20Bにおいて、更新データグループID情報が付与されたデータ更新要求を更新データ情報1603に変換して蓄積する部分である。
ボリューム状態管理部1612は、ディスク制御装置が管理しているボリュームの情報(ボリューム情報1613)を管理する部分である。データコピー制御部1601は、ディスク制御装置間のリモートコピーに関する制御を行う部分であり、メインサイトのディスク制御装置においてはデータ更新要求や更新データグループ終了指示コマンドのリモートサイトのディスク制御装置20Bへの転送を行う。リモートサイトのディスク制御装置20Bにおいてはデータバッファ部1602へ更新データ情報1603を蓄積し、更新データグループ解除指示コマンドの要求に従いデータバッファ部1602の情報をリモートサイトの副ボリュームへ反映する。
入出力制御部1611は、入出力受付部112を通してコマンドを受け取り実行する部分であり、メインサイトのディスク制御装置20Aにおいてはデータ更新要求や更新データグループ終了指示コマンドのデータコピー制御部1601へ転送を行い、リモートサイトのディスク制御装置20Bにおいては、入出力受付部112からのデータ更新要求や更新データグループ解除指示コマンドをデータコピー転送部1601に転送し、データコピー制御部1601からのデータ更新要求をリモートサイトの副ボリュームに対して実行する部分である。
図17Aはデータバッファ部1602に蓄積される更新データ情報1603を示したものである。更新データ情報1603は、更新データシーケンス番号1701(メインサイトのディスク制御装置がリモートサイトにおけるデータ更新順序を保証するために付与する通し番号)と、計算機が入出力コマンド群に付与するタイムスタンプを反映したタイムスタンプ1702(タイムスタンプをそのまま更新データシーケンス番号として使用する場合もある)と、更新データ情報1704がどの更新データグループに属するかを示す更新データグループID情報1703と、更新対象データと更新内容を含むデータ更新情報1704とを有する。
図17Bはボリューム情報管理部1612にボリュームごとに管理されているボリューム情報1613を詳細に示したものである。ボリューム情報1613は、リモートボリューム情報1710(メインサイトの正ボリュームに対して設定されているリモートサイトの副ボリュームの情報)と、ボリュームを管理するための様々な情報(例えば、ボリュームの空き容量やボリュームの障害情報)を含むその他ボリューム情報1711から構成される。
図18はメインサイトのディスク制御装置20Aにおけるデータコピー制御コンポーネント114Aのデータコピー制御部1601の制御の流れを示したフローチャートである。
データコピー制御部1601は、入出力制御部113Aからコマンドを受け取ったら(ステップ1801)、受け取ったコマンドに更新データグループIDが付与されているかを判定する(ステップ1802)。更新データグループIDが付与されている場合には、更新データグループ解除指示コマンドでないかを判定し(ステップ1803)、更新データグループ解除指示コマンドでない場合には入出力制御コンポーネント113Aの入出力制御部1611から受け取った更新入出力コマンド群を更新データ情報1603に変換する(ステップ1804)。そして、ディスク制御装置20Aで管理している更新データシーケンス番号1701を付与し(ステップ1805)、ボリューム情報管理部1612からリモートボリューム情報1710を取得し(ステップ1706)、入出力受付部112Aを通してリモートサイトのディスク制御装置20Bに送付する(ステップ1707)。
図19はリモートサイトのディスク制御装置20Bにおけるデータコピー制御コンポーネント114Bのデータコピー制御部1601の処理を示したフローチャートである。
データコピー制御部1601は、入出力制御部1611からコマンドを受け取ったら(ステップ1901)、受け取ったコマンドに更新データグループIDが付与されているかを判定する(ステップ1902)。更新データグループIDが付与されている場合には、更新データグループ解除指示コマンドかを判定し(ステップ1903)、更新データグループ解除指示コマンドではない場合には、データバッファ部1602に更新データ情報1603を蓄積する(ステップ1904)。更新データグループ解除指示コマンドの場合にはデータバッファ部1602に蓄積された更新データ情報1603を更新データシーケンス番号順にソートし(ステップ1905)、データバッファ部1602から更新データグループ解除指示コマンドと同じ更新データグループIDを持ち、かつ更新データシーケンス番号が更新データグループ解除指示コマンドに付与されたものより小さい更新データ情報を検索し(ステップ1906)、条件に一致した更新データ情報1603を入出力制御部1611に送付し、データ更新を実行する(ステップ1907)。ステップ1902において、更新データグループIDが付与されていない場合には、更新データ情報を入出力制御部に送付し、データ更新を実行する(ステップ1908)。ステップ1902において、更新データグループIDが付与されてい場合には、データコピー制御部1601は、更新データグループIDを付与せずに更新データ情報だけを入力制御部1611に送信して、データ更新を実行する(ステップ1908)。
図20はメインサイトのディスク制御装置20Aにおける入出力制御コンポーネント113Aの入出力制御部1611の制御の流れを示したフローチャートである。
入出力制御部1611からのコマンドの受け付け・分析を行い(ステップ2001)、受け取ったコマンドが更新データグループ解除指示コマンドかを判定する(ステップ2002)。更新データグループ解除指示コマンドの場合はデータコピー制御部1601へ更新データコピー解除指示コマンドを転送する(ステップ2003)。
更新データグループ解除指示コマンドではない場合は、ボリューム情報1613から入出力対象ボリュームへの入出力実行可否を判断し(ステップ2004)、入出力実行可否を判定する(ステップ2005)。判定の結果入出力が実行不可だった場合には入出力の実行をエラーとし計算機にエラー終了を報告する(ステップ2006)。判定の結果入出力が実行可能であった場合には、入出力対象ボリュームへ入出力を実行する(ステップ2007)。そして、入出力の実行が完了するまで待ち、入出力が正常終了したかを判定する(ステップ2008)。入出力が異常終了した場合には、入出力の実行をエラーとし計算機へエラー終了を報告する(ステップ2006)。入出力が正常終了した場合には、計算機へ入出力の正常終了を報告する(ステップ2009)。そして、正常終了した要求がデータ更新要求かを判定し(ステップ2010)、データ更新要求の場合にはデータコピー制御部1601へデータ更新要求を転送する(ステップ2011)。
図21はリモートサイトのディスク制御装置20Bにおける入出力制御コンポーネント113Bの入出力制御部1611の制御の流れを示したフローチャートである。
リモートサイトの入出力受付部112Bもしくはデータコピー制御部1601から更新データ情報・更新データグループ終了指示コマンドの受け付け・分析を行い(ステップ2101)、要求・コマンドがデータコピー制御部1601からのデータ更新要求かを判定し(ステップ2102)、データコピー制御部1601からの要求でない場合は、コマンド/更新データ情報をデータコピー制御部1601へ転送する(ステップ2104)。データコピー制御部1601からのデータ更新要求の場合には、ボリューム情報1613からデータ更新対象ボリュームの入出力実行可否を判断し(ステップ2104、2105)、データ更新が可能な場合は対象ボリュームへのデータ更新を実行する(ステップ2106)。データ更新が不可能な場合はデータ更新要求をエラーとする(ステップ2107)。
図22は、メインサイトのディスク制御装置20Aの処理の概略を示したフローチャートである。
入出力制御部1611は、入出力インタフェース111および入出力受付部112Aを介して受け付けた入出力要求の分析を行い(ステップ2210)、要求種別の判定を行う(ステップ2220、2230)。参照入出力要求の場合には正ボリューム121からデータを読み出し、入出力受付部112Aと入出力インタフェース111を介して計算機10Aにデータを転送する(ステップ2225)。また、複数の正ボリュームに対する更新入出力要求の場合には、正ボリューム121A,122Aに対してデータの書き込みを行う(ステップ2250)。そして、更新入出力要求もしくは更新データグループの解除指示の場合には、データコピー制御部1601に要求を渡す(ステップ2260)。データコピー制御部1601は、受け取った更新入出力要求を入出力受付部112Aおよび転送ポート115Aを介してディスク制御装置20Bに転送する(ステップ2270)。
図23は、リモートサイトのディスク制御装置20Bの処理の概略を示したフローチャートである。
入出力制御部1611は、入出力インタフェース111および入出力受付部172を介して受け付けた更新入出力要求もしくは更新データグループ解除指示をデータコピー制御部1601に渡す(ステップ2310)。データコピー制御部1601は渡された情報が更新入出力要求かを判定し(ステップ2320)、更新入出力要求の場合には要求に更新データグループIDが付与されているかを判定する(ステップ2330)。情報が付与されている場合にはデータバッファ部1502に更新入出力要求を蓄積し(ステップ2340)、付与されていない場合には入出力制御部1611に更新入出力要求を送付し、副ボリュームへの反映を行う(ステップ2350)。更新データグループの解除指示の場合には、受け付けた時点で同じ更新データグループIDを持つ更新要求は完了を意味する。そのため、データバッファ部1602から解除指示された更新データグループの更新入出力要求を検索し、入出力制御部1611に解除指示された更新データグループの更新入出力要求を送付し、副ボリュームへの反映を一斉に行う。(ステップ2660)。尚、解除要求が到着するまで更新データグループID情報が付与された更新データは反映しない。
以上のように本発明の第1の実施形態では、メインサイトにおいて、ホスト計算機10Aで動作するプロセスからディスク制御装置20Aのディスク装置30Aの複数の正ボリューム121A,122Aに更新の入出力を行う場合に、その更新要求に対して同じ更新データグループに属する識別情報(更新データグループID)を付与することによって、複数のボリュームに対する更新要求でも一つの更新グループとして扱い、ホスト計算機10Aから見て有効な有効な複数ボリュームの更新要求を一つの更新グループとして設定する。リモートサイトのディスク制御装置20Bにおいては、この更新データグループIDが同一の要求データを一時的に蓄積して、同一更新データグループID持つ情報の中で、グループの解除要求が到着するまで更新情報を蓄積したまま副ボリュームへは反映(複製)せず、グループ解除要求が到着した時点で、更新データグループIDが同一の要求を一括して副ボリューム121B、122Bに格納する。このようにすることでホスト計算機10Aから見てメインホストで行われた複数ボリュームの更新状態と同様の更新状態の整合性が保証できるため、メインサイトに障害が発生した場合にもリモートサイトの副ボリュームに格納されたデータはプロセス単位に更新状態の同期が取れ、データの回復において不整合が発生しなくなる。また、障害によるデータ障害やボリューム障害を最小限に留めることが可能となる。
第2の実施形態における、リモートコピーシステムの構成図の一例は実施例1と同じであり図1で示される。第1の実施形態との違いは、更新グループグループID制御規則ファイル140に定義する対象名称の違いによる制御方法である。
図24は、更新データグループID制御規則ファイル140の定義例を説明したものである。
更新データグループID制御規則ファイル140は、更新データグループID登録契機の定義2401、更新データグループID解除契機の定義2402、更新データグループID情報の付与を対象とするプロセスを特定できる対象名称2403で構成される。実際の定義内容はシステムが認識できる情報コード、あるいは名称を使って定義する。
実施例1では、オンラインのアドレス空間名称を指定して制御する場合の実施例であった。オンラインのアドレス空間において、トランザクションの起動や終了時のプロセスをプロセス管理プログラム105のプロセス状態変化受付部200が受ける。その後、プロセス状態制御部220がトランザクション起動時のプロセスの変化を制御して、ユーザが定義する更新データグループID制御情報定義ファイル140の規則に従い、更新データグループID情報の登録や削除を行うものである。オンラインのトランザクションの特性により、プロセスの変化で更新データグループID情報の登録、削除が外部定義により制御できる。
実施例2では、にジョブ名称を指定した定義方法である。
システムの運用では、あらかじめ決められた定型的な作業があり、実行するジョブ名称も決められている場合がある。例えば、定型的なバックアップ作業や、回復作業、複製作業など顧客の資産で保持しているジョブを定型的に実行する場合がある。そのような場合、ジョブ名称で指定されたプロセスからの入出力要求からの更新に対して更新データグループID情報の登録、解除も制御できるのが第2の実施形態である。
実施例2の場合、更新データグループID情報制御規則ファイルの対象名称2403にジョブ名称を指定して運用で更新データグループID情報の付与を制御できるもので、狭義の範囲で細かな制御が可能である。ジョブ名称で指定されたジョブが実行された場合にプロセス状態変化受付部200がプロセスの生成要求を受け、プロセスを生成した際に、更新データグループID情報を登録する。そのプロセスからの入出力要求に対してはプロセスの生成時に登録した更新データグループID情報が付与され、ジョブからの入出力が全て終わり、ジョブが終了することによるプロセスの消滅時に、更新データグループのID解除契機2402の定義によって更新データグループIDの解除指示をするため、ジョブの実行単位で複数ボリュームへの更新がある場合に更新状態の整合性を保証できる。
従来技術のリモートコピー技術もしくは実施例1と同様である。
計算機システムの構成ブロック図である。 計算機システムの機能ブロック図である。 プロセス管理と入出力実行管理との機能関連図である。 複数ボリュームに配置されたデータベースファイルのランダムアクセス例を説明したものである。 複数ボリュームに配置されたデータベースファイルのランダムアクセス例を説明したものである。 プロセス管理情報(アドレス空間管理情報)の構造例の説明である。 プロセス管理情報(プロセス管理情報)の構造例の説明である。 オンラインシステムのアプリケーション制御を示す概略図である。 プロセスU1のプロセス状態遷移とグルーピング範囲を示した状態遷移図である。 プロセス状態変化受付部の処理の詳細を示すフローチャートである。 プロセス状態制御部の処理の詳細を示すフローチャートである。 プロセス状態通知部の処理の詳細を示すフローチャートである。 更新データグループID制御規則ファイルの構成例である。 更新データグループID情報の説明図である。 更新データグループ制御部の処理の詳細を示すフローチャートである。 入出力要求情報の一例を示したものである。 入出力コマンドの一例を示したものである。 制御用コマンドの例を示したものである。 制御用コマンドの制御情報例を示したものである。 プロセス状態制御部から出力する状態遷移情報の一例を示したものである。 入出力実行管理プログラムにおける更新データ制御部のリターン情報である。 入出力実行制御部の処理の詳細を示すフローチャートである。 入出力受付部、入出力制御コンポーネント及びデータコピー制御コンポーネントの説明図である。 更新データ情報の説明図である。 ボリューム情報の説明図である。 メインサイトのディスク制御装置におけるデータコピー制御部の処理のフローチャートである。 リモートサイトのディスク制御装置におけるデータコピー制御部の処理のフローチャートである。 メインサイトのディスク制御装置における入出力制御部の処理のフローチャートである。 リモートサイトのディスク制御装置における入出力制御部の処理のフローチャートである。 メインサイトのディスク制御装置における処理の概略フローチャートである。 リモートサイトのディスク制御装置における処理の概略フローチャートである。 更新データグループID制御規則ファイルの定義例を示したものである。
符号の説明
10 ホスト計算機 11 CPU
12 メモリ
13 入出力インタフェース
20 ディスク制御装置
21 入出力インタフェース
22 CPU
23 メモリ
24 ディスクインタフェース
30 ディスク装置
31 時期ディスク
40 ストレージサブシステム

Claims (10)

  1. データを格納する第1の論理ボリュームが設定された第1のディスク装置と、前記第1
    のディスク装置へのデータ更新を制御する第1の制御部とを備えた第1のディスク制御装
    置と、
    前記第1のディスク装置へのデータの入出力を要求するホスト計算機と、
    データを格納する第2の論理ボリュームが設定された第2のディスク装置と、前記第2
    のディスク装置へのデータ更新を制御する第2の制御部とを備えた第2のディスク装置と
    を有する情報処理システムにおけるデータ入出力方法であって、
    前記ホスト計算機は、プロセス起動要求を受けて更新要求データが属するグループを示す更新データグループの識別情報を生成し、該プロセス配下で行われるアプリケーションからの一連の入出力要求に対して一つのグループとして扱うための該更新データグループの識別情報を付与して入出力要求を実行し、該アプリケーションの入出力が終了し、該プロセスが次の起動要求を受けるために実行状態から起動要求待ちに遷移したのを契機に、該更新データグループの識別情報を付与する範囲を終了し、
    前記ホスト計算機から前記第1の制御部に、前記プロセス単位に前記更新データグループの識別情報を付与した更新要求、またはグループ解除要求を送信し、
    前記第1の制御部から前記第2の制御部へ前記更新要求またはグループ解除要求を送信
    し、
    前記第2の制御部は、更新要求に前記更新データグループの識別情報が付与されて
    いる場合は、前記更新要求に係る更新データを第2の制御部に一次的に蓄積し、前記グループ解除要求である場合には、前記更新データグループの識別情報が同一である前記一時的に蓄積した更新データを、前記第2の論理ボリュームに格納することを特徴とするデータの入出力方法。
  2. 一つの前記プロセスにおいて、異なった論理ボリュームに対する複数の更新要求が生成され、複数の前記更新要求に同一の前記更新データグループの識別情報が付与されていることを特徴とする請求項1記載のデータ入出力方法。
  3. 更新データのグループを示す情報の登録または解除を規定した定義ファイルに基づいて
    前記ホスト計算機は、更新要求に前記更新データグループの識別情報を付与した更新要求又は、グループ解除要求を送ることを特徴とする請求項1記載のデータ入出力方法。
  4. 前記第2の制御部は、前記更新要求に前記更新データグループの識別情報が含まれていない場合、更新要求に係る更新データを前記第2の論理ボリュームに格納することを特徴とする請求項1記載のデータ入出力方法。
  5. 前記更新データグループの識別情報は、プロセスを特定するためのプロセスの識別情報及びアドレス空間情報であることを特徴とする請求項1記載のデータ入出力方法。
  6. プロセス起動要求を受けて更新要求データが属するグループを示す更新データグループの識別情報を生成し、該プロセス配下で行われるアプリケーションからの一連の入出力要求に対して一つのグループとして扱うための該更新データグループの識別情報を付与して入出力要求を実行し、該アプリケーションの入出力が終了し、該プロセスが次の起動要求を受けるために実行状態から起動要求待ちに遷移したのを契機に、該更新データグループの識別情報を付与する範囲を終了し、
    更新データグループの識別情報を付した更新要求、またはグループ解除要求を発行するオペレーティングシステムを有するホスト計算機と、
    データを格納する第2の論理ボリュームが設定された第2のディスク装置と、更新要求
    に更新データが属するグループを示す情報が付与されている場合は、前記更新要求に係る
    更新データを一次的に蓄積し、グループ解除要求である場合には、前記更新データが属するグループを示す情報が同一である前記一時的に蓄積した更新データを、前記第2の論理ボリュームに格納する前記第2のディスク装置へのデータ更新を制御する第2の制御部とを備えた第2のディスク装置と、
    データを格納する第1の論理ボリュームが設定された第1のディスク装置と、ホスト計
    算機から送られてきた更新要求に係る更新データを前記第1の論理ボリュームに格納する
    とともに、ホスト計算機から送られてきた更新要求と、グループ解除要求とを前記第2のディスク装置へ送る第1の制御部とを備えた第1のディスク制御装置と、
    を有する情報処理システム。
  7. 前記ホスト計算機の前記オペレーティングシステムは、複数の更新要求が異なったボリ
    ュームに対する更新要求であっても、同一のプロセスで発行された複数の前記更新要求に
    対して同一の前記更新データグループの識別情報を付与することを特徴とする請求項記載の情報処理システム。
  8. 前記ホスト計算機の前記オペレーティングシステムは、前記更新データグループの識別情報の登録または解除を規定した定義ファイルに基づいて、更新要求に前記更新データグループの識別情報を付与した更新要求又は、グループ解除要求を生成することを特徴とする請求項記載のデータ入出力方法。
  9. 前記第2の制御部は、前記更新要求に前記更新データグループの識別情報が含まれていない場合、更新要求に係る更新データを前記第2の論理ボリュームに格納することを特徴とする請求項記載の情報処理システム。
  10. 前記更新データグループの識別情報は、プロセスを特定するためのプロセスの識別情報及びアドレス空間情報であることを特徴とする請求項記載のデータ入出力方法。
JP2006073726A 2006-03-17 2006-03-17 情報処理システムのデータ入出力方法及び情報処理システム Expired - Fee Related JP4830562B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006073726A JP4830562B2 (ja) 2006-03-17 2006-03-17 情報処理システムのデータ入出力方法及び情報処理システム
US11/432,382 US7464233B2 (en) 2006-03-17 2006-05-12 Data input/output method in information processing system, and information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006073726A JP4830562B2 (ja) 2006-03-17 2006-03-17 情報処理システムのデータ入出力方法及び情報処理システム

Publications (2)

Publication Number Publication Date
JP2007249721A JP2007249721A (ja) 2007-09-27
JP4830562B2 true JP4830562B2 (ja) 2011-12-07

Family

ID=38519315

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006073726A Expired - Fee Related JP4830562B2 (ja) 2006-03-17 2006-03-17 情報処理システムのデータ入出力方法及び情報処理システム

Country Status (2)

Country Link
US (1) US7464233B2 (ja)
JP (1) JP4830562B2 (ja)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0128271B1 (ko) * 1994-02-22 1998-04-15 윌리암 티. 엘리스 재해회복을 위한 일관성 그룹 형성방법 및 레코드갱싱의 섀도잉 방법, 주시스템, 원격데이타 섀도잉 시스템과 비동기 원격데이타 복제 시스템
JP3414218B2 (ja) 1997-09-12 2003-06-09 株式会社日立製作所 記憶制御装置
US6976139B2 (en) * 2001-11-14 2005-12-13 Emc Corporation Reversing a communication path between storage devices
JP3730907B2 (ja) * 2001-12-04 2006-01-05 日本電気株式会社 ディスクアレイ装置間の遠隔データコピー方式
US7103727B2 (en) * 2002-07-30 2006-09-05 Hitachi, Ltd. Storage system for multi-site remote copy
US7134044B2 (en) * 2002-08-16 2006-11-07 International Business Machines Corporation Method, system, and program for providing a mirror copy of data
JP4289056B2 (ja) * 2003-03-27 2009-07-01 株式会社日立製作所 計算機システム間のデータ二重化制御方法
US7206911B2 (en) * 2004-02-25 2007-04-17 International Business Machines Corporation Method, system, and program for a system architecture for an arbitrary number of backup components
JP2005275494A (ja) * 2004-03-23 2005-10-06 Hitachi Ltd ストレージシステム及びストレージシステムのリモートコピー方法
JP4624829B2 (ja) * 2004-05-28 2011-02-02 富士通株式会社 データバックアップシステム及び方法

Also Published As

Publication number Publication date
US7464233B2 (en) 2008-12-09
JP2007249721A (ja) 2007-09-27
US20070220224A1 (en) 2007-09-20

Similar Documents

Publication Publication Date Title
EP1734450B1 (en) Storage system and replication creation method thereof
JP5192226B2 (ja) 待機系計算機の追加方法、計算機及び計算機システム
JP4727437B2 (ja) データベースを有するストレージシステムの記憶制御方法
US7650477B2 (en) Method for changing a remote copy pair
US8229897B2 (en) Restoring a file to its proper storage tier in an information lifecycle management environment
US7765372B2 (en) Storage controller and data management method
US8996841B2 (en) Hypervolume data storage object and method of data storage
EP1148416B1 (en) Computer system and snapshot data management method
JP4835249B2 (ja) ストレージシステム、リモートコピー、その管理方法
US20060010180A1 (en) Disaster recovery processing method and apparatus and storage unit for the same
US7509467B2 (en) Storage controller and data management method
JP4104281B2 (ja) データベースアクセス方法
US10191685B2 (en) Storage system, storage device, and data transfer method
US7216210B2 (en) Data I/O system using a plurality of mirror volumes
JP2005276158A (ja) ストレージシステム、計算機システムまたは記憶領域の属性設定方法
JP4289056B2 (ja) 計算機システム間のデータ二重化制御方法
JP2005190047A (ja) データソート機能を持つストレージシステム
JP4830562B2 (ja) 情報処理システムのデータ入出力方法及び情報処理システム
US20040010490A1 (en) Data transfer method
JP5465401B2 (ja) ファイル管理方法、装置及びプログラム
JP6884165B2 (ja) 複数のストレージノードを含むストレージシステム
JP7050707B2 (ja) ストレージ制御装置、ストレージシステム、ストレージ制御方法、及び、ストレージ制御プログラム
JP5002636B2 (ja) データ処理装置及びデータベース管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110623

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

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

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

Free format text: PAYMENT UNTIL: 20140930

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees