(57)【要約】【課題】ストレージ装置のアクセス負荷を分散させて処理性能を向上させる。【解決手段】計算機からアクセスされるデータが格納されるストレージ装置の記憶領域を、一つ以上の部分記憶領域ごとに管理し、部分記憶領域に対するアクセス統計情報を記憶部に記録し、アクセス統計情報に基づいて、データ格納領域の複製である複製領域を作成及び削除する契機を設定し、複製領域を作成又は削除する契機に、複製領域の作成又は削除をストレージ装置に指示し、データ格納領域からのデータの読み出しを要求されたとき、当該データ格納領域の複製領域が作成されているか否かを判定し、当該複製領域が作成されている場合には、データ格納領域又は複製領域のいずれかから要求されたデータを読み出す。【選択図】図８
2008158661.tif 000002
【特許請求の範囲】
【請求項１】
ストレージ装置と、前記ストレージ装置にデータを読み書きする計算機とを備える計算機システムにおいて、前記ストレージ装置に対するアクセスを制御するアクセス制御方法であって、
前記計算機は、プロセッサと、前記プロセッサによってアクセスされる記憶部と、を備え、
前記プロセッサは、
前記ストレージ装置の前記計算機からアクセスされるデータが格納される記憶領域を、一つ以上の部分記憶領域ごとに管理し、
前記部分記憶領域に対する読み出し回数及び書き込み回数のうち少なくとも一方を含むアクセス統計情報を前記記憶部に記録し、
前記アクセス統計情報に基づいて、前記部分記憶領域の複製である複製領域を作成する契機及び前記複製領域を削除する契機を設定し、
前記複製領域を作成する契機に、前記複製領域の作成を前記ストレージ装置に指示し、
前記複製領域を削除する契機に、前記複製領域の削除を前記ストレージ装置に指示し、
前記ストレージ装置は、
前記複製領域の作成指示を受け付けたとき、前記作成指示に基づいて、前記複製領域を作成し、
前記複製領域の削除指示を受け付けたとき、前記削除指示に基づいて、前記複製領域を削除し、
前記プロセッサは、
部分記憶領域からのデータの読み出しを要求されたとき、当該部分記憶領域の複製領域が作成されているか否かを判定し、
当該複製領域が作成されている場合には、前記部分記憶領域又は前記複製領域のいずれかから前記要求されたデータを読み出す、ことを特徴とするアクセス制御方法。
【請求項２】
前記プロセッサは、前記部分記憶領域に対するデータの読み出し回数に基づいて、前記複製領域を作成する契機を設定する、ことを特徴とする請求項１に記載のアクセス制御方法。
【請求項３】
前記プロセッサは、前記部分記憶領域に含まれる記憶領域のうち、データの読み出し回数が所定の回数を超えた記憶領域の複製の作成を、さらに、前記ストレージ装置に指示する、ことを特徴とする請求項１に記載のアクセス制御方法。
【請求項４】
前記ストレージ装置は、当該ストレージ装置の記憶領域を一つ以上の論理ボリュームとして、前記計算機に提供し
前記プロセッサは、前記部分記憶領域を分割し、当該分割された部分記憶領域の複製をそれぞれ異なる論理ボリュームに作成するように、前記ストレージ装置に指示する、ことを特徴とする請求項１に記載のアクセス制御方法。
【請求項５】
前記プロセッサは、
前記アクセス統計情報に基づいて、前記複製領域の最大複製作成個数を算出し、
データの読み出し回数が所定の回数を超えたとき、前記算出された最大複製作成個数の複製領域の作成を前記ストレージ装置に指示する、ことを特徴とする請求項１に記載のアクセス制御方法。
【請求項６】
前記プロセッサは、前記アクセス統計情報に基づいて、前記部分記憶領域又は前記複製領域のいずれからデータを読み出すかを決定する、ことを特徴とする請求項１に記載のアクセス制御方法。
【請求項７】
前記プロセッサは、前記部分記憶領域に格納されたデータを読み出し、前記読み出されたデータを前記ストレージ装置に書き込むことによって、前記複製領域を作成する、ことを特徴とする請求項１に記載のアクセス制御方法。
【請求項８】
前記プロセッサは、前記部分記憶領域に対するデータの書き込み回数に基づいて、前記複製領域を削除する契機を設定する、ことを特徴とする請求項１に記載のアクセス制御方法。
【請求項９】
前記プロセッサは、前記複製領域を削除する代わりに、前記部分記憶領域を削除する指示を前記ストレージ装置に指示する、ことを特徴とする請求項１に記載のアクセス制御方法。
【請求項１０】
ストレージ装置にデータを読み書きする計算機において、前記ストレージ装置に対するアクセスを制御するアクセス制御装置であって、
プロセッサと、前記プロセッサによってアクセスされる記憶部と、を備え、
前記ストレージ装置の前記計算機からアクセスされるデータが格納される記憶領域を、一つ以上の部分記憶領域ごとに管理するデータ管理部と、
前記部分記憶領域に対する読み出し回数及び書き込み回数のうち少なくとも一方を含むアクセス統計情報を前記記憶部に記録するアクセス監視部と、
前記アクセス統計情報に基づいて、前記部分記憶領域の複製である複製領域を作成する契機及び前記複製領域を削除する契機を設定し、前記複製領域を作成する契機に、前記複製領域の作成を前記ストレージ装置に指示し、前記複製領域を削除する契機に、前記複製領域の削除を前記ストレージ装置に指示する複製計画部と、
部分記憶領域からのデータの読み出しを要求されたとき、当該部分記憶領域の複製領域が作成されているか否かを判定し、当該複製領域が作成されている場合には、前記部分記憶領域又は前記複製領域のいずれかから前記要求されたデータを読み出すアクセス制御部と、を有することを特徴とするアクセス制御装置。
【請求項１１】
ストレージ装置にデータを読み書きする計算機において、前記ストレージ装置に対するアクセスを制御するアクセス制御プログラムであって、
前記ストレージ装置の前記計算機からアクセスされるデータが格納される記憶領域を、一つ以上の部分記憶領域ごとに管理する手順と、
前記部分記憶領域に対する読み出し回数及び書き込み回数のうち少なくとも一方を含むアクセス統計情報を前記記憶部に記録する手順と、
前記アクセス統計情報に基づいて、前記部分記憶領域の複製である複製領域を作成する契機及び前記複製領域を削除する契機を設定する手順と、
前記複製領域を作成する契機に、前記複製領域の作成を前記ストレージ装置に指示する手順と、
前記複製領域を削除する契機に、前記複製領域の削除を前記ストレージ装置に指示する手順と、
部分記憶領域からのデータの読み出しを要求されたとき、当該部分記憶領域の複製領域が作成されているか否かを判定する手順と、
当該複製領域が作成されている場合には、前記部分記憶領域又は前記複製領域のいずれかから前記要求されたデータを読み出す手順と、を計算機に実行させるアクセス制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置に対するアクセスを制御する技術に関し、特に、アクセス負荷を分散させて処理性能を向上させる技術に関する。
【背景技術】
【０００２】
従来、複数の物理ボリュームによって論理ボリュームが構成されるストレージ装置において、特定の物理ボリュームにディスクアクセスが集中すると、当該物理ボリュームのディスクアクセスがボトルネックとなり、処理性能が低下してしまうことがあった。
【０００３】
そこで、物理ボリュームの統計情報を取得し、統計情報に基づいて、自動的にボリュームを複製し、ディスクアクセスを分散させる技術が開示されている（特許文献１参照）。
【０００４】
特許文献１に開示された技術では、計算機に接続された物理ボリュームを常時監視し、読み出し回数、及び書き込み回数を取得し、統計情報として記録する。さらに、読み出し回数が閾値を超えた場合、又は書き込み回数が閾値を超えた場合には、自動的にミラーボリュームを作成する。そして、計算機が読み出し要求を受け付けると、オリジナルボリューム又はミラーボリュームのいずれか一方からデータを読み出す。また、書き込み要求を受信した場合には、オリジナルボリューム及びミラーボリュームにデータを書き込む。そして、読み出し回数と書き込み回数が閾値を下回った場合には、自動的にミラーボリュームを削除する。
【０００５】
また、特許文献１には、ミラーボリュームを作成する際、オリジナルボリュームから複数のミラーボリュームを作成する場合、ミラーボリュームからミラーボリュームを作成する場合、さらに、共用ディスク上にミラーボリュームを作成する場合などが記載されている。
【特許文献１】米国特許第６９６１７２７号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１に開示されたディスクアクセス制御方法では、アクセスが集中することによる負荷を分散させるために、論理ボリューム単位に複製を作成する。しかし、論理ボリューム単位でミラーボリュームが作成されることによって、負荷の少ない、すなわち複製を作成する必要のない領域もコピーされてしまう。例えば、論理ボリュームに格納された複数のファイル、又は、論理ボリュームに格納されたデータベースに含まれる表及びインデクスなど、負荷の異なる情報が混在する場合である。
【０００７】
したがって、複製対象のデータ格納領域の増加に比例して、無駄な複製を作成してしまうという問題がある。また、複製対象のデータサイズが増加するため、複製作成に要する時間も増加するという問題がある。
【０００８】
本発明は、アクセス負荷状況に基づいて複製を作成する契機及び複製されるミラーボリュームの数を調整する。また、負荷監視の対象領域をプログラムが扱う論理オブジェクトに対応したディスク記憶装置内の領域とし、複製作成の効果が大きい領域のみを複製する。複製作成後は、複製元領域への読み出し要求を複製元と複製先に分散することによって、複製先のディスク容量を抑えつつ、ボリューム内の一部領域のアクセス回数を分散し、負荷を分散させることを目的とする。
【課題を解決するための手段】
【０００９】
本発明の代表的な一形態では、ストレージ装置と、前記ストレージ装置に接続され、前記ストレージ装置にデータを読み書きする計算機とを備える計算機システムにおいて、前記ストレージ装置に対するアクセスを制御するアクセス制御方法であって、前記計算機は、プロセッサと、前記プロセッサによってアクセスされる記憶部と、を備え、前記プロセッサは、前記ストレージ装置の前記計算機からアクセスされるデータが格納される記憶領域を、一つ以上の部分記憶領域ごとに管理し、前記部分記憶領域に対する読み出し回数及び書き込み回数のうち少なくとも一方を含むアクセス統計情報を前記記憶部に記録し、前記アクセス統計情報に基づいて、前記部分記憶領域の複製である複製領域を作成する契機及び前記複製領域を削除する契機を設定し、前記複製領域を作成する契機に、前記複製領域の作成を前記ストレージ装置に指示し、前記複製領域を削除する契機に、前記複製領域の削除を前記ストレージ装置に指示し、前記ストレージ装置は、前記複製領域の作成指示を受け付けたとき、前記作成指示に基づいて、前記複製領域を作成し、前記複製領域の削除指示を受け付けたとき、前記削除指示に基づいて、前記複製領域を削除し、前記プロセッサは、部分記憶領域からのデータの読み出しを要求されたとき、当該部分記憶領域の複製領域が作成されているか否かを判定し、当該複製領域が作成されている場合には、前記部分記憶領域又は前記複製領域のいずれかから前記要求されたデータを読み出すことを特徴とする。
【発明の効果】
【００１０】
本発明の一形態によれば、複製の作成に必要なディスク容量を抑えながら、各ボリュームの単位時間当たりのアクセス回数を分散させ、処理性能を向上させることができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明のアクセス制御方法の実施形態について、図面に示し説明する。
【００１２】
（第１の実施形態）
図１は、本発明の第１の実施形態の計算機システムの構成を示す図である。第１の実施形態の計算機システムは、計算機１及びストレージ装置７を含む。計算機１は、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を介して、ストレージ装置７にアクセスする。ストレージ装置７は、計算機１によって読み書きされるデータを格納する。
【００１３】
計算機１は、ＣＰＵ２１、メモリ２２及びインタフェース２４を備える。ＣＰＵ２１は、メモリ２２に記憶されたプログラムを実行することによって、各種処理を実行する。メモリ２２は、ＣＰＵ２１によって実行されるプログラム及び業務処理に必要なデータを記憶する。インタフェース２４は、ＳＡＮに接続される。
【００１４】
メモリ２２は、データ管理プログラム２、業務プログラム１７、及びＯＳ２３を記憶する。データ管理プログラム２は、ストレージ装置７に格納されたデータを管理する。業務プログラム１７は、ストレージ装置７に格納されたデータに対して、データ管理プログラム２を介してアクセスし、業務処理を実行する。
【００１５】
データ管理プログラム２は、データ処理部１９、アクセス監視部２０、アクセス制御部６及び複製計画部５を有する。データ管理プログラム２は、レプリケーション機能を備え、管理対象のオブジェクト単位で複製を作成する。オブジェクトとは、データ又はデータの集合を含み、例えば、ファイル、データベースの表及びレコードなどが該当する。
【００１６】
データ処理部１９は、データを論理的なオブジェクト単位で管理し、オブジェクトに対する処理を実行する。アクセス監視部２０は、オブジェクトに対するアクセスを監視する。複製計画部５は、オブジェクトの複製を作成又は削除する契機を、設定及び管理する。オブジェクトの複製を作成又は削除する契機とは、具体的には、オブジェクトの複製を作成する時刻及び削除する時刻が該当する。
【００１７】
アクセス制御部６は、オブジェクトに対する処理要求をストレージ装置７の記憶装置の格納領域に対するアクセスに変換し、要求された処理を実行する。また、アクセス制御部６は、オブジェクトの複製が作成されているとき、受け付けた読み出し要求によるアクセス先を複製元又は複製先に振り分ける。また、受け付けた書き込み要求に応じて、複製元及び複製先にデータを書き込む。
【００１８】
さらに、メモリ２２は、データ領域管理テーブル９０、アクセス統計テーブル１００、複製時刻管理テーブル１１０、複製領域管理テーブル１２０、アクセス先管理テーブル１３０、及び複製先候補テーブル１４０を含む。
【００１９】
データ領域管理テーブル９０は、ストレージ装置７に作成されたデータ領域の構成情報を格納する。アクセス統計テーブル１００は、所定の期間におけるオブジェクトに対するアクセス履歴を格納する。
【００２０】
複製時刻管理テーブル１１０は、複製されたオブジェクトの作成時刻及び削除時刻を格納する。複製領域管理テーブル１２０は、複製されたオブジェクトが格納される領域を特定する情報を格納する。オブジェクトが格納される領域は、オブジェクトに含まれるデータのデータ格納領域とすることができる。
【００２１】
アクセス先管理テーブル１３０は、データ管理プログラム２のアクセス制御部６が複製元の領域に対するアクセス要求を受け付けたとき、アクセス先を特定するための情報を格納する。複製先候補テーブル１４０は、オブジェクトの複製を格納する領域の候補に関する情報を格納する。
【００２２】
ストレージ装置７は、ディスクコントローラ２５及び記憶装置１１を備える。記憶装置１１は、計算機１によって読み書きされるデータを格納する。ディスクコントローラ２５は、記憶装置１１に格納されたデータのアクセスを制御する。ディスクコントローラ２５は、記憶装置１１の記憶領域を一つ以上の論理ボリューム１２として、計算機１に提供する。記憶装置１１は、ディスクドライブであってもよいし、不揮発性の半導体メモリであってもよい。インタフェース２６は、ＳＡＮに接続される。
【００２３】
ディスクコントローラ２５は、ＣＰＵ２７及びメモリ２８を備える。ＣＰＵ２７は、要求された指示に応じた処理を実行する。メモリ２８は、制御部１８及び複製作成部８を記憶する。制御部１８は、記憶装置１１に対する入出力を制御する。
【００２４】
複製作成部８は、部分記憶領域の複製を作成する。部分記憶領域とは、複製対象のオブジェクトが格納された記憶領域であって、例えば、データベースの表が格納されている領域などであってもよいし、当該表のレコードが格納されている領域であってもよい。
【００２５】
続いて、計算機１のメモリ２２に格納される各種情報について説明する。
【００２６】
図２は、本発明の第１の実施形態のストレージ装置７に作成されたデータ領域の構成情報を格納するデータ領域管理テーブル９０を示す図である。データ領域管理テーブル９０は、オブジェクト名９１、領域番号９２、論理ボリューム番号９３、始点ディスクブロック番号９４及び終点ディスクブロック番号９５を含む。
【００２７】
オブジェクト名９１は、管理されるオブジェクトを識別する名称が格納される。領域番号９２は、当該オブジェクトが格納される領域の番号が格納される。論理ボリューム番号９３は、当該オブジェクトが格納される論理ボリュームを識別する番号が格納される。
【００２８】
始点ディスクブロック番号９４は、オブジェクト名９１によって識別されるオブジェクトが格納されたブロックの開始ブロック番号が格納される。終点ディスクブロック番号９５は、同様に、オブジェクトが格納されたブロックの最終ブロック番号が格納される。
【００２９】
データ領域管理テーブル９０は、各オブジェクトの格納領域単位にレコードが生成される。また、複製されたオブジェクトは、図５にて後述される複製領域管理テーブル１２０によって管理される。データ領域管理テーブル９０に格納されたデータは、オブジェクトが新たに定義されたときに新規に登録され、オブジェクトの格納領域範囲の変更に伴って更新される。
【００３０】
図３は、本発明の第１の実施形態の所定の期間内のオブジェクトに対するアクセス履歴を格納するアクセス統計テーブル１００を示す図である。アクセス統計テーブル１００は、オブジェクト名１０１、領域番号１０２、時刻１０３、ＲＥＡＤ回数１０４及びＷＲＩＴＥ回数１０５を含む。
【００３１】
オブジェクト名１０１は、アクセス履歴が取得されたオブジェクトを識別する名称である。領域番号１０２は、オブジェクト名１０１によって識別されるオブジェクトが格納された記憶領域の領域番号である。
【００３２】
時刻１０３は、アクセス履歴の取得を開始した時刻である。ＲＥＡＤ回数１０４及びＷＲＩＴＥ回数１０５は、時刻１０３に格納された時刻から所定の時間内にオブジェクト名１０１で特定されるオブジェクトにアクセスされた回数である。所定の時間は、例えば、１０分間である。
【００３３】
図４は、本発明の第１の実施形態の複製されたオブジェクトの作成時刻及び削除時刻を格納する複製時刻管理テーブル１１０を示す図である。複製時刻管理テーブル１１０は、管理番号１１１、オブジェクト名１１２、領域番号１１３、複製作成時刻１１４、及び複製削除時刻１１５を含む。
【００３４】
管理番号１１１は、作成されたオブジェクトの複製を識別する番号を格納する。オブジェクト名１１２は、複製元のオブジェクトの名称を格納する。領域番号１１３は、複製された領域を識別する番号を格納する。複製作成時刻１１４は、複製が作成される時刻を格納する。複製削除時刻１１５は、複製が削除される時刻を格納する。
【００３５】
図５は、本発明の第１の実施形態の複製されたオブジェクトが格納される領域を特定する情報を格納する複製領域管理テーブル１２０を示す図である。複製領域管理テーブル１２０は、管理番号１２１、オブジェクト名１２２、領域番号１２３、論理ボリューム番号１２４、始点ディスクブロック番号１２５及び終点ディスクブロック番号１２６を含む。
【００３６】
管理番号１２１は、図４に示した複製時刻管理テーブル１１０の管理番号１１１と同じであり、管理番号によって、時刻情報と領域情報とを連携させることができる。なお、オブジェクト名１２２、領域番号１２３、論理ボリューム番号１２４、始点ディスクブロック番号１２５及び終点ディスクブロック番号１２６については、図２の対応する項目と同じ内容である。
【００３７】
図６は、本発明の第１の実施形態のアクセス制御部６が複製元に対するアクセス要求を受け付けたとき、アクセス先を特定するアクセス先管理テーブル１３０を示す図である。アクセス先管理テーブル１３０は、オブジェクト名１３１、領域番号１３２、複製元領域１３３、及びアクセス先領域１３４を含む。
【００３８】
オブジェクト名１３１は、アクセス先のオブジェクトの名称を格納する。領域番号１３２は、当該オブジェクトが格納される領域の領域番号を格納する。
【００３９】
複製元領域１３３及びアクセス先領域１３４は、アクセス先リスト１３５の要素を指し示すアドレスを格納する。アクセス先リスト１３５は、リスト構造となっており、各要素は、計算機１によってアクセスされる複製元又は複製先のオブジェクトの情報に対応している。
【００４０】
複製元領域１３３は、複製元のオブジェクトに対応するアクセス先リスト１３５の要素のアドレスが格納される。アクセス先領域１３４は、オブジェクトに対するアクセス要求を受信したとき、複製元領域又は複製先領域に対応し、実際にアクセスされるアクセス先リスト１３５の要素のアドレスが格納される。
【００４１】
アクセス先リスト１３５の要素は、アクセス先論理ボリューム番号１３６、アクセス先相対ブロック番号１３７、管理番号１３８、及び次回アクセス先１３９を含む。アクセス先相対ブロック番号１３７は、複製元ブロック番号とアクセス先ブロック番号との相対的なブロック番号の差分を格納する。管理番号１３８は、複製されたオブジェクトの管理番号である。なお、アクセス先リスト１３５の要素に対応するオブジェクトが複製元である場合には、ＮＵＬＬが格納される。
【００４２】
次回アクセス先１３９は、当該アクセス先リスト１３５の要素に対応するオブジェクトがアクセスされた後、アクセス先を分散させるために、次回アクセスされる複製元又は複製先のオブジェクトの領域のアドレスである。このように、アクセス先リスト１３５は、各要素の次回アクセス先１３９が次レコードを指すことによって、リスト構造が構成される。
【００４３】
アクセス制御部６は、要求されたオブジェクトに対するアクセスが完了すると、アクセスを分散させるために、アクセス先領域１３４を次回アクセス先１３９によって特定される複製元又は複製先のオブジェクトに更新する。
【００４４】
図７は、本発明の第１の実施形態のオブジェクトの複製を格納する領域の候補を格納する複製先候補テーブル１４０を示す図である。複製先候補テーブル１４０は、複製計画部５によって、複製されるオブジェクトを格納する領域を選定するために参照される。
【００４５】
複製先候補テーブル１４０は、ＲＡＩＤグループ番号１４１、論理ボリューム番号１４２及びテストデータスループット１４３を含む。複製先候補テーブル１４０は、ＲＡＩＤグループ番号１４１及び論理ボリューム番号１４２によって特定される領域について、性能を示す値であるテストデータスループット１４３を格納する。テストデータスループット１４３は、あらかじめ計測された結果を格納する。
【００４６】
続いて、本発明の第１の実施形態の処理について説明する。まず、処理の概要を図８及び図９から図１１を参照しながら説明する。さらに、図１２から図１８のフローチャートを参照しながら処理の詳細を説明する。
【００４７】
図８は、本発明の第１の実施形態のアクセス制御方法の概要を説明する図である。
【００４８】
本発明の第１の実施形態のアクセス制御方法は、まず、複製計画部５によって、オブジェクトの複製を作成する契機を設定する（１）。続いて、複製作成部８は、オブジェクトのデータ格納領域に対応する領域の複製を作成する（２）。このとき、複製計画部５は、複製元領域と複製先領域にアクセスを分散させるための所定の情報をメモリ２２に記録する（３）。
【００４９】
アクセス制御部６は、オブジェクトが複製された後、複製元領域に対するアクセス要求を受け付けると、実際にアクセスする領域を複製元領域又は複製先領域に設定し、アクセス先を振り分ける（４）。
【００５０】
複製計画部５は、さらに、複製された領域を削除する契機を設定する（５）。複製作成部８は、設定された契機で複製された領域を削除する。このとき、複製計画部５は、複製作成時にメモリ２２に記録されたアクセスを分散させるための所定の情報を削除する（６）。
【００５１】
ここで、各ステップ（１）から（６）について、さらに説明する。
【００５２】
複製計画部５は、ステップ（１）において、予め集計されたアクセス頻度の統計情報に基づいて、複製を作成する契機を設定する。例えば、図３に示したアクセス統計テーブル１００を参照し、特定のオブジェクトが読み出し（ＲＥＡＤ）回数が所定の値を超える契機を、当該オブジェクトの複製を作成する契機とする。さらに具体的な設定方法については、本アクセス制御方法の詳細を説明する図１２にて後述する。
【００５３】
また、複製計画部５は、複製を作成する契機を設定するときに、所定の情報を複製時刻管理テーブル１１０に格納する。具体的に登録する情報については詳細を後述する。なお、複製を作成する契機は、上位のアプリケーションから通知に基づいて設定されてもよい。上位のアプリケーションとは、例えば、業務プログラム１７である。
【００５４】
複製計画部５は、ステップ（２）において、領域対象範囲の複製作成をストレージ装置７の複製作成部８に通知する。データ管理プログラム２は、オブジェクトが格納されている記憶領域の始点及び終点などの情報をデータ領域管理テーブル９０に予め保持しておく。そして、複製計画部５は、複製対象のオブジェクト及び当該オブジェクトが格納されている領域の情報を複製作成部８に通知する。
【００５５】
複製作成部８は、複製計画部５から複製指示を受信すると、複製先の論理ボリュームを決定し、複製計画部５に通知する。複製計画部５は、複製先論理ボリュームの未使用領域から複製先の領域を決定し、複製作成部８に複製元領域のデータを複製先領域にコピーするように通知する。複製作成後、複製作成部８は、複製先の領域情報をデータ管理プログラム２に通知する。
【００５６】
複製計画部５は、複製作成部８から複製先の領域情報を受信すると、ステップ（３）において、受信した複製先の領域情報に基づいて、アクセス先情報を作成する。具体的には、複製領域管理テーブル１２０及びアクセス先管理テーブル１３０に所定の情報を登録する。
【００５７】
アクセス制御部６は、ステップ（４）において、外部から複製が作成されたオブジェクトに対するＲＥＡＤ要求を受信すると、ステップ（３）にて登録されたアクセス先管理テーブル１３０に基づいて、要求されたオブジェクトにアクセスする。アクセス制御部６は、アクセス先管理テーブル１３０からアクセスされた複製元又は複製先オブジェクトに対応するアクセス先リスト１３５の要素を取得し、当該要素の次回アクセス先１３９の値をアクセス先領域１３４に設定する。
【００５８】
複製計画部５は、ステップ（５）において、複製を削除する契機を設定する。複製を削除する契機についても、例えば、図３に示したアクセス統計テーブル１００を参照し、ＲＥＡＤ回数が所定の値を下回ったとき、又は、書き込み（ＷＲＩＴＥ）回数が所定の値を超えたときを、複製を削除する契機とする。なお、複製を削除する契機は、上位のアプリケーションから通知に基づいて設定してもよい。
【００５９】
複製作成部８は、ステップ（６）において、オブジェクトの複製を削除する契機となると、当該削除される複製に関連する情報をアクセス先管理テーブル１３０などから削除し、最後に複製先領域を削除する。
【００６０】
さらに、オブジェクトが格納された領域を複製する方法について、具体的に説明する。図９から図１１は、複製を作成するオブジェクトについて、複製先の領域を説明する図である。
【００６１】
図９は、本発明の第１の実施形態において、アクセス頻度の多いオブジェクトの複製を１対１で作成する方法を説明する図である。図９では、分割されたＴａｂｌｅ１（３０）の一部及びＴａｂｌｅ２（３１）の複製が作成される。
【００６２】
Ｔａｂｌｅ１（３０）は、物理ボリューム３３Ａの論理ボリューム３４Ａの領域３５及び物理ボリューム３３Ｂの論理ボリューム３４Ｂの領域４０に分割されて格納される。Ｔａｂｌｅ２（３１）は、論理ボリューム３４Ａの領域３６に格納される。Ｔａｂｌｅ３（３２）は、論理ボリューム３４Ａの領域３７に格納される。
【００６３】
複製計画部５は、Ｔａｂｌｅ１（３０）及びＴａｂｌｅ２（３１）のアクセス頻度が所定の閾値を超えたとき、論理ボリューム３４Ａに格納されたオブジェクトの領域を物理ボリューム３３Ｃの論理ボリューム３４Ｃに複製を作成するように設定する。そして、複製を作成する契機において、論理ボリューム３４Ｃに領域３５及び領域３６の複製である複製先領域３８及び複製先領域３９を作成する。
【００６４】
図１０は、本発明の第１の実施形態において、アクセス頻度の多いオブジェクトの複製をアクセス頻度ごとの領域を複製する方法を説明する図である。図１０では、Ｔａｂｌｅ１（４１）の複製が作成される。
【００６５】
Ｔａｂｌｅ１（４１）は、物理ボリューム４２Ａの論理ボリューム４３Ａの領域４４に格納されている。Ｔａｂｌｅ１（４１）は、格納されたデータに応じて領域ごとにアクセス頻度が異なる。図１０では、領域４４は、アクセス頻度の高い領域４５と、さらにアクセス頻度の高い領域４６とを含む。例えば、領域４４がデータベースのテーブル、領域４５が関連する複数のレコード、さらに、領域４６が特にアクセスの多い特定のレコードとすることができる。
【００６６】
このように、単一のオブジェクトであってもアクセスされる領域に偏りがある場合には、アクセス頻度ごとに領域の複製を作成することによって、効率よくアクセスを分散させることができる。具体的に図１０を参照すると、領域４４全体を物理ボリューム４２Ｂの論理ボリューム４３Ｂに複製先領域４７として作成する。領域４５は、物理ボリューム４２Ｃの論理ボリューム４３Ｃに複製先領域４８として作成される。領域４６は、物理ボリューム４２Ｄの論理ボリューム４３Ｄに複製先領域４９として作成される。
【００６７】
アクセス先の振り分けについては、一例として、複製された領域ごとにアクセス先リストを作成する。具体的には、領域４４、領域４５及び領域４６に対応したアクセス先リストを作成し、領域４６については、領域４４、領域４７、領域４８及び領域４９をリストの要素とし、領域４４については、領域４７のみをアクセス先リストの要素とする。このようにアクセス先リストを構成することによって、アクセス頻度に応じてアクセスを分散させることができる。
【００６８】
図１１は、本発明の第１の実施形態において、アクセス頻度の多いオブジェクトの複製を分割して作成する方法を説明する図である。図１１では、Ｔａｂｌｅ１（５０）の複製が作成される。
【００６９】
Ｔａｂｌｅ１（５０）は、物理ボリューム５１Ａの論理ボリューム５２Ａの領域５３及び領域５４に格納されている。Ｔａｂｌｅ１（５０）は、全体としてのアクセス頻度は高いが、領域５３及び領域５４のアクセス頻度に大きな偏りはないものとする。このとき、図１１に示すように、領域を分割し、物理ボリューム５１Ｂの論理ボリューム領域５２Ｂの領域５５に領域５３を複製し、同様に、物理ボリューム５１Ｂの論理ボリューム領域５２Ｃの領域５６に領域５４を複製する。ここで、領域５３及び領域５４に対応するアクセス先リストを作成することによって、アクセスを分散させることができる。
【００７０】
ここで、本発明の第１の実施形態のアクセス制御方法の詳細を説明する。まず、オブジェクトの複製を作成及び削除する契機を設定する手順を説明し、続いて、オブジェクトの複製を作成及び削除する手順を説明する。最後に、業務プログラム１７からの読み出し要求に対して、アクセス先を振り分ける手順について説明する。なお、第１の実施形態のアクセス制御方法では、図９に示したように、アクセス頻度の高いオブジェクトを格納する領域を１対１に複製を作成する。
【００７１】
図１２は、本発明の第１の実施形態の各オブジェクトの複製作成時刻及び複製削除時刻を設定する手順を示すフローチャートである。具体的には、図４に示した複製時刻管理テーブル１１０のデータを設定する手順を説明する。本処理は、データ管理プログラム２の複製計画部５によって実行される。
【００７２】
複製計画部５は、データ管理プログラム２のアクセス監視部２０によって取得された各オブジェクトの格納領域ごとに単位時間当たりのＲＥＡＤ回数、及びＷＲＩＴＥ回数を取得する（ステップ１００１）。
【００７３】
複製計画部５は、ステップ１００１の処理で取得された単位時間当たりのＲＥＡＤ回数及びＷＲＩＴＥ回数をアクセス統計テーブル１００に記録する（ステップ１００２）。
【００７４】
複製計画部５は、アクセス監視部２０が２日分のアクセス情報の収集が完了したか否かを判定する（ステップ１００３）。複製計画部５は、アクセス統計テーブル１００に記録されたアクセス情報に基づいて、オブジェクトを複製する計画を作成する。なお、アクセス情報を収集する期間は、第１の実施形態では２日間としているが、適用する業務に応じて決定すればよい。
【００７５】
複製計画部５は、所定期間のアクセス情報の取得が完了していない場合には（ステップ１００３の結果が「ＮＯ」）、アクセス情報の収集を継続する。
【００７６】
複製計画部５は、所定期間のアクセス情報の取得が完了すると（ステップ１００３の結果が「ＹＥＳ」）、アクセス統計テーブル１００に格納された情報を解析する（ステップ１００４）。複製計画部５は、アクセス統計テーブル１００に格納された情報を解析することによって、オブジェクトの複製を作成する契機、オブジェクトの複製を削除する契機、及び複製されるオブジェクトの数を特定する。図１３に解析結果となるグラフを示す。
【００７７】
図１３は、本発明の第１の実施形態のオブジェクトに対して受け付けたＲＥＡＤ要求の回数の推移を示すグラフの一例である。グラフ６０は、横軸に時刻、縦軸にＲＥＡＤ回数となっている。左側の縦軸は、オブジェクトの複製個数の基準を示す。右側の縦軸は、ＲＥＡＤ回数を示す。
【００７８】
グラフ６０は、最もアクセス回数が少ない時刻を始点として、オブジェクトごとに各時刻あたりのＲＥＡＤ回数を表す１日分のグラフを作成する。ｔ１からｔ４は、ＲＥＡＤ回数が閾値と一致する時刻である。ｔ１ｓ及びｔ２ｓは、オブジェクトの複製の作成を開始する時刻を示す。詳細については、後述する。
【００７９】
一方、オブジェクトの複製が作成された個数が多い場合には、読み出し処理の性能は向上するが、書き込み処理については複製された個数の書き込み処理が必要となるため、処理性能が悪化する。そこで、オブジェクトの複製の作成の判定にＷＲＩＴＥ回数を加味してもよい。
【００８０】
図１４は、本発明の第１の実施形態のオブジェクトに対して受け付けたＲＥＡＤ要求及びＷＲＩＴＥ要求の回数の推移を示すグラフの一例である。グラフ７０は、横軸に時刻、縦軸にＲＥＡＤ回数又はＷＲＩＴＥ回数となっている。折れ線７１は、ＷＲＩＴＥ回数の推移を示す。折れ線７２は、ＲＥＡＤ回数の推移を示す。
【００８１】
図１４を参照すると、時刻ｔ１において、ＷＲＩＴＥ回数が閾値を下回り、時刻ｔ２において、ＲＥＡＤ回数が閾値を上回っている。したがって、時刻ｔ１以前には、ＲＥＡＤ回数が閾値を超えた場合であっても、オブジェクトの複製を作成しないとしてもよい。そして、時刻ｔ１以降、ＲＥＡＤ回数が閾値を上回る時刻ｔ２に複製が作成されるように複製作成時刻を決定することができる。
【００８２】
また、ＲＥＡＤ要求の件数がＷＲＩＴＥ要求の件数と比較して多い場合には、予め最大複製個数を算出し、ＲＥＡＤ回数の閾値を上回った時点ですべてのオブジェクトの複製を作成してもよい。
【００８３】
図１５は、本発明の第１の実施形態のオブジェクトに対して受け付けたＲＥＡＤ要求の回数の時間ごとの推移に対応し、作成される複製の個数を示すグラフの一例である。グラフ８０は、横軸に時刻、右側の縦軸に閾値に対応する複製個数、左側の縦軸にＲＥＡＤ回数となっている。
【００８４】
図１５を参照すると、オブジェクトの最大複製個数は、「３」である。そして、期間Ｔｅの開始時刻に１つ以上の複製が作成されるように複製作成時刻を設定する。なお、期間Ｔｅの開始時刻において、１つの複製が作成されているように複製作成時刻を設定してもよいし、すべて（３つ）の複製が作成されているように複製作成時刻を設定してもよい。
【００８５】
ここで、図１２のフローチャートの説明に戻る。
【００８６】
複製計画部５は、ステップ１００４において解析されたアクセス情報に基づいて、複製を作成及び削除する契機を特定する。具体的には、図１３に示したＲＥＡＤ回数の時間的推移を示すグラフを参照し、複製作成及び複製削除の基準となる基準ＲＥＡＤ回数とグラフの交点が存在するか否かを判定する（ステップ１００５）。図１３では、時刻ｔ１、ｔ２、ｔ３及びｔ４が該当する。ＲＥＡＤ回数が基準ＲＥＡＤ回数を超えることがなければ（ステップ１００５の結果が「ＮＯ」）、本処理を終了する。
【００８７】
複製計画部５は、ＲＥＡＤ回数が基準ＲＥＡＤ回数と一致する時刻が存在する場合には（ステップ１００５の結果が「ＹＥＳ」）、当該時刻において、ＲＥＡＤ回数が増加傾向であるか否かを判定する（ステップ１００６）。
【００８８】
複製計画部５は、ＲＥＡＤ回数が基準ＲＥＡＤ回数と一致する時刻において、ＲＥＡＤ回数が増加傾向にある場合には（ステップ１００６の結果が「ＹＥＳ」）、オブジェクトの複製を作成する。オブジェクトの複製を作成することによって、ＲＥＡＤ要求によるアクセスを分散させることができるため、処理性能を向上させることができる。図１３では、ｔ１及びｔ２が該当する。
【００８９】
複製計画部５は、まず、複製作成に要する時間を判定するために、複製元領域のサイズを取得する（ステップ１００７）。具体的には、複製計画部５は、データ領域管理テーブル９０から始点ディスクブロック番号９４及び終点ディスクブロック番号９５を参照し、複製元領域のサイズを算出する。
【００９０】
続いて、複製計画部５は、複製計画部５がステップ１００７の処理で算出された複製元領域のサイズから複製作成に要する時間を算出する（ステップ１００８）。そして、ステップ１００６の処理で取得された時刻から複製作成予測時間を減算し、複製作成時刻を決定する。図１３では、複製作成予測時間はｔ１ｓからｔ１までの時間、及びｔ２ｓからｔ２までの時間が該当する。複製作成時刻は、図１３のｔ１ｓ及びｔ２ｓが該当する。
【００９１】
複製計画部５は、最後に、複製時刻管理テーブル１１０に複製対象となるオブジェクト名１１２、領域番号１１３、複製作成時刻１１４及び管理番号１１１を登録する（ステップ１００９）。
【００９２】
一方、複製計画部５は、ＲＥＡＤ回数が基準ＲＥＡＤ回数と一致する時刻において、ＲＥＡＤ回数が減少傾向である場合には（ステップ１００６の結果が「ＮＯ」）、オブジェクトの複製を削除する。また、複製が格納されていることによって占有された領域を解放することによって、使用される記憶容量を抑制することができる。図１３では、ｔ３及びｔ４が複製削除時刻に該当する。
【００９３】
複製計画部５は、まず、削除する対象のオブジェクトの複製を特定する。削除対象は、オブジェクトの複製のうち、直近に作成されたものとする。そして、削除対象のオブジェクトの複製を作成した時刻を取得する（ステップ１０１０）。図１３では、ｔ３の時刻に削除する複製を作成した時刻はｔ２ｓとなり、ｔ４の時刻に削除する複製を作成した時刻はｔ１ｓとなる。
【００９４】
複製計画部５は、ステップ１０１０の処理によって取得された複製作成時刻を有するレコードを複製時刻管理テーブル１１０から選択し、該当レコードの複製削除時刻１１５を更新する（ステップ１０１１）。
【００９５】
なお、図１２に示したフローチャートでは、ＲＥＡＤ回数のみに基づいて、複製作成時刻及び複製削除時刻を定めていたが、ＷＲＩＴＥ回数に基づいて定めてもよい。例えば、複製先領域を増やすことによって、ＲＥＡＤ性能を向上させることができるが、更新対象の領域が増加するため、ＷＲＩＴＥ性能は悪化する。したがって、ＲＥＡＤ回数及びＷＲＩＴＥ回数に基づいて、複製先を作成又は削除することによって、システム全体の性能を向上させることができる場合がある。
【００９６】
以上の処理によって、オブジェクトの複製を作成及び削除する時刻を複製時刻管理テーブル１１０に登録することができる。以下、複製時刻管理テーブル１１０に格納された情報に基づいて、オブジェクトの複製を作成及び削除する処理を図１６及び図１７のフローチャートに従って説明する。
【００９７】
図１６は、本発明の第１の実施形態の指定された時刻にオブジェクトの複製を作成する手順を示したフローチャートである。第１の実施形態では、前述のように、図９に示した複製元領域と複製先領域とが１対１に対応する場合としているが、図１０に示したように、オブジェクトの格納領域のうちＲＥＡＤ要求が高い領域ほど複製数を増やしてもよい。また、図１１に示したように複製元領域を細分化し、それぞれ別の論理ボリュームに複製を作成するとしてもよい。
【００９８】
複製計画部５は、複製作成時刻となったか否かを判定する（ステップ２００１）。複製作成時刻でない場合には（ステップ２００１の結果が「ＮＯ」）、複製作成時刻となるまで待機する
複製計画部５は、複製作成時刻となった場合には（ステップ２００１の結果が「ＹＥＳ」）、データ領域管理テーブル９０を参照し、複製を作成するオブジェクトが格納された領域を取得する（ステップ２００２）。具体的には、データ領域管理テーブル９０から複製元領域の論理ボリューム番号９３、始点ディスクブロック番号９４、及び終点ディスクブロック番号９５を取得する。
【００９９】
複製計画部５は、ストレージ装置７の複製作成部８に複製元の論理ボリューム番号、始点ディスクブロック番号、終点ディスクブロック番号を通知し、複製先の論理ボリューム番号の決定を要求する（ステップ２００３）。
【０１００】
複製作成部８は、複製計画部５から複製先の論理ボリューム番号の決定の要求通知を受信すると、制御部１８からＲＡＩＤグループ番号と論理ボリューム番号のリストを取得する（ステップ２００４）。
【０１０１】
複製作成部８は、ステップ２００６からステップ２００８までの処理をすべての論理ボリュームに対して実行する（ステップ２００５）。
【０１０２】
複製作成部８は、論理ボリューム番号が属するＲＡＩＤグループがステップ２００３の処理で通知された論理ボリューム番号が属するＲＡＩＤグループと同じであるか否かを判定する（ステップ２００６）。同じである場合には（ステップ２００６の結果が「ＹＥＳ」）、別の論理ボリュームに対して処理を実行する。
【０１０３】
複製作成部８は、処理対象の論理ボリュームに対してテストデータを書き込み、書き込み時のスループットを計測する（ステップ２００７）。
【０１０４】
複製作成部８は、複製先候補の論理ボリューム番号を保持するためにステップ２００７の処理で測定されたスループット、及び対象の論理ボリューム番号、及びＲＡＩＤグループ番号を複製先候補テーブル１４０に挿入する（ステップ２００８）。
【０１０５】
このように、複製先の候補となる論理ボリュームのスループットを計測して保持し、測定されたスループットに応じて、処理性能の向上を期待できるオブジェクトの複製の作成先を特定する。
【０１０６】
複製作成部８は、ステップ２００５のループが終了し、複製先候補テーブル１４０が作成されると、複製先候補テーブル１４０のレコードをスループットの値が昇順となるように並び替える（ステップ２００９）。
【０１０７】
複製作成部８は、複製先候補テーブル１４０に格納された論理ボリューム番号の論理ボリュームに対し、ステップ２００９の処理によってソートされた順にステップ２０１１の処理を実行する（ステップ２０１０）。
【０１０８】
複製作成部８は、複製先候補の論理ボリュームに複製を作成するために必要な空き容量が確保可能か否かを判定する（ステップ２０１１）。必要な空き容量が確保可能な場合には（ステップ２０１１の結果が「ＹＥＳ」）、当該論理ボリュームを複製先とし、ステップ２０１０のループを抜ける。
【０１０９】
複製作成部８は、複製先の特定が完了すると、複製先候補テーブル１４０のレコードを削除する（ステップ２０１２）。そして、複製作成部８は、特定された複製先の論理ボリューム番号を複製計画部５に通知する（ステップ２０１３）。
【０１１０】
複製計画部５は、複製作成部８から複製先の論理ボリューム番号の通知を受信すると、
当該論理ボリュームの空き領域から複製先領域の始点ディスクブロック番号、終点ディスクブロック番号を決定する（ステップ２０１４）。
【０１１１】
複製計画部５は、複製作成部８にステップ２０１４の処理によって決定された複製先領域に、ステップ２００２の処理によって取得された複製元領域のデータの複製を指示する（ステップ２０１５）。
【０１１２】
複製作成部８は、複製計画部５からのデータの複製依頼を受信すると、通知された複製先領域に複製元領域のデータをコピーする（ステップ２０１６）。
【０１１３】
複製計画部５は、データの複製が完了すると、複製領域管理テーブル１２０に複製先論理ボリューム番号、始点ディスクブロック番号、終点ディスクブロック番号、及び管理番号を含むレコードを挿入する（ステップ２０１７）。このとき、管理番号１２１は、複製時刻管理テーブル１１０に登録された管理番号１１１と同じ番号を使用する。
【０１１４】
複製計画部５は、複製元となるオブジェクトについて、アクセス先管理テーブル１３０の対応するレコードの複製元領域１３３が設定済みであるか否かを判定する（ステップ２０１８）。アクセス先管理テーブル１３０の複製元領域１３３は、複製先領域に対応するアクセス先リスト１３５を最初に作成したときに設定される。したがって、複製元領域１３３の値が設定されている場合には（ステップ２０１８の結果が「ＹＥＳ」）、１以上の複製が既に作成されていることとなる。
【０１１５】
複製計画部５は、複製元領域１３３が設定されていない場合には（ステップ２０１８の結果が「ＮＯ」）、アクセス先管理テーブル１３０に複製元領域１３３を設定する（ステップ２０１９）。このとき、対応するアクセス先リスト１３５の管理番号１３８にはＮＵＬＬを設定し、次回アクセス先１３９には、自分自身のアドレスを設定する。さらに、アクセス先管理テーブル１３０のアクセス先領域１３４には、複製元領域１３３と同じアドレスを設定する。
【０１１６】
複製計画部５は、複製先の始点ボリューム番号及び複製元の始点ボリューム番号から相対ブロック番号を算出する。（ステップ２０２０）
複製計画部５は、複製先論理ボリューム番号、ステップ２０２０の処理で算出された相対ブロック番号、及び複製時刻管理テーブル１１０と同じ管理番号を追加したレコードをアクセス先リスト１３５に追加する（ステップ２０２１）。また、アクセス先領域１３４には、アクセス先リスト１３５に追加したレコードのアドレスを設定する。
【０１１７】
図１７は、本発明の第１の実施形態の指定された時刻にオブジェクトの複製を削除する手順を示したフローチャートである。
【０１１８】
複製計画部５は、複製時刻管理テーブル１１０を参照し、いずれかのオブジェクトの複製削除時刻であるか否かを判定する（ステップ３００１）。
【０１１９】
複製計画部５は、削除対象となるオブジェクトの複製が存在する場合には（ステップ３００１の結果が「ＹＥＳ」）、複製時刻管理テーブル１１０から削除対象の複製の管理番号１１１を取得する（ステップ３００２）。
【０１２０】
複製計画部５は、ステップ３００２の処理によって取得された管理番号に基づいて、アクセス先管理テーブル１３０のアクセス先領域１３４から、該当するアクセス先リスト１３５の要素を取得し、参照する（ステップ３００３）。
【０１２１】
複製計画部５は、アクセス先領域１３４に設定されている領域が削除対象の複製の領域であるか否かを判定する（ステップ３００４）。
【０１２２】
複製計画部５は、アクセス先領域１３４に設定されている領域が削除対象である場合には（ステップ３００４の結果が「ＹＥＳ」）、現在指定されているアクセス先領域１３４の次回アクセス先１３９をアクセス先領域１３４に更新する（ステップ３００５）。
【０１２３】
複製計画部５は、アクセス先リスト１３５から削除対象の複製のレコードを削除する（ステップ３００６）。
【０１２４】
複製計画部５は、ストレージ装置７の制御部１８に論理ボリューム番号、始点ディスクブロック番号、及び終点ディスクブロック番号を通知し、削除対象の複製先領域のデータ削除を要求する（ステップ３００７）。
【０１２５】
ストレージ装置７の制御部１８は、複製先領域の削除通知を受信すると、削除対象の領域のデータを削除する（ステップ３００８）。
【０１２６】
複製計画部５は、複製先領域の削除が完了すると、ステップ３００２によって取得された管理番号と同じ管理番号のレコードを複製領域管理テーブル１２０から削除する（ステップ３００９）。
【０１２７】
図１８は、本発明の第１の実施形態の複製元のオブジェクトに対するアクセス要求を受け付けた場合に、アクセス先を切替える処理の手順を示したフローチャートである。
【０１２８】
アクセス制御部６は、オブジェクトに対するアクセス要求を受信すると、複製領域管理テーブル１２０を参照し、アクセス対象のオブジェクトに複製が作成されているか否かを判定する（ステップ４００１）。複製が作成されていない場合には（ステップ４００１の結果が「ＮＯ」）、通常の処理を実行し、処理を終了する（ステップ４０１５）。
【０１２９】
アクセス制御部６は、受け付けたアクセス要求がＲＥＡＤ要求か否かを判定する（ステップ４００２）。
【０１３０】
アクセス制御部６は、受け付けたアクセス要求がＲＥＡＤ要求の場合には（ステップ４００２の結果が「ＹＥＳ」）、アクセス対象のオブジェクトに対応するアクセス先管理テーブル１３０のレコードを取得し、当該レコードのアクセス先領域１３４が示すアドレスを参照する（ステップ４００３）。取得されるレコードは、オブジェクト名１３１及び領域番号１３２に基づいて、特定される。
【０１３１】
アクセス制御部６は、ステップ４００３の処理によって参照されたアクセス先領域１３４を更新する（ステップ４００４）。具体的には、参照されたアクセス先領域１３４が示すアクセス先リスト１３５の要素の次回アクセス先１３９に格納されたアドレスを、アクセス先管理テーブル１３０のアクセス先領域１３４に設定する。こうすることによって、前回アクセスしたボリュームと異なるボリュームに対してデータの読み出しが実行される。
【０１３２】
アクセス制御部６は、ステップ４００４の処理によって変更されたアクセス先領域１３４に基づいて、アクセス先論理ボリューム番号１３６、アクセス先相対ブロック番号１３７を取得する（ステップ４００５）。さらに、アクセス制御部６は、ＲＥＡＤ要求の対象となる複製元のブロック番号に相対ブロック番号を加算することによって、アクセス先のブロック番号に変換する（ステップ４００６）。そして、アクセス制御部６は、ステップ４００５及びステップ４００６の処理によって決定されたアクセス先に対し、読み出し処理を実行する（ステップ４００７）。
【０１３３】
一方、アクセス制御部６は、受信したアクセス要求がＲＥＡＤ要求でなかった場合には（ステップ４００２の結果が「ＮＯ」）、受信したアクセス要求がＷＲＩＴＥ要求か否かを判定する（ステップ４００８）。受信したアクセス要求がＷＲＩＴＥ要求でなかった場合には、処理を終了する。
【０１３４】
アクセス制御部６は、アクセス先管理テーブル１３０から複製元領域１３３のアドレスを取得する（ステップ４００９）。そして、複製元に対して書き込み処理を実行する（ステップ４０１０）。
【０１３５】
アクセス制御部６は、ステップ４００９の処理によって取得された複製元領域８３からアクセス先リスト１３５を参照し、すべての複製先に対して、ステップ４０１２からステップ４０１４の処理を実行する（ステップ４０１１）。
【０１３６】
アクセス制御部６は、ステップ４００９の処理によって取得されたアクセス先リスト１３５の要素から次回アドレス先のアドレスを参照し、複製先のアクセス先論理ボリューム番号１３６、アクセス先相対ブロック番号１３７を取得する（ステップ４０１２）。
【０１３７】
アクセス制御部６は、ＷＲＩＴＥ要求が複製元のブロック番号にステップ４０１２の処理によって取得された相対ブロック番号を加算し、アクセス先のブロック番号に変換する（ステップ４０１３）。
【０１３８】
アクセス制御部６は、ステップ４０１２及びステップ４０１３の処理によって決定されたアクセス先に対して書き込み処理を実行する（ステップ４０１４）。
【０１３９】
第１の実施形態によれば、アクセス頻度に応じてオブジェクトの複製を自動的に作成する。そして、アクセス頻度の高いオブジェクトに対してＲＥＡＤ要求が多数発生したとき、オブジェクトの複製が複製元のオブジェクトが格納されたボリュームと異なるボリュームに作成されているため、アクセスを分散させることができる。したがって、記憶装置に対するアクセス性能を向上させることができる。
【０１４０】
第１の実施形態によれば、アクセス頻度が少ない時間帯には、複製されたオブジェクトを削除するため、複製の作成による記憶容量の増加を抑えることができる。
【０１４１】
第１の実施形態によれば、複製対象の領域をデータ管理プログラムが扱うオブジェクト単位とすることによって、複製に必要な記憶容量を抑えることができる。また、複製元の対象をオブジェクト単位に限定することによって、複製の作成に必要な時間を軽減することができる。さらに、処理を自動化することによって、システム管理者の負荷を軽減できる。
【０１４２】
（第２の実施形態）
第１の実施形態では、複製の作成時刻及び削除時刻をＲＥＡＤ回数に基づいて定めていたが、第２の実施形態では、複製の作成はＲＥＡＤ回数に、複製の削除はＷＲＩＴＥ回数に基づいて定められることを特徴とする。以下、第２の実施形態の処理の概要及び詳細を、図を用いて説明する。
【０１４３】
なお、第２の実施形態のシステム構成は、図１に示した第１の実施形態と同じ構成である。また、図２から図７に示した情報についても、第１の実施形態と共通する。その他、第１の実施形態と共通する事項については説明を省略する。
【０１４４】
図１９は、本発明の第２の実施形態の複製作成時刻を算出し、複製時刻管理テーブル１１０に登録する処理手順を示すフローチャートである。
【０１４５】
複製計画部５は、アクセス統計テーブル１００を参照し、オブジェクトごとにＲＥＡＤ回数の時間的推移を表すグラフを作成する（ステップ５００１）。複製計画部５は、グラフ１９０からＲＥＡＤ回数が最小となる時刻を探索し、当該時刻を解析対象の始点時刻として、以降１日分のＲＥＡＤ回数の推移を示すグラフを作成する（ステップ５００２）。作成されたグラフの一例を図２０に示す。
【０１４６】
図２０は、本発明の第２の実施形態のオブジェクトに対して受け付けたＲＥＡＤ要求の回数の時間ごとの推移を示すグラフの一例である。また、第２の実施形態では、前半にＲＥＡＤ要求が集中している。
【０１４７】
グラフ１９０は、横軸に時刻、左側の縦軸に複製を作成する閾値であって、作成される複製の基準個数、右側の縦軸にＲＥＡＤ回数を示している。なお、閾値は後述するステップ５００３の処理で設定される。
【０１４８】
時刻ｔ１からｔ３は、ＲＥＡＤ回数が閾値と一致する時刻であって、時刻ｔ１ｓからｔ３ｓは、複製の作成を開始する時刻であり、複製作成時刻となる。
【０１４９】
複製計画部５は、複製を作成するか否かを決定するための基準ＲＥＡＤ回数を設定する（ステップ５００３）。基準ＲＥＡＤ回数は、記憶装置の処理性能及び複製されるオブジェクトのサイズなどに基づいて、決定される。
【０１５０】
複製計画部５は、ステップ５００３の処理によって設定された複製作成の基準ＲＥＡＤ回数と解析時刻におけるＲＥＡＤ回数とを比較し、解析時刻時点のＲＥＡＤ回数が複製作成の基準ＲＥＡＤ回数を超えているか否かを判定する（ステップ５００４）。
【０１５１】
複製計画部５は、解析時刻のＲＥＡＤ回数が複製作成の基準ＲＥＡＤ回数を超えている場合には（ステップ５００４の結果が「ＹＥＳ」）、複製作成時刻を決定する（ステップ５００５Ａ）。複製作成時刻は、第１の実施形態の図１２のステップ１００７及びステップ１００８と同様に、複製元領域のサイズをデータ領域管理テーブル９０から算出し、前記算出したサイズから複製作成に要する時間を予測し、解析時刻から複製作成予想時間を減算することによって決定される。
【０１５２】
複製計画部５は、さらに、管理番号１１１、複製対象となるオブジェクト名１１２、領域番号１１３、及び複製作成時刻１１４を複製時刻管理テーブル１１０に登録する（ステップ５００５Ｂ）。複製時刻管理テーブル１１０に登録される複製作成時刻１１４は、前述のように、図２０の時刻ｔ１ｓ、ｔ２ｓ及びｔ３ｓが該当する。
【０１５３】
複製計画部５は、現在の複製作成基準ＲＥＡＤ回数を複製数に１を加算した複製数に対応する基準ＲＥＡＤ回数に再設定する（ステップ５００６）。例えば、現在の複製作成基準ＲＥＡＤ回数が、複製個数が１個の場合に対応する基準ＲＥＡＤ回数であれば、複製個数が２個に対応する基準ＲＥＡＤ回数に再設定する。
【０１５４】
複製計画部５は、現在の解析時刻が解析対象の終点時刻であるか否かを判定する（ステップ５００７）。解析対象の終点であれば（ステップ５００７の結果が「ＹＥＳ」）、複製作成時刻の登録処理を終了する。また、解析対象の終点でなければ（ステップ５００７の結果が「ＮＯ」）、現在の解析時刻を次の解析時刻に変更し、ステップ５００４の処理に戻る。
【０１５５】
以上が第２の実施形態の複製作成時刻を登録する処理である。複製作成時刻を登録する処理が終了すると、続いて、複製削除時刻を登録する処理を実行する。
【０１５６】
図２１は、本発明の第２の実施形態の複製削除時刻を算出し、複製時刻管理テーブル１１０に登録する処理手順を示すフローチャートである。
【０１５７】
複製計画部５は、アクセス統計テーブル１００を参照し、オブジェクトごとに各時刻あたりのＷＲＩＴＥ回数を表すグラフを作成する（ステップ６００１）。複製計画部５は、図１９のステップ５００３の処理によって算出された最小ＲＥＡＤ回数時の時刻を統計解析の開始時刻として設定する（ステップ６００２）。作成されたグラフの一例を図２２に示す。
【０１５８】
図２２は、本発明の第２の実施形態のオブジェクトに対して受け付けたＷＲＩＴＥ要求の回数の時間ごとの推移を示すグラフの一例である。また、第２の実施形態では、後半にＷＲＩＴＥ要求が集中している。
【０１５９】
グラフ２００は、横軸に時刻、左側の縦軸に複製を削除する閾値であって、作成されている複製の基準個数、右側の縦軸にＷＲＩＴＥ回数を示している。なお、閾値は後述するステップ６００３の処理で設定される。時刻ｔ１からｔ４は、ＷＲＩＴＥ回数が閾値と一致する時刻であって、複製削除時刻となる。
【０１６０】
複製計画部５は、複製時刻管理テーブル１１０を参照し、対象のオブジェクトの複製時刻を検索することによって、オブジェクトの複製最大数を算出する（ステップ６００３）。
【０１６１】
複製計画部５は、ステップ６００３の処理によって算出された複製最大数に基づいて、複製数に対応する基準ＷＲＩＴＥ回数を設定する（ステップ６００４）。例えば、ステップ６００３によって算出された複製最大数が３個の場合、複製数３に対応する基準ＷＲＩＴＥ回数を設定する。
【０１６２】
複製計画部５は、ステップ６００４の処理によって設定された複製作成の基準ＷＲＩＴＥ回数と解析時刻におけるＷＲＩＴＥ回数とを比較し、解析時刻時点のＷＲＩＴＥ回数が複製作成の基準ＷＲＩＴＥ回数を超えているか否かを判定する（ステップ６００５）。
【０１６３】
複製計画部５は、解析時刻のＷＲＩＴＥ回数が複製削除の基準ＷＲＩＴＥ回数を超えている場合には（ステップ６００５の結果が「ＹＥＳ」）、複製時刻管理テーブル１１０の対応するレコードの複製削除時刻１１５の値を更新する（ステップ６００６）。具体的には、現在の複製削除基準ＷＲＩＴＥ回数に対応する複製個数に対応する複製を作成する時刻に対応するレコードを複製時刻管理テーブル１１０から選択する。そして、該当するレコードの複製削除時刻１１５に現在の解析時刻を複製削除時刻として登録する。例えば、現在の複製削除基準のＷＲＩＴＥ回数が複製数３に対応するものであれば、３個目の複製を作成した時刻を登録したレコードを複製時刻管理テーブル１１０から選択し、該当レコードの複製削除時刻１１５を更新する。
【０１６４】
複製計画部５は、現在の複製削除基準ＷＲＩＴＥ回数を複製数に１を減じた複製数に対応する基準ＷＲＩＴＥ回数に再設定する（ステップ６００７）。例えば、複製削除基準ＷＲＩＴＥ回数が、複製個数が３個に対応する基準ＷＲＩＴＥ回数であれば、複製個数が２個に対応する基準ＷＲＩＴＥ回数に再設定する。
【０１６５】
複製計画部５は、現在の解析時刻が解析対象の終点時刻であるか否かを判定する（ステップ６００８）。解析対象の終点であれば（ステップ６００８の結果が「ＹＥＳ」）、複製削除の登録処理を終了する。また、解析対象の終点でなければ（ステップ６００８の結果が「ＮＯ」）、現在の解析時刻を次の解析時刻に変更し、ステップ６００４の処理に戻る。
【０１６６】
第２の実施形態では、以上の処理を実行することによって、複製作成時刻及び複製削除時刻を複製時刻管理テーブル１１０に登録する。そして、第１の実施形態と同様に、オブジェクトの複製を自動的に作成及び削除し、オブジェクトに対するＲＥＡＤ要求が多数発生した場合に、オブジェクトのデータを格納する記憶装置に対するアクセスを複数の記憶装置に分散させることができる。
【０１６７】
第２の実施形態によれば、ＷＲＩＴＥ回数に基づいて、オブジェクトの複製を削除するため、読み出し処理による負荷と書き込み処理による負荷バランスをとることができる。例えば、図２０及び図２２に示したグラフのように、ＲＥＡＤ要求が多い時間帯とＷＲＩＴＥ要求が多い時間帯とが異なる場合に、第２の実施形態は好適である。具体的には、昼間は参照系の処理によるＲＥＡＤ要求が多く、夜間にはバッチ処理などによって更新系の処理によるＷＲＩＴＥ要求が多くなる場合には、昼間にオブジェクトの複製を多く作成し、夜間にオブジェクトの複製が少なくなるようにオブジェクトの複製を作成及び削除することができる。
【０１６８】
なお、ＲＥＡＤ回数及びＷＲＩＴＥ回数がともに閾値を超える場合には、ＲＥＡＤ性能を重視するかＷＲＩＴＥ性能を重視するかによって、複製先領域を作成又は削除するかを決定すればよい。
【０１６９】
（第３の実施形態）
第１の実施形態及び第２の実施形態では、オブジェクトの複製を削除するとき、作成された複製先を削除していたが、第３の実施形態では、オブジェクトの複製元を削除し、複製先を複製元として再設定することを特徴とする。以下、第３の実施形態の処理の概要及び詳細を、図を用いて説明する。
【０１７０】
なお、第３の実施形態のシステム構成は、図１に示した第１の実施形態と同じ構成である。また、図２から図７に示した情報についても、第１の実施形態と共通する。その他、第１の実施形態と共通する事項については説明を省略する。
【０１７１】
図２３は、本発明の第３の実施形態の複製先領域を複製元領域とするアクセス制御方法の概要を説明する図である。
【０１７２】
Ｔａｂｌｅ１（２３０）は、初期状態として、論理ボリューム２３２Ａに格納されている。複製作成部８によって、Ｔａｂｌｅ１（２３０）の複製を作成されたとき、論理ボリューム２３２Ａと別の論理ボリューム２３２ＢにＴａｂｌｅ１（２３０）の複製を領域２３４に作成する。ここまでは、第１の実施形態と同じである。
【０１７３】
第１の実施形態では、複製削除時刻に複製先の領域２３４を削除して処理を継続するが、第３の実施形態では、複製元の領域２３３を削除し、複製先の領域２３４をＴａｂｌｅ１（２３０）のデータ格納領域の複製元として処理を継続する。
【０１７４】
図２４は、本発明の第３の実施形態の複製が作成されたオブジェクトを削除する手順を示すフローチャートである。
【０１７５】
複製計画部５は、複製時刻管理テーブル１１０を参照し、いずれかのオブジェクトの複製削除時刻であるか否かを判定する（ステップ７００１）。
【０１７６】
複製計画部５は、削除対象となるオブジェクトの複製が存在する場合には（ステップ７００１の結果が「ＹＥＳ」）、ステップ７００１の処理によって削除対象と判定されたオブジェクトの複製の管理番号を複製時刻管理テーブル１１０から取得する。そして、複製領域管理テーブル１２０から当該複製の管理番号に対応するレコードを選択し、削除対象のオブジェクトの複製先領域の論理ボリューム番号１２４、始点ディスクブロック番号１２５及び終点ディスクブロック番号１２６を取得する（ステップ７００２）。
【０１７７】
複製計画部５は、複製先領域を複製元領域に再設定するために、データ領域管理テーブル９０の対象オブジェクトの領域をステップ７００２の処理によって取得された複製先領域の情報に更新する（ステップ７００３）。
【０１７８】
複製計画部５は、アクセス先管理テーブル１３０を参照し（ステップ７００４）、削除対象と判定された複製の管理番号に対応するレコードのアドレスをアクセス先管理テーブル１３０の複製元領域１３３に設定する（ステップ７００５）。このとき、新たに複製元領域として設定されたアクセス先リスト１３５の要素の管理番号は、ＮＵＬＬに設定される。
【０１７９】
複製計画部５は、アクセス先管理テーブル１３０のアクセス先領域１３４が削除対象の複製元領域を指しているか否かを判定する（ステップ７００６）。
【０１８０】
複製計画部５は、アクセス先領域１３４が削除対象の複製元領域を指している場合には（ステップ７００６の結果が「ＹＥＳ」）、アクセス先領域１３４に当該削除対象の複製元領域の次回アクセス先を設定する（ステップ７００７）。複製元の領域を指していない場合には（ステップ７００６の結果が「Ｎｏ」）、ステップ７００８の処理を実行する。
【０１８１】
複製計画部５は、アクセス先リスト１３５から複製元の領域を示すレコードを削除する（ステップ７００８）。そして、複製計画部５は、ストレージ装置７の制御部１８に論理ボリューム番号、始点ディスクブロック番号、終点ディスクブロック番号を通知し、削除対象の複製元領域の削除を要求する（ステップ７００９）。
【０１８２】
ストレージ装置７の制御部１８は、複製計画部５から通知を受けた領域のデータを削除する（ステップ７０１０）。
【０１８３】
複製計画部５は、最後に、複製領域管理テーブル１２０からステップ７００１の処理によって取得された管理番号に対応するレコードを削除する（ステップ７０１１）。
【０１８４】
第３の実施形態によれば、複製元の領域を複製先の領域に移動させることによって、アクセスが集中する領域を分散させることができる。そして、複製先は、複製時点でスループットが高い領域に作成されるため、複製元の領域の移動を繰り返すことによって、各ボリュームの負荷を均等化させることができる。したがって、複製の作成及び削除の回数を少なくすることができ、記憶装置に対する負荷を低減することができる。
【図面の簡単な説明】
【０１８５】
【図１】本発明の第１の実施形態の計算機システムの構成を示す図である。
【図２】本発明の第１の実施形態のディスク記憶装置に作成されたデータ領域の構成情報を格納するデータ領域管理テーブルを示す図である。
【図３】本発明の第１の実施形態の所定の期間内のオブジェクトに対するアクセス履歴を格納するアクセス統計テーブルを示す図である。
【図４】本発明の第１の実施形態の複製されたオブジェクトの作成時刻及び削除時刻を格納する複製時刻管理テーブルを示す図である。
【図５】本発明の第１の実施形態の複製されたオブジェクトが格納される領域を特定する情報を格納する複製領域管理テーブルを示す図である。
【図６】本発明の第１の実施形態のアクセス制御部が複製元に対するアクセス要求を受け付けたとき、アクセス先を特定するアクセス先管理テーブルを示す図である。
【図７】本発明の第１の実施形態のオブジェクトの複製を格納する領域の候補を格納する複製先候補テーブルを示す図である。
【図８】本発明の第１の実施形態のアクセス制御方法の概要を説明する図である。
【図９】本発明の第１の実施形態において、アクセス頻度の多いオブジェクトの複製を１対１で作成する方法を説明する図である。
【図１０】本発明の第１の実施形態において、アクセス頻度の多いオブジェクトの複製をアクセス頻度ごとの領域を複製する方法を説明する図である。
【図１１】本発明の第１の実施形態において、アクセス頻度の多いオブジェクトの複製を分割して作成する場合を方法する図である。
【図１２】本発明の第１の実施形態の各オブジェクトの複製作成時刻及び複製削除時刻を設定する手順を示すフローチャートである。
【図１３】本発明の第１の実施形態のオブジェクトに対して受け付けたＲＥＡＤ要求の回数の時間ごとの推移を示すグラフの一例である。
【図１４】本発明の第１の実施形態のオブジェクトに対して受け付けたＲＥＡＤ要求及びＷＲＩＴＥ要求の回数の時間ごとの推移を示すグラフの一例である。
【図１５】本発明の第１の実施形態のオブジェクトに対して受け付けたＲＥＡＤ要求の回数の時間ごとの推移に対応し、作成される複製の個数を示すグラフの一例である。
【図１６】本発明の第１の実施形態の指定された時刻にオブジェクトの複製を作成する手順を示したフローチャートである。
【図１７】本発明の第１の実施形態の指定された時刻にオブジェクトの複製を削除する手順を示したフローチャートである。
【図１８】本発明の第１の実施形態の複製元のオブジェクトに対するアクセス要求を受け付けた場合に、アクセス先を切替える処理の手順を示したフローチャートである。
【図１９】本発明の第２の実施形態の複製作成時刻を算出し、複製時刻管理テーブルに登録する処理手順を示すフローチャートである。
【図２０】本発明の第２の実施形態のオブジェクトに対して受け付けたＲＥＡＤ要求の回数の時間ごとの推移を示すグラフの一例である。
【図２１】本発明の第２の実施形態の複製削除時刻を算出し、複製時刻管理テーブルに登録する処理手順を示すフローチャートである。
【図２２】本発明の第２の実施形態のオブジェクトに対して受け付けたＷＲＩＴＥ要求の回数の時間ごとの推移を示すグラフの一例である。
【図２３】本発明の第３の実施形態の複製先領域を複製元領域とするアクセス制御方法の概要を説明する図である。
【図２４】本発明の第３の実施形態の複製が作成されたオブジェクトを削除する手順を示すフローチャートである。
【符号の説明】
【０１８６】
１  計算機
２  データ管理プログラム
５  複製計画部
６  アクセス制御部
７  記憶装置システム
８  複製作成部
１７  業務プログラム
１８  制御部
１９  データ処理部
２０  アクセス監視部
９０  データ領域管理テーブル
１００  アクセス統計テーブル
１１０  複製時刻管理テーブル
１２０  複製領域管理テーブル
１３０  アクセス先管理テーブル
１４０  複製先候補テーブル
【図１】
2008158661.tif 000003
【図２】
2008158661.tif 000004
【図３】
2008158661.tif 000005
【図４】
2008158661.tif 000006
【図５】
2008158661.tif 000007
【図６】
2008158661.tif 000008
【図７】
2008158661.tif 000009
【図８】
2008158661.tif 000010
【図９】
2008158661.tif 000011
【図１０】
2008158661.tif 000012
【図１１】
2008158661.tif 000013
【図１２】
2008158661.tif 000014
【図１３】
2008158661.tif 000015
【図１４】
2008158661.tif 000016
【図１５】
2008158661.tif 000017
【図１６】
2008158661.tif 000018
【図１７】
2008158661.tif 000019
【図１８】
2008158661.tif 000020
【図１９】
2008158661.tif 000021
【図２０】
2008158661.tif 000022
【図２１】
2008158661.tif 000023
【図２２】
2008158661.tif 000024
【図２３】
2008158661.tif 000025
【図２４】
2008158661.tif 000026