(57)【特許請求の範囲】
【請求項１】
ストレージレプリケーションのセパレートと、前記ストレージのボリュームを利用するトランザクションとをスケジューリングする装置であって、
実行待ちの前記トランザクションを、予想される実行所要時間が長い順にリスト化するリスト化手段と、
実行中のトランザクションのうち、予想される実行所要時間と実行経過時間との差分を現在時刻に加えることにより算出される終了予想時刻が最も遅いトランザクションを長時間トランザクションとし、当該長時間トランザクションの前記終了予想時刻までの時間に、前記リスト化手段によってリスト化された前記トランザクションであって、当該トランザクションの前記予想される実行所要時間が前記長時間トランザクションの前記終了予想時刻を超えない前記トランザクションを前記リスト順にスケジューリングするトランザクションスケジューリング手段と、
前記スケジューリングされた前記トランザクションの空き時間に、前記ボリューム毎に前記セパレートをスケジューリングするセパレートスケジューリング手段とを有する
情報処理装置。
【請求項２】
前記セパレートスケジューリング手段は、
前記長時間トランザクションが使用している前記ボリュームの前記セパレートを、前記長時間トランザクションの終了直後に、かつ他の前記ボリュームの前記セパレートよりも後に実施されるようスケジューリングする
請求項１記載の情報処理装置。
【請求項３】
前記セパレートスケジューリング手段は、
前記ボリューム毎の前記セパレートが時間的に連続して実施されるようスケジューリングする
請求項１又は２記載の情報処理装置。
【請求項４】
前記セパレートスケジューリング手段は、
前記トランザクションがスケジューリングされない前記ボリュームについては、Ｉ／Ｏ負荷の低い順に前記セパレートが実施されるようスケジューリングする
請求項１乃至３いずれか１項記載の情報処理装置。
【請求項５】
前記セパレートスケジューリング手段は、
前記スケジューリングされた前記トランザクションの空き時間がなく、前記セパレートをスケジューリングできない場合は、所定の前記トランザクションの開始予定時刻を後にずらし、
前記トランザクションの開始予定時刻を後にずらすときは、前記トランザクションが使用する前記ボリュームの全てが前記セパレートの前又は前記セパレートの後であるようにスケジューリングする
請求項１乃至４いずれか１項記載の情報処理装置。
【請求項６】
前記トランザクションの予想される実行所要時間として、
中断可能な前記トランザクションについては過去の実行所要時間の平均値を、中断が禁止されたトランザクションについては過去の実行所要時間の最大値を使用する
請求項１乃至５いずれか１項記載の情報処理装置。
【請求項７】
前記セパレートの開始予定時刻において、実行中のトランザクションが存在する場合、
当該トランザクションが中断可能なトランザクションである場合は当該トランザクションの実行をキャンセルし、当該トランザクションが中断が禁止されたトランザクションである場合は当該トランザクションの実行が完了するまで待機する
請求項１乃至６いずれか１項記載の情報処理装置。
【請求項８】
当該トランザクションが中断可能なトランザクションである場合は、当該トランザクションの実行完了を所定の時間まで待機し、前記所定の時間までに当該トランザクションの実行が完了しない場合は当該トランザクションの実行をキャンセルする
請求項７記載の情報処理装置。
【請求項９】
ストレージレプリケーションのセパレートと、前記ストレージのボリュームを利用するトランザクションとをスケジューリングする方法であって、
実行待ちの前記トランザクションを、予想される実行所要時間が長い順にリスト化するリスト化ステップと、
実行中のトランザクションのうち、予想される実行所要時間と実行経過時間との差分を現在時刻に加えることにより算出される終了予想時刻が最も遅いトランザクションを長時間トランザクションとし、当該長時間トランザクションの前記終了予想時刻までの時間に、前記リスト化ステップにおいてリスト化された前記トランザクションであって、当該トランザクションの前記予想される実行所要時間が前記長時間トランザクションの前記終了予想時刻を超えない前記トランザクションを前記リスト順にスケジューリングするトランザクションスケジューリングステップと、
前記スケジューリングされた前記トランザクションの空き時間に、前記ボリューム毎に前記セパレートをスケジューリングするセパレートスケジューリングステップとを含む
情報処理方法。
【請求項１０】
コンピュータに、ストレージレプリケーションのセパレートと、前記ストレージのボリュームを利用するトランザクションとをスケジューリングさせるためのプログラムであって、
実行待ちの前記トランザクションを、予想される実行所要時間が長い順にリスト化するリスト化ステップと、
実行中のトランザクションのうち、予想される実行所要時間と実行経過時間との差分を現在時刻に加えることにより算出される終了予想時刻が最も遅いトランザクションを長時間トランザクションとし、当該長時間トランザクションの前記終了予想時刻までの時間に、前記リスト化ステップにおいてリスト化された前記トランザクションであって、当該トランザクションの前記予想される実行所要時間が前記長時間トランザクションの前記終了予想時刻を超えない前記トランザクションを前記リスト順にスケジューリングするトランザクションスケジューリングステップと、
前記スケジューリングされた前記トランザクションの空き時間に、前記ボリューム毎に前記セパレートをスケジューリングするセパレートスケジューリングステップとを含む
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関し、例えばストレージレプリケーションのセパレートとトランザクションとのスケジューリング技術に関する。
【背景技術】
【０００２】
今日、地震災害や鳥インフルエンザ等の事象への対応として、業務継続性の確保が大きな課題となっている。情報システムにおいて業務継続性を高めるためにはバックアップが重要である。情報システムのバックアップ技術の一つに、ディスク装置のボリュームの複製を作成するレプリケーションがある。
【０００３】
ディスク装置のレプリケーションとは、ディスク装置内にマスタボリューム（主ボリューム）とレプリカボリューム（複製ボリューム）を作成する技術である。通常は、マスタボリュームに更新があれば、更新データを逐次レプリカボリュームへ反映（レプリケート）する。このマスタボリュームとレプリカボリュームが結合された状態をレプリケート状態と呼び、２つのボリュームは一体として扱われる。一方、必要に応じて、マスタボリュームとレプリカボリュームをセパレート（分離）し、両者を別ボリュームとして別用途に使用することもできる。
【０００４】
一般に、ＤＢ（データベース）が格納されたボリュームのセパレートを行う場合、ＤＢやデータの整合性を保つために、情報システムの運用を停止したり、オンライン業務を停止するなどして、ＤＢの静止点を確保した後に、マスタボリュームとレプリカボリュームをセパレートする。セパレート後は、例えば、マスタボリュームは本番業務用途に、レプリカボリュームはＤＢのバックアップ用途に使用される。
【０００５】
しかし、２４時間システムなど、業務を停止できないシステムも多く存在する。そこで、オンライン業務中に、ＤＢが格納されたボリュームをセパレートするためのレプリケーションの仕組みとして、ダイナミックセパレータという機能がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−０１８７９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
図１８を参照して、典型的なダイナミックセパレータの動作と課題について説明する。
【０００８】
ダイナミックセパレータは、ＤＢが格納されたボリュームのセパレートが要求される（時刻１）と、それ以降のトランザクションのスケジューリングを抑止し、既に実行中の全トランザクション（Ａ〜Ｃ）が完了し、ＤＢの静止点が確立できた時点（時刻２）で、セパレートを実施する。セパレートが完了したら、トランザクションのスケジューリングを再開し、スケジューリング抑止以降に投入された、もしくは、スケジュール待ちとなったトランザクション（Ｄ〜Ｆ）をスケジューリングする。
【０００９】
セパレート要求（時刻１）から、セパレートを開始するまで（時刻２）の所要時間は、実行中のトランザクション（Ａ〜Ｃ）の実行時間に依存する。このため、長時間終わらないトランザクション（Ａ）が存在すると、その間（時刻１〜時刻１）、新たなトランザクションが実行できず、オンライン利用者へのレスポンスが低下するとともに、資源を効率的に利用できない（スループットが低下する）という問題がある。
【００１０】
資源を効率的に利用できないという問題を解決するために、一般的にはバックフィルスケジューラという仕組みが存在する。バックフィルスケジューラとは、キューにある実行待ちをしているジョブの実行順序を入れ替えることにより、システム全体として資源を有効に利用するスケジューラである。通常、バックフィルスケジューラには、ジョブが使用する資源や、ジョブが完了するまでの予想時間が予め与えられる。この完了するまでの予想時間を、以降、許容時間と呼ぶ。一般に、許容時間を超えた場合は、そのジョブを打ち切るか、そのジョブが完了するまで他のジョブの実行を待ち合わせるかの２つの方針がとられる。
【００１１】
ここで、ダイナミックセパレータの静止点確立時に、一般的なバックフィルスケジューラを利用して、トランザクションをスケジューリングしようとする場合、以下の課題が生じる。
【００１２】
まず、オンライントランザクションのように、ＤＢの負荷によりＴＡＴ（ターンアラウンドタイム、すなわち実行完了までの所要時間）が大きく変わる場合、トランザクションの許容時間の見積もりを、トランザクションの過去の実行実績における最大のＴＡＴ（最大ＴＡＴ）で行うと、実際に最大ＴＡＴ以下の時間で終了したときに、資源を効率的に利用できない（スループットが低下する）。
【００１３】
また、トランザクションの許容時間の見積もりを、トランザクションの過去の実行実績に基づくＴＡＴの平均値（平均ＴＡＴ）で行い、かつ、トランザクションの実際の実行時間が許容時間を超えた場合、トランザクションの終了を待ち合わせてセパレートを実行することとすると、セパレート完了が遅れる（レスポンスが低下する）。
【００１４】
さらに、トランザクションの許容時間の見積もりを平均ＴＡＴで行い、かつ、トランザクションの実際の実行時間が許容時間を超えた場合、トランザクションを打ち切ることとすると、多くのトランザクションが打ち切られ、資源を効率的に利用できない（スループットが低下する）。
【００１５】
加えて、セパレートの実施の際は、静止点を確立した後に、複数あるボリュームを順にセパレートしていくこととなるため、ボリュームの数に比例して時間がかかる（時刻２〜時刻３）。この間、静止点を確立した状態にしておく必要があり、トランザクションの実行はセパレート完了（時刻３）まで遅延する。そのため、オンライン利用者のレスポンスが低下するとともに、資源を効率的に利用できない（スループットが低下する）という問題がある。
【００１６】
本発明は、このような問題点を解決するためになされたものであり、ディスク装置レプリケーションのセパレートとトランザクションとのスケジューリングにおいて、レスポンス低下及びスループット低下を抑制できる情報処理装置、情報処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明に係る情報処理装置は、ストレージレプリケーションのセパレートと、前記ストレージのボリュームを利用するトランザクションとをスケジューリングする装置であって、実行待ちの前記トランザクションを、予想される実行所要時間順にリスト化するリスト化手段と、前記トランザクションのうち予想される実行所要時間が最も長い長時間トランザクションの終了予想時刻までの時間に、前記トランザクションを前記リスト順にスケジューリングするトランザクションスケジューリング手段と、前記スケジューリングされた前記トランザクションの空き時間に、前記ボリューム毎に前記セパレートをスケジューリングするセパレートスケジューリング手段とを実行するものである。
【００１８】
本発明に係る情報処理方法は、ストレージレプリケーションのセパレートと、前記ストレージのボリュームを利用するトランザクションとをスケジューリングする方法であって、実行待ちの前記トランザクションを、予想される実行所要時間順にリスト化するリスト化ステップと、前記トランザクションのうち予想される実行所要時間が最も長い長時間トランザクションの終了予想時刻までの時間に、前記トランザクションを前記リスト順にスケジューリングするトランザクションスケジューリングステップと、前記スケジューリングされた前記トランザクションの空き時間に、前記ボリューム毎に前記セパレートをスケジューリングするセパレートスケジューリングステップとを含むものである。
【００１９】
本発明に係るプログラムは、コンピュータに、ストレージレプリケーションのセパレートと、前記ストレージのボリュームを利用するトランザクションとをスケジューリングさせるためのプログラムであって、実行待ちの前記トランザクションを、予想される実行所要時間順にリスト化するリスト化ステップと、前記トランザクションのうち予想される実行所要時間が最も長い長時間トランザクションの終了予想時刻までの時間に、前記トランザクションを前記リスト順にスケジューリングするトランザクションスケジューリングステップと、前記スケジューリングされた前記トランザクションの空き時間に、前記ボリューム毎に前記セパレートをスケジューリングするセパレートスケジューリングステップとを含むものである。
【発明の効果】
【００２０】
本発明により、ストレージレプリケーションのセパレートとトランザクションとのスケジューリングにおいて、レスポンス低下及びスループット低下を抑制できる情報処理装置、情報処理方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施の形態１の情報処理装置１００の構成を示す図である。
【図２】本発明の実施の形態１の情報処理装置１００の構成を示す図である。
【図３】本発明の実施の形態１の情報処理装置１００の構成を示す図である。
【図４】本発明の実施の形態１の情報処理装置１００の構成を示す図である。
【図５】本発明の実施の形態１の情報処理装置１００の構成を示す図である。
【図６】本発明の実施の形態１の情報処理装置１００の動作を示す図である。
【図７】本発明の実施の形態１の情報処理装置１００の動作を示す図である。
【図８】本発明の実施の形態１の情報処理装置１００の動作を示す図である。
【図９】本発明の実施の形態１の情報処理装置１００の動作を示す図である。
【図１０】本発明の実施の形態１の情報処理装置１００の動作を示す図である。
【図１１】本発明の実施の形態１の情報処理装置１００の動作を示す図である。
【図１２】本発明の実施の形態１の情報処理装置１００の動作を示す図である。
【図１３】本発明の実施の形態１の情報処理装置１００の動作を示す図である。
【図１４】本発明の実施の形態１の情報処理装置１００の動作を示す図である。
【図１５】本発明の実施の形態１の情報処理装置１００の動作を示す図である。
【図１６】本発明の実施の形態１の情報処理装置１００の動作を示す図である。
【図１７】本発明の実施の形態１の情報処理装置１００の動作を示す図である。
【図１８】従来のダイナミックセパレータの動作を示す図である。
【発明を実施するための形態】
【００２２】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００２３】
＜実施の形態１＞
図１を参照して、本発明の実施の形態１にかかる情報処理装置１００の構成について説明する。
【００２４】
情報処理装置１００は、リスト化手段１０、トランザクションスケジューリング手段１１、及びセパレートスケジューリング手段１２を有する。リスト化手段１０は、実行待ちの前記トランザクションを、予想される実行所要時間順にリスト化する処理を行う。トランザクションスケジューリング手段１１は、前記トランザクションのうち予想される実行所要時間が最も長い長時間トランザクションの終了予想時刻までの時間に、前記トランザクションを前記リスト順にスケジューリングする。そして、セパレートスケジューリング手段１２は、前記スケジューリングされた前記トランザクションの空き時間に、前記ボリューム毎に前記セパレートをスケジューリングする処理を行う。
【００２５】
図２を用いて、情報処理装置１００のより詳細な実装例について説明する。
【００２６】
情報処理装置１００は、典型的には１以上の端末３００と、ストレージ２００と接続され、端末３００とはネットワークで接続される。
【００２７】
情報処理装置１００は、典型的にはホストコンピュータであり、ＣＰＵ、メモリ、入出力装置等のハードウェアを有し、メモリに格納されたソフトウェア（制御プログラム）に基づいて各種処理を実行する。情報処理装置１００は物理的に単一の装置である必要はなく、複数の装置による分散処理を行う構成としてもよい。
【００２８】
情報処理装置１００は、通信管理手段１０５と、プログラム１０６と、キュー１１０と、キューアクセス手段１１１と、スケジューラ１０１と、ボリューム表１２０と、Ｉ／Ｏ統計情報採取手段１２２と、ボリューム情報アクセス手段１２１と、トランザクション統計情報表１３０と、トランザクション実行時間統計情報採取手段１３２と、トランザクション統計情報アクセス手段１３１と、トランザクション定義情報表１４０と、トランザクション定義情報アクセス手段１４１と、トランザクション実行手段１０２と、タスク１０３と、レプリケーション制御手段１０４とを有する。典型的には、これらの手段はいずれも上述のハードウェアとソフトウェアとの協働により実現される論理的手段である。
【００２９】
ストレージ２００は、ディスク装置制御手段２０１と、マスタボリューム２０２と、レプリカボリューム２０３とを含む。
【００３０】
本実施の形態は、スケジューラ１０１がボリューム表１２０をアクセスするためのボリューム情報アクセス手段１２１と、スケジューラ１０１がトランザクション統計情報表１３０をアクセスするためのトランザクション統計情報アクセス手段１３１と、スケジューラ１０１の動作とに特徴を有する。これらの手段の動作の詳細については後述する。
【００３１】
通信管理手段１０５は、端末３００との通信を行い、端末３００からオンライントランザクション要求を受信すると、プログラム１０６を実行し、結果を端末３００に送信する。
【００３２】
プログラム１０６は、端末３００から要求された処理を通信管理手段１０５に実行させる。当該処理には、端末３００からのオンライントランザクション要求に応じ、トランザクションをキュー１１０に登録する処理が含まれる。
【００３３】
キュー１１０は、トランザクション名をキーとして、実行待ちをしているトランザクションを格納する。ここで、トランザクションはキュー１１０への登録順に格納される。
【００３４】
ボリューム表１２０は、ボリュームごとに、ボリューム名と、マスタボリュームとレプリカボリュームが結合された状態（レプリケート状態）か分離された状態（セパレート状態）かを表すレプリケーション状態と、Ｉ／Ｏ統計情報（ＢＵＳＹ率）を格納する（図３）。
【００３５】
Ｉ／Ｏ統計情報採取手段１２２は、ボリュームごとのＩ／Ｏ統計情報を採取し、定期的にボリューム表１２０のＩ／Ｏ統計情報を更新する。
【００３６】
トランザクション統計情報表１３０は、トランザクションごとに、トランザクション名と、トランザクションの平均ＴＡＴと、トランザクションの最小ＴＡＴと、トランザクションの最大ＴＡＴとを格納する（図４）。
【００３７】
トランザクション実行時間統計情報採取手段１３２は、トランザクションの実行時間を採取し、トランザクション統計情報表１３０のトランザクションの平均ＴＡＴと、トランザクションの最小ＴＡＴと、トランザクションの最大ＴＡＴを更新する。
【００３８】
トランザクション定義情報表１４０は、トランザクションごとに、トランザクション名と、トランザクションがアクセスするファイル名と、そのファイルが存在するボリューム名と、トランザクションを途中で中断可能か中断禁止かを表す中断禁止属性を格納する。これらの情報は、ＤＢやトランザクションを設計した段階で決まるものであり、予めこの表１４０に登録される（図５）。なお、ファイル名からファイルが存在するボリュームが特定できるようなシステムでは、トランザクション定義情報表にボリューム名が登録されていなくてもよい。
【００３９】
スケジューラ１０１は、キューアクセス手段１１１と、ボリューム情報アクセス手段１２１と、トランザクション統計情報アクセス手段１３１と、トランザクション定義情報アクセス手段１４１と、レプリケーション制御手段１０４と、トランザクション実行手段１０２を使用し、トランザクションとレプリケーションのセパレートをスケジューリングする。なお、セパレート処理のスケジューリングを伴わないときは、スケジューラ１０１は任意のスケジュール方式にてトランザクションのスケジューリングを行う。かかるスケジュール方式には、例えば、キューに登録された順番でトランザクションのスケジューリングを行う、ＦＩＦＯ方式がある。
【００４０】
キューアクセス手段１１１は、スケジューラ１０１がキュー１１０をアクセスする際に使用する。キューアクセス手段１１１は、キュー１１０からトランザクションを読み出したり、再実行のためにキュー１１０へトランザクションを再登録する処理を行う。
【００４１】
ボリューム情報アクセス手段１２１は、スケジューラ１０１がボリューム表１２０をアクセスする際に使用する。ボリューム情報アクセス手段１２１は、ボリューム表１２０のレプリケーション状態の読み書き、Ｉ／Ｏ統計情報の読み出しを行う。
【００４２】
トランザクション統計情報アクセス手段１３１は、トランザクション名をキーに、トランザクション統計情報表１３０から、トランザクションの平均ＴＡＴや、最小ＴＡＴや、最大ＴＡＴを読み出す。
【００４３】
トランザクション定義情報アクセス手段１４１は、トランザクション名をキーに、トランザクション定義情報表１４０から、ファイル名や、ボリューム名や、中断禁止属性を読み出す。
【００４４】
レプリケーション運用指示４００は、システム管理者などのユーザから入力されるレプリケーションに関する指示に基づき、レプリケーション制御手段１０４に通知されるデータである。
【００４５】
レプリケーション制御手段１０４は、レプリケーション運用指示４００として入力されるユーザからのレプリケート要求やセパレート要求の受付と、ストレージ２００に対するボリュームのレプリケート指示やセパレート指示と、スケジューラ１０１とのセパレート情報の授受を行う。
【００４６】
トランザクション実行手段１０２は、スケジュールされたトランザクションをタスク１０３に割り当てる処理を行う。
【００４７】
タスク１０３は、トランザクションを実際に実行する主体である。タスク１０３の数は、トランザクションの同時実行多重度である。トランザクションはＤＢにアクセスするため、ストレージ２００にアクセスする。
【００４８】
つづいて、図１３、図１４及び図１５のフローチャートを参照して、実施の形態１にかかる情報処理装置１００の動作について説明する。
【００４９】
まず、図１３を参照して、セパレート要求受付時の情報処理装置１００の動作について説明する。
【００５０】
システム管理者からのセパレート要求は、レプリケーション運用指示４００として、レプリケーション制御手段１０４に通知され、レプリケーション制御手段１０４がセパレート要求を受け付ける（Ａ１）。スケジューラ１０１は、レプリケーション制御手段１０４からセパレート要求受付を伝えられると、実行中のトランザクションそれぞれについて、トランザクション統計情報表１３０に格納されている平均ＴＡＴと、トランザクションの実行経過時間に基づき、終了予想時刻を算出する。終了予想時刻は、平均ＴＡＴと実行経過時間との差分を現在時刻に加えることにより算出できる。スケジューラ１０１は、これらのトランザクションの中から最も終了予想時刻が遅いトランザクションを、長時間トランザクションとする（Ａ２）。例えば図７においては、ＡとＢが実行中トランザクションであり、Ａの終了予想時刻が一番遅いため、Ａを長時間トランザクションとする。
【００５１】
スケジューラ１０１は、キューにあるトランザクションについて、トランザクション名をキーにトランザクション統計情報表１３０とトランザクション定義情報表１４０を参照し、トランザクションの予想ＴＡＴを取得して、トランザクションをＴＡＴ順に並べ替えたリストをスケジューリング用に作成する。以降、このリストを予想ＴＡＴリストと呼ぶ。ここで使用される予想ＴＡＴとは、中断可能トランザクションについては平均ＴＡＴ、中断禁止トランザクションについては最大ＴＡＴである（Ａ３）。中断禁止トランザクションについて最大ＴＡＴを使用するのは、トランザクションの中断ができないことによるセパレートの遅延、つまりレスポンスの低下を抑制するためである。図６に、キューの内容を予想ＴＡＴ順に並び替えた予想ＴＡＴリストの例を示す。トランザクションＦは中断禁止属性があるため、予想ＴＡＴとして、トランザクション統計情報表１３０に基づき、トランザクションの最大ＴＡＴの値である２４０ｍｓを使用する。それ以外のトランザクションについては、トランザクション統計情報表１３０に基づき、トランザクションの平均ＴＡＴの値を、予想ＴＡＴとして使用する。
【００５２】
スケジューラ１０１は、長時間トランザクションの予想終了時刻までの時間に対し、キューにあるトランザクションを予想ＴＡＴリスト順に割り付ける、トランザクションスケジューリング処理を行う（Ａ４）。以降、このスケジューリングされたトランザクションを追加トランザクションと呼ぶ。図８の例においては、予想ＴＡＴの降順、すなわちＥ、Ｄ、Ｆ、Ｃ、Ｈ、Ｇの順でトランザクションがタスクに割り当てられている。ＩとＪは、予想ＴＡＴが長時間トランザクションの終了予想時刻を超えるため、スケジューリングしない。
【００５３】
なお、トランザクションを予想ＴＡＴリスト順にスケジューリングすることの利点はつぎのとおりである。後述のように、本実施の形態では、長時間トランザクションの終了予想時刻付近で、セパレートを優先するためにトランザクションがキャンセルされることがあるが、このような場合でも、トランザクションが予想ＴＡＴリスト順にスケジューリングされていれば、キャンセルされるのは比較的予想ＴＡＴの短いトランザクションである。そのため、キャンセルされたトランザクションの再実行コストを抑制することが可能である。
【００５４】
つづいてスケジューラ１０１は、スケジューリングされたトランザクションの合間に、セパレートをスケジューリングする、セパレートスケジューリング処理を行う。セパレートは、ボリュームごとに順番に実施されるようスケジューリングされる（Ａ５）。スケジューラ１０１は、スケジューリングに際して、以下の４つの規則に従う。
【００５５】
１．長時間トランザクションの終了直後に、かつ、最後のセパレートとして、長時間トランザクションで使用しているボリュームをセパレートすること。すなわち、その他のボリュームのセパレートは、上記セパレートより前に完了するようにスケジューリングすること（図９）。
【００５６】
これにより、図１８に示すような一般的な例に比べて、セパレート要求からセパレート完了までの時間を短縮することができる。例えば図９においては、本規則に従いＶＯＬ１を最後にセパレートしている。図１８のようにＶＯＬ１を最初にセパレートし、その後ＶＯＬ２〜ＶＯＬ５を順にセパレートする場合に比べて、ＶＯＬ２〜ＶＯＬ５のセパレートに要する時間の分だけ、セパレート完了を早くすることができる。
【００５７】
２．セパレートは時間を空けずに連続して実行すること（図１０）。
【００５８】
これにより、セパレート要求からセパレート開始までの時間（以降、区間ともいう）が最大化され、かつ、セパレート実施区間が最小になる。そのため、追加トランザクションを最大限スケジューリングできるようになり、スループットの低下を防止することができる。例えば図１０においては、セパレートをＶＯＬ５から開始し、ＶＯＬ４、ＶＯＬ２、ＶＯＬ３、ＶＯＬ１と連続して実行することで、セパレート要求からセパレート開始までの区間（トランザクションをバックフィルできる区間）を最大化するとともに、セパレートを実施している区間（トランザクションの投入が制限されうる区間）を最小化している。
【００５９】
３．予想ＴＡＴ順にトランザクションをスケジューリング（図１３のＡ４）した結果、あるボリュームがセパレート要求時から長時間トランザクションの終了予想時刻までトランザクションにより占有され、セパレートを行うための静止点が取れなくなった場合は、そのボリュームを使用するトランザクションを後にずらし、そのボリュームのセパレートを実行するためのボリューム未使用区間を作ること（図１１）。
【００６０】
これにより、セパレート要求からセパレートが完了するまでの期間が、図１８の例よりも長くなることはない。例えば図１１においては、ＶＯＬ２のセパレートを実施するために、トランザクションＧの実行タイミングを、セパレート完了後に移動させている。
【００６１】
４．トランザクションを後にずらす場合は、そのトランザクションが使用するボリュームが、全てセパレート前であるか、又は全てセパレート後であるようにすること（図１１）。
【００６２】
これにより、ＤＢやデータの整合性が保証される。例えば図１１においては、トランザクションＧはＶＯＬ１とＶＯＬ２を使用する。また、上記３．の規則に従い、トランザクションＧの実行タイミングはＶＯＬ２のセパレート完了後に移動されている。このため、トランザクションＧの実行タイミングが、ＶＯＬ１とＶＯＬ２の両ボリュームのセパレートの完了後となるよう、スケジュールをさらに調整する。
【００６３】
上述の規則に加え、スケジューラ１０１は、トランザクションがスケジューリングされておらずいつでもセパレートできるボリューム群、すなわちセパレートのスケジュールに自由度のあるボリューム群については、ボリューム表１２０のＩ／Ｏ統計情報を参照し、使用率（ＢＵＳＹ率）の低い順にセパレートが動作するように、再度スケジューリングを調整する（Ａ６）。例えば図１２において、ＶＯＬ４とＶＯＬ５はスケジュールに自由度がある。ボリューム表１２０のＩ／Ｏ統計情報よれば、ＶＯＬ４の方が使用率が低い。そのため、スケジューラ１０１は、ＶＯＬ４を先にセパレートするように、ＶＯＬ４とＶＯＬ５のセパレート順序を入れ替えている。
【００６４】
なお、使用率（ＢＵＳＹ率）の低い順にセパレートが動作するようにスケジューリングすることの利点はつぎのとおりである。使用率（ＢＵＳＹ率）の高いボリュームは、今後投入されるトランザクションにて使用される可能性が高く、逆に、使用率の低いボリュームは使用される可能性が低い。そのため、使用される可能性が高いボリュームを後にセパレートすれば、今後投入されるトランザクションが実行できる確率を上げることができる。
【００６５】
図１６に、使用率（ＢＵＳＹ率）に基づくスケジューリングを行わない例を示す。図１６において、セパレート要求時に実行中のトランザクションはＡとＢであり、ＶＯＬ３〜ＶＯＬ５は未使用ボリュームである。このとき、ＶＯＬ３〜ＶＯＬ５のセパレートを、単にＶＯＬ３、ＶＯＬ４、ＶＯＬ５の番号順でスケジューリングした。すなわち、ＶＯＬ３を最初にセパレートするようスケジューリングした。この後に、トランザクションＺが投入される。トランザクションＺはＶＯＬ３とＶＯＬ１を使用するトランザクションである。このとき、タスク３は空いておりトランザクションＺを実行可能であるものの、ＶＯＬ３のセパレートがスケジュールされているため、結局ＶＯＬ１のセパレートが完了するまでの間、トランザクションＺを実行できない。
【００６６】
一方、図１７に、使用率（ＢＵＳＹ率）に基づくスケジューリングを行った例を示す。図１７においては、図３のボリューム表１２０に従い使用率の低い順にセパレートを実施している。そのため、使用率の高いＶＯＬ１とＶＯＬ３のセパレートは、より遅い時間に、かつ両者が近接した時間に実施され、トランザクションＺが実行できない区間が小さい。よって、タスク３は、トランザクションＺが投入された直後に、トランザクションＺを実行することができる。
【００６７】
つぎに、図１４を参照して、ボリュームのセパレート時刻が到来した時の情報処理装置１００の動作について説明する。
【００６８】
レプリケーション制御手段１０４は、スケジューラ１０１が作成したスケジュールに基づき、各ボリュームのセパレート予定時刻を監視し、セパレート予定時刻が到来したとき、セパレート対象のボリュームを使用しているトランザクションがあるかを判断する（Ｂ２）。
【００６９】
セパレート対象のボリュームを使用しているトランザクションがある場合、レプリケーション制御手段１０４は、対象ボリュームを使用しているトランザクションを１つ選択する（Ｂ３）。レプリケーション制御手段１０４は、選択したトランザクションが、セパレート要求時に実行中だったトランザクションか、追加トランザクションかを判断する（Ｂ４）。セパレート要求時に実行中だったトランザクションである場合、レプリケーション制御手段１０４は、当該トランザクションの完了を待ち合わせる（Ｂ６）。一方、追加トランザクションである場合、レプリケーション制御手段１０４は、まず、当該トランザクションの中断禁止属性を確認し（Ｂ５）、中断禁止属性が中断禁止である場合、当該トランザクションの完了を待ち合わせる（Ｂ６）。一方、中断禁止属性が中断可能である場合、当該トランザクションの実行をキャンセルし、後刻再実行を行うためにキューに戻す（Ｂ７）。レプリケーション制御手段１０４は、待ち合わせていたトランザクションが完了し、又はトランザクションをキャンセルしたならば、対象ボリュームを使用しているトランザクションが他にあるか判断する（Ｂ２）。対象ボリュームを使用しているトランザクションが他にある場合、レプリケーション制御手段１０４は、それらすべてのトランザクションについて、上述のＢ３〜Ｂ７の処理を繰り返す。
【００７０】
一方、セパレート対象のボリュームを使用しているトランザクションが他にない場合、レプリケーション制御手段１０４は、そのボリュームのセパレートを実行する（Ｂ８）。そして、ボリューム情報アクセス手段１２１を使用し、ボリューム表１２０のセパレート状態を結合から分離に更新する（Ｂ９）。
【００７１】
最後に、図１５を参照して、新たなトランザクションがキューに入った場合の情報処理装置１００の動作について説明する。
【００７２】
スケジューラ１０１は、タスクの空き状況を確認し、タスクがあいている場合、すなわち新たなトランザクションの割り付け先となるタスクが存在しない場合、さらに換言するならば、長時間トランザクションの終了予想時刻までの間において、新たなトランザクションの予想ＴＡＴに相当する空き時間を有するタスクが存在しない場合は、タスクの空き状況の監視を継続し、タスクが空いた再に再度スケジューリングを試行する（Ｃ３）。
【００７３】
一方、タスクが空いている場合は、スケジューラ１０１は、新たなトランザクションが使用する全てのボリュームについて、セパレート前とセパレート後が混在しないようにスケジュール可能か確認する（Ｃ４）。スケジュールが不可能な場合、スケジューラ１０１は、新たなトランザクションが使用する全てのボリュームのセパレートが完了してから再度スケジューリングを行う（Ｃ５）。一方、スケジュールが可能な場合、スケジューラ１０１は、新たなトランザクションにかかるスケジューリングを実行する（Ｃ６）。
【００７４】
本実施の形態においては、スケジューラ１０１が、セパレート要求時に、実行中のトランザクションが全て終了する予想時刻を算出し、セパレート要求時からその予想時刻までの区間に、キューにある実行待ちトランザクションを予想ＴＡＴ順にスケジューリングする。ここで使用するＴＡＴは、実行途中で中断可能なトランザクションについては平均ＴＡＴ、中断ができないトランザクションについては最大ＴＡＴである。これにより、情報処理装置１００は、オンライン利用者のレスポンス低下の抑制と、資源の効率的な利用（スループットの低下の抑制）とを両立することができる。
【００７５】
また、本実施の形態においては、スケジューラ１０１が、セパレートをボリューム単位に連続してスケジューリングする。これにより、情報処理装置１００は、見かけのセパレート時間を短縮でき、かつ、複数ボリュームを使用する追加トランザクションの割り付けを行い易くなり、オンライン利用者のレスポンス低下を抑制するとともに、資源を効率的に利用（スループットの低下を抑制）することができる。
【００７６】
また、本実施の形態においては、スケジューラ１０１が、セパレート開始からセパレート完了までのトランザクションが実行できない区間を最小とするために、長時間トランザクションが利用するボリュームのセパレートを長時間トランザクションの実行直後に実行し、その他のボリュームのセパレートは、前記ボリュームのセパレート以前の区間に、トランザクションの合間にスケジューリングする。これにより、情報処理装置１００は、オンライン利用者のレスポンス低下を抑制するとともに、資源を効率的に利用（スループットの低下を抑制）することができる。
【００７７】
また、本実施の形態においては、スケジューラ１０１が、トランザクションがスケジューリングされておらずセパレートのスケジューリングに自由度があるボリューム群について、ボリュームの使用率（ＢＵＳＹ率）が低い順にセパレートを行うようにセパレートのスケジュールを調整する。これにより、情報処理装置１００は、セパレート要求からセパレート完了までの間に新たにキューに登録されるトランザクションが、セパレート完了前に実行できる確率を高めることができ、オンライン利用者のレスポンス低下を抑制するとともに、資源を効率的に利用（スループットの低下を抑制）することができる。
【００７８】
＜実施の形態２＞
つぎに、図１４を用いて、本発明の実施の形態２にかかる情報処理装置１００の動作について説明する。
【００７９】
実施の形態２は、図１４のＢ７における処理に特徴を有する。その他の構成要素については実施の形態１と同じである。
【００８０】
実施の形態１では、図１４のＢ７に示すように、中断可能なトランザクションについては、セパレート時刻になった場合、即時キャンセルとしている。本実施の形態は、ここに時間的猶予を持たせるものである。すなわち、レプリケーション制御手段１０４は、セパレート時刻が到来した際、中断可能なトランザクションについてＢ７の処理を実行する前に、そのトランザクションの完了を所定の時間を限度として待ち合わせる。これにより、トランザクションの再実行コストを抑えることができる。
【００８１】
例えば、レプリケーション制御手段１０４は、Ｂ７の処理を、平均ＴＡＴの１．２倍までは待ち合わせ、１．２倍を越えた時点でキャンセルすることができる。なお、本実施の形態は、時間的猶予を平均ＴＡＴの１．２倍に限定するものではない。この時間的猶予は、さまざまな方法で設定可能である。例えば、αを任意の時間とし平均ＴＡＴ＋αまで待ち合わせる方法や、最大ＴＡＴまで待ち合わせる方法、あるいは、平均ＴＡＴ＋標準偏差まで待ち合わせる方法などがある。
【００８２】
本実施の形態においては、レプリケーション制御手段１０４が、中断可能なトランザクションをキャンセルする前に、所定の時間だけトランザクションの終了の待ち合わせを行う。これにより、トランザクションの再実行コストを抑えることができ、資源を効率的に利用（スループットの低下を抑制）することができる。
【００８３】
＜その他の実施の形態＞
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【００８４】
例えば、上述の実施の形態では、本発明を主にハードウェアにより構成されるものとして説明したが、これに限定されるものではなく、任意の処理を、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）にコンピュータプログラムを実行させることにより論理的に実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【００８５】
１００  情報処理装置
１１  リスト化手段
１２  トランザクションスケジューリング手段
１３  セパレートスケジューリング手段
１０１  スケジューラ
１０２  トランザクション実行手段
１０３  タスク
１０４  レプリケーション制御手段
１０５  通信管理手段
１０６  プログラム
１１０  キュー
１１１  キューアクセス手段
１２０  ボリューム表
１２１  ボリューム情報アクセス手段
１２２  Ｉ／Ｏ統計情報採取手段
１３０  トランザクション統計情報表
１３１  トランザクション統計情報アクセス手段
１３２  トランザクション実行時間統計情報採取手段
１４０  トランザクション定義情報表
１４１  トランザクション定義情報アクセス手段
２００  ストレージ
２０１  ディスク装置制御手段
２０２  マスタボリューム
２０３  レプリカボリューム
３００  端末
４００  レプリケーション運用指示
【図１】
0005867215.tif 000002
【図２】
0005867215.tif 000003
【図３】
0005867215.tif 000004
【図４】
0005867215.tif 000005
【図５】
0005867215.tif 000006
【図６】
0005867215.tif 000007
【図７】
0005867215.tif 000008
【図８】
0005867215.tif 000009
【図９】
0005867215.tif 000010
【図１０】
0005867215.tif 000011
【図１１】
0005867215.tif 000012
【図１２】
0005867215.tif 000013
【図１３】
0005867215.tif 000014
【図１４】
0005867215.tif 000015
【図１５】
0005867215.tif 000016
【図１６】
0005867215.tif 000017
【図１７】
0005867215.tif 000018
【図１８】
0005867215.tif 000019