(57)【要約】【課題】業務サーバ上のキャッシュドライバと管理サーバとが連携して、記憶サーバ上のデータの配置を制御するシステム及び方法を実現する。【解決手段】複数の業務サーバ、データを格納する記憶サーバ、及び管理サーバを備える計算機システムであって、業務サーバはオペレーティングシステムを有し、オペレーティングシステムはキャッシュドライバを含み、記憶サーバはアクセス性能の異なる複数の階層記憶領域を管理し、管理サーバは、複数の業務サーバの各々が前記業務の状態に応じてデータの配置の変更契機を通知するアラート情報を送信するためのアラート設定情報を生成するアラート設定情報生成部と、ストレージキャッシュにおけるキャッシュデータの配置を制御するコマンドを含むキャッシュ制御情報、及び複数の階層記憶領域の階層間のデータの配置を制御するコマンドを含む階層制御情報を生成する制御情報生成部とを含む。【選択図】図１
2015087837.tif 000002
【特許請求の範囲】
【請求項１】
複数のサーバ、及び管理サーバを備える計算機システムであって、
前記複数のサーバは、所定の業務を実行するアプリケーションが稼動する複数の業務サーバ、及び前記アプリケーションが使用するデータを格納する記憶サーバを含み、
前記複数の業務サーバの各々は、第１のプロセッサ、前記第１のプロセッサに接続される第１のメモリ、前記第１のプロセッサに接続され、一時的にデータを格納するサーバキャッシュが設定される第１のキャッシュデバイス、及び前記第１のプロセッサに接続され、他の装置と接続するための第１のインタフェースを有し、
前記記憶サーバは、第２のプロセッサ、前記第２のプロセッサに接続される第２のメモリ、前記第２のプロセッサに接続され、一時的にデータを格納するストレージキャッシュが設定される第２のキャッシュデバイス、前記第２のプロセッサに接続され、他の装置と接続するための第２のインタフェース、及びアクセス性能が異なる複数の記憶装置を有し、
前記管理サーバは、第３のプロセッサ、前記第３のプロセッサに接続される第３のメモリ、及び前記第３のプロセッサに接続され、他の装置と接続するための第３のインタフェースを有し、
前記複数の業務サーバの各々は、前記業務サーバを制御する第１のオペレーティングシステムを有し、
前記第１のオペレーティングシステムは、前記サーバキャッシュを制御するキャッシュドライバを含み、
前記記憶サーバは、前記記憶サーバを制御する第２のオペレーティングシステムを有し、
前記第２のオペレーティングシステムは、前記複数の記憶装置を用いて、アクセス性能の異なる複数の階層記憶領域を生成し、前記複数の階層記憶領域を性能毎に分けて管理し、
前記管理サーバは、前記キャッシュドライバから送信される情報に基づいて、前記記憶サーバ上のデータの配置の制御指示を送信するキャッシュ最適化部を有し、
前記キャッシュ最適化部は、
前記複数の業務サーバの各々が、前記業務の状態に応じてデータの配置の変更契機を通知するアラート情報を送信するためのアラート設定情報を生成し、前記複数の業務サーバの各々に、生成された前記アラート設定情報を送信するアラート設定情報生成部と、
前記ストレージキャッシュにおけるキャッシュデータの配置を制御する第１のコマンドを含むキャッシュ制御情報、及び前記複数の階層記憶領域の階層間の前記データの配置を制御する第２のコマンドを含む階層制御情報の少なくともいずれかを生成し、前記キャッシュ制御情報及び前記階層制御情報の少なくともいずれかを含む制御情報を前記記憶サーバに送信する制御情報生成部と、を含み、
前記複数の業務サーバの各々のキャッシュドライバは、前記アラート設定情報に基づいて、前記データの配置の変更契機を検出した場合に、前記管理サーバに前記アラート情報を送信し、
前記第２のオペレーティングシステムは、前記管理サーバから受信した前記制御情報に基づいて、前記ストレージキャッシュにおける前記データの配置を制御するキャッシュ制御処理、及び、前記複数の階層記憶領域の階層間の前記データの配置を制御する階層制御処理の少なくともいずれかを実行することを特徴とする計算機システム。
【請求項２】
請求項１に記載の計算機システムであって、
前記第２のオペレーティングシステムは、前記アプリケーションが使用するデータを格納するストレージボリュームとして、一つ以上の前記階層記憶領域の一部の記憶領域を提供し、
前記管理サーバは、前記アプリケーションが実行する業務、及び当該業務において使用される前記データの対応関係を管理する業務管理情報と、前記データ、及び前記データが格納されるストレージボリュームの対応関係を管理するデータ管理情報と、前記データが格納されるストレージボリューム、及び当該ストレージボリュームに記憶領域を提供する前記階層記憶領域の対応関係を管理するストレージ構成管理情報と、前記複数の階層記憶領域の階層構造を管理する階層管理情報と、を保持し、
前記アラート設定情報生成部は、前記サーバキャッシュのキャッシュヒット率を通知するためのタイマを含む前記アラート設定情報を生成し、
前記複数の業務サーバの各々のキャッシュドライバは、前記アラート設定情報に含まれる前記タイマに基づいて、前記サーバキャッシュのキャッシュヒット率を含む前記アラート情報を前記管理サーバに送信し、
前記制御情報生成部は、
任意の業務サーバから前記アラート情報を受信した場合、前記記憶サーバから前記ストレージキャッシュの空き容量を含むストレージキャッシュ情報を取得し、
前記任意の業務サーバが有する前記サーバキャッシュのキャッシュヒット率が第１の閾値より小さいか否かを判定し、
前記任意の業務サーバが有する前記サーバキャッシュのキャッシュヒット率が前記第１の閾値より小さいと判定された場合、前記業務管理情報を参照して、前記任意の業務サーバが実行する業務によって使用される第１のデータを特定し、
前記ストレージ構成管理情報を参照して、特定された前記第１のデータが格納される記憶領域を提供する第１の階層記憶領域を特定し、
取得された前記ストレージキャッシュ情報に基づいて、前記ストレージキャッシュに特定された前記第１のデータを格納できるか否かを判定し、
前記ストレージキャッシュに特定された前記第１のデータを格納できると判定された場合、前記ストレージキャッシュに特定された前記第１のデータを格納するための前記第１のコマンドを含む第１のキャッシュ制御情報を生成し、
前記ストレージキャッシュに特定された前記第１のデータを格納できないと判定された場合、前記階層管理情報及び前記ストレージ構成管理情報を参照して、前記第１の階層記憶領域より性能が高く、かつ、特定された前記第１のデータを格納可能な記憶領域を有する第２の階層記憶領域を検索し、
前記第１の階層記憶領域から前記第２の階層記憶領域に特定された前記第１のデータを移動するための前記第２のコマンドを含む第１の階層制御情報を生成し、
前記任意の業務サーバに、前記第１のキャッシュ制御情報及び前記第１の階層制御情報の少なくともいずれかを含む前記制御情報を送信することを特徴とする計算機システム。
【請求項３】
請求項２に記載の計算機システムであって、
前記制御情報生成部は、
任意の業務サーバから前記アラート情報を受信した場合、前記記憶サーバから前記ストレージキャッシュ情報を取得し、
前記任意の業務サーバが有する前記サーバキャッシュのキャッシュヒット率が第２の閾値より大きいか否かを判定し、
前記任意の業務サーバが有する前記サーバキャッシュのキャッシュヒット率が前記第２の閾値より大きいと判定された場合、前記業務管理情報を参照して、前記任意の業務サーバが実行する業務によって使用される第２のデータを特定し、
前記ストレージ構成管理情報を参照して、特定された前記第２のデータが格納される記憶領域を提供する第３の階層記憶領域を特定し、
前記ストレージキャッシュから特定された前記第２のデータのキャッシュデータを追い出すための前記第１のコマンドを含む第２のキャッシュ制御情報を生成し、
前記階層管理情報及び前記ストレージ構成管理情報を参照して、前記第３の階層記憶領域より性能が低く、かつ、特定された前記第２のデータを格納可能な記憶領域を有する第４の階層記憶領域を検索し、
前記第３の階層記憶領域から前記第４の階層記憶領域に特定された前記第２のデータを移動するための前記第２のコマンドを含む第２の階層制御情報を生成し、
前記任意の業務サーバに、前記第２のキャッシュ制御情報及び前記第２の階層制御情報を含む前記制御情報を送信することを特徴とする計算機システム。
【請求項４】
請求項１に記載の計算機システムであって、
前記第２のオペレーティングシステムは、前記アプリケーションが使用するデータを格納するストレージボリュームとして、一つ以上の前記階層記憶領域の一部の記憶領域を提供し、
前記管理サーバは、前記アプリケーションが稼動する前記業務サーバ、前記アプリケーションが実行する業務、前記業務の実行スケジュール、及び前記業務において使用されるデータの対応関係を管理する業務管理情報と、前記データ、及び前記データが格納されるストレージボリュームの対応関係を管理するデータ管理情報と、前記データが格納されるストレージボリューム、及び当該ストレージボリュームに記憶領域を提供する前記階層記憶領域の対応関係を管理するストレージ構成管理情報と、前記複数の階層記憶領域の階層構造を管理する階層管理情報と、を保持し、
前記制御情報生成部は、
前記業務管理情報を参照して、前記複数の業務から構成されるジョブネットを特定し、
前記ジョブネットに含まれる複数の業務から処理対象の業務を一つ選択し、
前記業務管理情報を参照して、前記処理対象の業務によって使用される第３のデータを特定し、
前記ストレージ構成管理情報を参照して、特定された前記第３のデータが格納される記憶領域を提供する第５の階層記憶領域を特定し、
前記階層管理情報及び前記ストレージ構成管理情報を参照して、前記第５の階層記憶領域より性能が低く、かつ、特定された前記第３のデータを格納可能な記憶領域を有する第６の階層記憶領域を検索し、
当該処理対象の業務の終了を検知するための、特定された前記第３のデータのアドレスを決定し、
前記第５の階層記憶領域から前記第６の階層記憶領域に特定された前記第３のデータを移動するための前記第２のコマンド、及び決定された前記第３のデータのアドレスを含む第３の階層制御情報を生成し、
前記処理対象の業務の次に実行される業務である関連業務が存在するか否かを判定し、
前記関連業務が存在すると判定された場合、前記関連業務によって使用される第４のデータを特定し、
前記ストレージ構成管理情報を参照して、特定された前記第４のデータが格納される記憶領域を提供する第７の階層記憶領域を特定し、
前記階層管理情報及び前記ストレージ構成管理情報を参照して、前記第７の階層記憶領域より性能が高く、かつ、特定された前記第４のデータを格納可能な記憶領域を有する第８の階層記憶領域を検索し、
前記第７の階層記憶領域から前記第８の階層記憶領域に特定された前記第４のデータを移動するための前記第２のコマンド、及び決定された前記第３のデータのアドレスを含む第４の階層制御情報を生成し、
任意の業務サーバから任意の業務の終了を通知するアラート情報を受信した場合、前記任意の業務に対応する前記第３の階層制御情報を前記任意の業務サーバに送信し、
前記業務管理情報を参照して、前記任意の業務の次に実行される前記関連業務を特定し、当該関連業務を実行する業務サーバを特定し、
前記関連業務を実行する業務サーバに、前記関連業務に対応する前記第４の階層制御情報を送信し、
前記アラート設定情報生成部は、前記処理対象の業務よって使用されるデータのアドレスを含むアラート設定情報を生成することを特徴とする計算機システム。
【請求項５】
請求項４に記載の計算機システムであって、
前記制御情報生成部は、
前記第３の階層制御情報を送信する場合に、前記記憶サーバから前記ストレージキャッシュの空き容量を含むストレージキャッシュ情報を取得し、
前記ストレージキャッシュ情報に基づいて、前記第３の階層制御情報に基づいて制御される前記データを前記ストレージキャッシュに格納できるか否かを判定し、
前記第３の階層制御情報に基づいて制御される前記データを前記ストレージキャッシュに格納できると判定された場合、前記ストレージキャッシュに前記データを格納するための前記第１のコマンドを含む第３のキャッシュ制御情報を生成し、
前記第３の階層制御情報の代わりに、前記第３のキャッシュ制御情報を前記任意の業務サーバに送信することを特徴とする計算機システム。
【請求項６】
請求項４に記載の計算機システムであって、
前記制御情報生成部は、
前記第４の階層制御情報を送信する場合に、前記ストレージキャッシュから、前記第４の階層制御情報に基づいて制御される前記データのキャッシュデータを追い出すための前記第１のコマンドを含む第４のキャッシュ制御情報を生成し、
前記第４のキャッシュ制御情報、及び前記第４の階層制御情報を前記関連業務を実行する業務サーバに送信することを特徴とする計算機システム。
【請求項７】
請求項４に記載の計算機システムであって、
前記制御情報生成部は、
前記業務管理情報を参照して、前記処理対象の業務が前記ジョブネットにおいて最初に実行される業務であるか否かを判定し、
前記処理対象の業務が前記ジョブネットにおいて最初に実行される業務であると判定された場合、前記業務管理情報を参照して、前記第５の階層記憶領域より性能が高く、かつ、特定された前記第３のデータを格納可能な記憶領域を有する第７の階層記憶領域を検索し、
前記第５の階層記憶領域から前記第７の階層記憶領域に特定された前記第３のデータを移動するための前記第２のコマンドを含む第５の階層制御情報を生成し、
前記ジョブネットにおける最初の業務を実行する業務サーバから当該業務の開始を通知するアラート情報を受信した場合、当該業務に対応する前記第５の階層制御情報を当該業務サーバに送信し、
前記アラート設定情報生成部は、
前記業務管理情報を参照して、前記ジョブネットにおける最初の業務の開始を検知するためのタイマを決定し、
前記ジョブネットにおける最初の業務の終了を検知するための、特定された前記第３のデータのアドレスを決定し、
前記タイマ、及び決定された前記第３のデータのアドレスを含むアラート設定情報を前記処理対象の業務を実行する業務サーバに送信することを特徴とする計算機システム。
【請求項８】
複数のサーバ、及び管理サーバを備える計算機システムにおけるデータ配置制御方法であって、
前記複数のサーバは、所定の業務を実行するアプリケーションが稼動する複数の業務サーバ、及び前記アプリケーションが使用するデータを格納する記憶サーバを含み、
前記複数の業務サーバの各々は、第１のプロセッサ、前記第１のプロセッサに接続される第１のメモリ、前記第１のプロセッサに接続され、一時的にデータを格納するサーバキャッシュが設定される第１のキャッシュデバイス、及び前記第１のプロセッサに接続され、他の装置と接続するための第１のインタフェースを有し、
前記記憶サーバは、第２のプロセッサ、前記第２のプロセッサに接続される第２のメモリ、前記第２のプロセッサに接続され、一時的にデータを格納するストレージキャッシュが設定される第２のキャッシュデバイス、前記第２のプロセッサに接続され、他の装置と接続するための第２のインタフェース、及びアクセス性能が異なる複数の記憶装置を有し、
前記管理サーバは、第３のプロセッサ、前記第３のプロセッサに接続される第３のメモリ、及び前記第３のプロセッサに接続され、他の装置と接続するための第３のインタフェースを有し、
前記複数の業務サーバの各々は、前記業務サーバを制御する第１のオペレーティングシステムを有し、
前記第１のオペレーティングシステムは、前記サーバキャッシュを制御するキャッシュドライバを含み、
前記記憶サーバは、前記記憶サーバを制御する第２のオペレーティングシステムを有し、
前記第２のオペレーティングシステムは、前記複数の記憶装置を用いて、アクセス性能の異なる複数の階層記憶領域を生成し、前記複数の階層記憶領域を性能毎に分けて管理し、
前記管理サーバは、前記キャッシュドライバから送信される情報に基づいて、前記記憶サーバ上のデータの配置の制御指示を送信するキャッシュ最適化部を有し、
前記キャッシュ最適化部は、
前記複数の業務サーバの各々が、前記業務の状態に応じてデータの配置の変更契機を通知するアラート情報を送信するためのアラート設定情報を生成するアラート設定情報生成部と、
前記ストレージキャッシュにおけるキャッシュデータの配置を制御する第１のコマンドを含むキャッシュ制御情報、及び前記複数の階層記憶領域の階層間の前記データの配置を制御する第２のコマンドを含む階層制御情報の少なくともいずれかを生成する制御情報生成部と、を含み、
前記データ配置制御方法は、
前記アラート設定情報生成部が、前記複数の業務サーバの各々に、前記生成されたアラート設定情報を送信する第１のステップと、
前記複数の業務サーバの各々のキャッシュドライバが、前記アラート設定情報に基づいて、前記データの配置の変更契機を検出した場合に、前記管理サーバに前記アラート情報を送信する第２のステップと、
前記制御情報生成部が、前記アラート情報を受信した場合に、前記キャッシュ制御情報及び前記階層制御情報の少なくともいずれかを含む制御情報を前記記憶サーバに送信する第３のステップと、
前記第２のオペレーティングシステムが、前記管理サーバから受信した前記制御情報に基づいて、前記ストレージキャッシュにおける前記データの配置を制御するキャッシュ制御処理、及び、前記複数の階層記憶領域の階層間の前記データの配置を制御する階層制御処理の少なくともいずれかを実行する第４のステップと、を含むことを特徴とするデータ配置制御方法。
【請求項９】
請求項８に記載のデータ配置制御方法であって、
前記第２のオペレーティングシステムは、前記アプリケーションが使用するデータを格納するストレージボリュームとして、一つ以上の前記階層記憶領域の一部の記憶領域を提供し、
前記管理サーバは、前記アプリケーションが実行する業務、及び当該業務において使用される前記データの対応関係を管理する業務管理情報と、前記データ、及び前記データが格納されるストレージボリュームの対応関係を管理するデータ管理情報と、前記データが格納されるストレージボリューム、及び当該ストレージボリュームに記憶領域を提供する前記階層記憶領域の対応関係を管理するストレージ構成管理情報と、前記複数の階層記憶領域の階層構造を管理する階層管理情報と、を保持し、
前記第１のステップは、前記サーバキャッシュのキャッシュヒット率を通知するためのタイマを含む前記アラート設定情報を生成するステップを含み、
前記第３のステップは、
任意の業務サーバから前記サーバキャッシュのキャッシュヒット率を含む前記アラート情報を受信した場合、前記記憶サーバから前記ストレージキャッシュの空き容量を含むストレージキャッシュ情報を取得するステップと、
前記任意の業務サーバが有する前記サーバキャッシュのキャッシュヒット率が第１の閾値より小さいか否かを判定するステップと、
前記任意の業務サーバが有する前記サーバキャッシュのキャッシュヒット率が前記第１の閾値より小さいと判定された場合、前記業務管理情報を参照して、前記任意の業務サーバが実行する業務によって使用される第１のデータを特定するステップと、
前記ストレージ構成管理情報を参照して、特定された前記第１のデータが格納される記憶領域を提供する第１の階層記憶領域を特定するステップと、
取得された前記ストレージキャッシュ情報に基づいて、前記ストレージキャッシュに特定された前記第１のデータを格納できるか否かを判定するステップと、
前記ストレージキャッシュに特定された前記第１のデータを格納できると判定された場合、前記ストレージキャッシュに特定された前記第１のデータを格納するための前記第１のコマンドを含む第１のキャッシュ制御情報を生成するステップと、
前記ストレージキャッシュに特定された前記第１のデータを格納できないと判定された場合、前記階層管理情報及び前記ストレージ構成管理情報を参照して、前記第１の階層記憶領域より性能が高く、かつ、特定された前記第１のデータを格納可能な記憶領域を有する第２の階層記憶領域を検索するステップと、
前記第１の階層記憶領域から前記第２の階層記憶領域に特定された前記第１のデータを移動するための前記第２のコマンドを含む第１の階層制御情報を生成するステップと、
前記任意の業務サーバに、前記第１のキャッシュ制御情報及び前記第１の階層制御情報の少なくともいずれかを含む前記制御情報を送信するステップと、を含むことを特徴とするデータ配置制御方法。
【請求項１０】
請求項９に記載のデータ配置制御方法であって、
前記第３のステップは、
任意の業務サーバから前記アラート情報を受信した場合、前記記憶サーバから前記ストレージキャッシュ情報を取得するステップと、
前記任意の業務サーバが有する前記サーバキャッシュのキャッシュヒット率が第２の閾値より大きいか否かを判定するステップと、
前記任意の業務サーバが有する前記サーバキャッシュのキャッシュヒット率が前記第２の閾値より大きいと判定された場合、前記業務管理情報を参照して、前記任意の業務サーバが実行する業務によって使用される第２のデータを特定するステップと、
前記ストレージ構成管理情報を参照して、特定された前記第２のデータが格納される記憶領域を提供する第３の階層記憶領域を特定するステップと、
前記ストレージキャッシュから特定された前記第２のデータのキャッシュデータを追い出すための前記第１のコマンドを含む第２のキャッシュ制御情報を生成するステップと、
前記階層管理情報及び前記ストレージ構成管理情報を参照して、前記第３の階層記憶領域より性能が低く、かつ、特定された前記第２のデータを格納可能な記憶領域を有する第４の階層記憶領域を検索するステップと、
前記第３の階層記憶領域から前記第４の階層記憶領域に特定された前記第２のデータを移動するための前記第２のコマンドを含む第２の階層制御情報を生成するステップと、
前記任意の業務サーバに、前記第２のキャッシュ制御情報及び前記第２の階層制御情報を含む前記制御情報を送信するステップと、を含むことを特徴とするデータ配置制御方法。
【請求項１１】
請求項８に記載のデータ配置制御方法であって、
前記第２のオペレーティングシステムは、前記アプリケーションが使用するデータを格納するストレージボリュームとして、一つ以上の前記階層記憶領域の一部の記憶領域を提供し、
前記管理サーバは、前記アプリケーションが稼動する前記業務サーバ、前記アプリケーションが実行する業務、前記業務の実行スケジュール、及び前記業務において使用されるデータの対応関係を管理する業務管理情報と、前記データ、及び前記データが格納されるストレージボリュームの対応関係を管理するデータ管理情報と、前記データが格納されるストレージボリューム、及び当該ストレージボリュームに記憶領域を提供する前記階層記憶領域の対応関係を管理するストレージ構成管理情報と、前記複数の階層記憶領域の階層構造を管理する階層管理情報と、を保持し、
前記データ配置制御方法は、
前記制御情報生成部が、
前記第１のステップの実行前に、前記業務管理情報を参照して、前記複数の業務から構成されるジョブネットを特定する第５のステップと、
前記ジョブネットに含まれる複数の業務から処理対象の業務を一つ選択する第６のステップと、
前記業務管理情報を参照して、前記処理対象の業務によって使用される第３のデータを特定する第７のステップと、
前記ストレージ構成管理情報を参照して、特定された前記第３のデータが格納される記憶領域を提供する第５の階層記憶領域を特定する第８のステップと、
前記階層管理情報及び前記ストレージ構成管理情報を参照して、前記第５の階層記憶領域より性能が低く、かつ、特定された前記第３のデータを格納可能な記憶領域を有する第６の階層記憶領域を検索する第９のステップと、
当該処理対象の業務の終了を検知するための、特定された前記第３のデータのアドレスを決定する第１０のステップと、
前記第５の階層記憶領域から前記第６の階層記憶領域に特定された前記第３のデータを移動するための前記第２のコマンド、及び決定された前記第３のデータのアドレスを含む第３の階層制御情報を生成する第１１のステップと、
前記処理対象の業務の次に実行される業務である関連業務が存在するか否かを判定する第１２のステップと、
前記関連業務が存在すると判定された場合、前記関連業務によって使用される第４のデータを特定する第１３のステップと、
前記ストレージ構成管理情報を参照して、特定された前記第４のデータが格納される記憶領域を提供する第７の階層記憶領域を特定する第１４のステップと、
前記階層管理情報及び前記ストレージ構成管理情報を参照して、前記第７の階層記憶領域より性能が高く、かつ、特定された前記第４のデータを格納可能な記憶領域を有する第８の階層記憶領域を検索する第１５のステップと、
前記第７の階層記憶領域から前記第８の階層記憶領域に特定された前記第４のデータを移動するための前記第２のコマンド、及び決定された前記第３のデータのアドレスを含む第４の階層制御情報を生成する第１６のステップと、
を含み、
前記第１のステップは、前記処理対象の業務よって使用されるデータのアドレスを含むアラート設定情報を生成するステップを含み、
前記第３のステップは、
任意の業務サーバから任意の業務の終了を通知するアラート情報を受信した場合、前記任意の業務に対応する前記第３の階層制御情報を前記任意の業務サーバに送信する第１７のステップと、
前記業務管理情報を参照して、前記任意の業務の次に実行される前記関連業務を特定し、当該関連業務を実行する業務サーバを特定する第１８のステップと、
前記関連業務を実行する業務サーバに、前記関連業務に対応する前記第４の階層制御情報を送信する第１９のステップと、を含むことを特徴とするデータ配置制御方法。
【請求項１２】
請求項１１に記載のデータ配置制御方法であって、
前記第１７のステップは、
前記記憶サーバから前記ストレージキャッシュの空き容量を含むストレージキャッシュ情報を取得するステップと、
前記ストレージキャッシュ情報に基づいて、前記第３の階層制御情報に基づいて制御される前記データを前記ストレージキャッシュに格納できるか否かを判定するステップと、
前記第３の階層制御情報に基づいて制御される前記データを前記ストレージキャッシュに格納できると判定された場合、前記ストレージキャッシュに前記データを格納するための前記第１のコマンドを含む第３のキャッシュ制御情報を生成するステップと、
前記第３の階層制御情報の代わりに、前記第３のキャッシュ制御情報を前記任意の業務サーバに送信するステップと、を含むことを特徴とするデータ配置制御方法。
【請求項１３】
請求項１１に記載のデータ配置制御方法であって、
前記第１９のステップは、
前記ストレージキャッシュから、前記第４の階層制御情報に基づいて制御される前記データのキャッシュデータを追い出すための前記第１のコマンドを含む第４のキャッシュ制御情報を生成するステップと、
前記第４のキャッシュ制御情報、及び前記第４の階層制御情報を前記関連業務を実行する業務サーバに送信するステップと、を含むことを特徴とするデータ配置制御方法。
【請求項１４】
請求項１１に記載のデータ配置制御方法であって、
前記第６のステップは、
前記業務管理情報を参照して、前記処理対象の業務が前記ジョブネットにおいて最初に実行される業務であるか否かを判定するステップと、
前記処理対象の業務が前記ジョブネットにおいて最初に実行される業務であると判定された場合、前記業務管理情報を参照して、前記第５の階層記憶領域より性能が高く、かつ、特定された前記第３のデータを格納可能な記憶領域を有する第７の階層記憶領域を検索するステップと、
前記第５の階層記憶領域から前記第７の階層記憶領域に特定された前記第３のデータを移動するための前記第２のコマンドを含む第５の階層制御情報を生成するステップと、
前記ジョブネットにおける最初の業務を実行する業務サーバから当該業務の開始を通知するアラート情報を受信した場合、当該業務に対応する前記第５の階層制御情報を当該業務サーバに送信するステップと、を含み、
前記第２のステップは、
前記業務管理情報を参照して、前記ジョブネットにおける最初の業務の開始を検知するためのタイマを決定するステップと、
前記ジョブネットにおける最初の業務の終了を検知するための、特定された前記第３のデータのアドレスを決定するステップと、
前記タイマ、及び決定された前記第３のデータのアドレスを含むアラート設定情報を前記処理対象の業務を実行する業務サーバに送信するステップと、を含むことを特徴とするデータ配置制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、業務サーバが使用する記憶領域を提供する記憶サーバにおけるデータ配置の制御に関する。
【背景技術】
【０００２】
近年、Ｆｌａｓｈメモリのような不揮発性メモリ（ＮＶＭ：Ｎｏｎ  Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ）が様々な電子機器に用いられる。不揮発性メモリは、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）のように機械的動作を伴わないため、ＨＤＤに比べ高速なアクセスが可能である。
【０００３】
そのため、サーバ及びストレージシステム等高速なデータアクセスが必要とされるエンタープライズ用途にも用いられる。特に、サーバに搭載可能な不揮発性メモリは安価になっているため、広く普及している。
【０００４】
従来技術として、Ｆｌａｓｈメモリをメインメモリとは異なるデータキャッシュ用のメモリとして用いるシステムが知られている（例えば、特許文献１参照）。この場合、サーバ上で稼動するＯＳ等に含まれるキャッシュドライバが、データのアクセス特性（例えば、アクセス頻度）に基づいて、Ｆｌａｓｈメモリにキャッシュデータを格納し、また、Ｆｌａｓｈメモリからキャッシュデータを追い出す。これによって、高速なデータアクセスを実現することができる。
【０００５】
また、従来技術として、ストレージシステムでは、アクセス性能が高い記憶媒体とアクセス性能が低い記憶媒体とから階層的な記憶領域を構成し、データのアクセス特性に基づいて、データを格納する記憶領域を変更する技術が知られている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許出願公開第２００９／００２４７９３号明細書
【特許文献２】特開２０００−２９３３１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来技術では、サーバ上のキャッシュドライバが、Ｆｌａｓｈメモリ等のキャッシュ用記憶装置におけるキャッシュ制御処理を実行し、また、管理計算機がストレージシステムにおけるデータ配置の制御処理を実行する。すなわち、キャッシュドライバと管理計算機とがそれぞれ独立してデータの配置を制御しており、互いに連携した制御を実現するシステムは提供されていない。
【０００８】
キャッシュドライバと管理計算機とが独立してデータの配置を制御すると、例えば、業務に必要なキャッシュデータがサーバのキャッシュ用記憶装置に格納されているにもかかわらず、ストレージシステムの上位の階層の記憶領域にデータが格納されるような無駄が発生する。すなわち、計算機システムのおけるアプリケーションの処理性能が最適となるデータの配置を実現することができない。
【０００９】
本発明は、前述した課題に鑑みてなされた発明である。すなわち、サーバ上のキャッシュドライバと管理計算機とが連携したデータ配置の制御を実現する計算機システムを提供することである。
【課題を解決するための手段】
【００１０】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、複数のサーバ、及び管理サーバを備える計算機システムであって、前記複数のサーバは、所定の業務を実行するアプリケーションが稼動する複数の業務サーバ、及び前記アプリケーションが使用するデータを格納する記憶サーバを含み、前記複数の業務サーバの各々は、第１のプロセッサ、前記第１のプロセッサに接続される第１のメモリ、前記第１のプロセッサに接続され、一時的にデータを格納するサーバキャッシュが設定される第１のキャッシュデバイス、及び前記第１のプロセッサに接続され、他の装置と接続するための第１のインタフェースを有し、前記記憶サーバは、第２のプロセッサ、前記第２のプロセッサに接続される第２のメモリ、前記第２のプロセッサに接続され、一時的にデータを格納するストレージキャッシュが設定される第２のキャッシュデバイス、前記第２のプロセッサに接続され、他の装置と接続するための第２のインタフェース、及びアクセス性能が異なる複数の記憶装置を有し、前記管理サーバは、第３のプロセッサ、前記第３のプロセッサに接続される第３のメモリ、及び前記第３のプロセッサに接続され、他の装置と接続するための第３のインタフェースを有し、前記複数の業務サーバの各々は、前記業務サーバを制御する第１のオペレーティングシステムを有し、前記第１のオペレーティングシステムは、前記サーバキャッシュを制御するキャッシュドライバを含み、前記記憶サーバは、前記記憶サーバを制御する第２のオペレーティングシステムを有し、前記第２のオペレーティングシステムは、前記複数の記憶装置を用いて、アクセス性能の異なる複数の階層記憶領域を生成し、前記複数の階層記憶領域を性能毎に分けて管理し、前記管理サーバは、前記キャッシュドライバから送信される情報に基づいて、前記記憶サーバ上のデータの配置の制御指示を送信するキャッシュ最適化部を有し、前記キャッシュ最適化部は、前記複数の業務サーバの各々が、前記業務の状態に応じてデータの配置の変更契機を通知するアラート情報を送信するためのアラート設定情報を生成し、前記複数の業務サーバの各々に、生成された前記アラート設定情報を送信するアラート設定情報生成部と、前記ストレージキャッシュにおけるキャッシュデータの配置を制御する第１のコマンドを含むキャッシュ制御情報、及び前記複数の階層記憶領域の階層間の前記データの配置を制御する第２のコマンドを含む階層制御情報の少なくともいずれかを生成し、前記キャッシュ制御情報及び前記階層制御情報の少なくともいずれかを含む制御情報を前記記憶サーバに送信する制御情報生成部と、を含み、前記複数の業務サーバの各々のキャッシュドライバは、前記アラート設定情報に基づいて、前記データの配置の変更契機を検出した場合に、前記管理サーバに前記アラート情報を送信し、前記第２のオペレーティングシステムは、前記管理サーバから受信した前記制御情報に基づいて、前記ストレージキャッシュにおける前記データの配置を制御するキャッシュ制御処理、及び、前記複数の階層記憶領域の階層間の前記データの配置を制御する階層制御処理の少なくともいずれかを実行することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、業務サーバのキャッシュドライバは業務の状態に応じてアラート情報を管理サーバに送信し、管理サーバは、アラート情報を受信した場合に、キャッシュ制御情報及び階層制御情報の少なくともいずれかを記憶サーバに送信することによって記憶サーバ上のデータの配置を制御する。これによって、業務サーバのキャッシュドライバと管理サーバとが連携したデータ配置の制御を実現できる。
【００１２】
前述した以外の課題、構成及び効果は、以下の実施形態の説明によって明らかにされる。
【図面の簡単な説明】
【００１３】
【図１】本発明の概要を説明するブロック図である。
【図２】本発明の実施例１の管理サーバの構成例を示すブロック図である。
【図３】本発明の実施例１の業務サーバの構成例を説明するブロック図である。
【図４】本発明の実施例１の記憶サーバの構成例を説明するブロック図である。
【図５】本発明の実施例１におけるアプリケーションがファイルにアクセスする場合の処理の流れを示す説明図である。
【図６】本発明の実施例１の業務管理情報の一例を示す説明図である。
【図７】本発明の実施例１のサーバキャッシュ管理情報の一例を示す説明図である。
【図８】本発明の実施例１のストレージキャッシュ管理情報の一例を示す説明図である。
【図９】本発明の実施例１のファイル管理情報の一例を示す説明図である。
【図１０】本発明の実施例１のストレージ構成管理情報の一例を示す説明図である。
【図１１】本発明の実施例１の階層管理情報の一例を示す説明図である。
【図１２】本発明の実施例１の制御ポリシ情報の一例を示す説明図である。
【図１３】本発明の実施例１における制御管理情報の一例を示す説明図である。
【図１４】本発明の実施例１におけるアラート設定情報の一例を示す説明図である。
【図１５】本発明の実施例１における処理の流れを説明するシーケンス図である。
【図１６】本発明の実施例１における制御内容決定処理を説明するフローチャートである。
【図１７】本発明の実施例１における格納場所変更処理を説明するフローチャートである。
【図１８】本発明の実施例１における階層下降用の制御情報生成処理の一例を説明するフローチャートである。
【図１９】本発明の実施例１における階層上昇用の制御情報生成処理の一例を説明するフローチャートである。
【図２０Ａ】本発明の実施例１における記憶サーバが制御情報を受信した場合に実行する処理を説明するフローチャートである。
【図２０Ｂ】本発明の実施例１における記憶サーバが制御情報を受信した場合に実行する処理を説明するフローチャートである。
【図２１】本発明の第２の実施例における制御管理情報の一例を示す説明図である。
【図２２】本発明の第２の実施例におけるアラート設定情報の一例を示す説明図である。
【図２３】本発明の実施例２における処理の流れを説明するシーケンス図である。
【図２４】本発明の実施例２における制御内容決定処理の一例を説明するフローチャートである。
【図２５Ａ】本発明の実施例２における制御情報生成処理の一例を説明するフローチャートである。
【図２５Ｂ】本発明の実施例２における制御情報生成処理の一例を説明するフローチャートである。
【図２５Ｃ】本発明の実施例２における制御情報生成処理の一例を説明するフローチャートである。
【図２６】本発明の実施例２におけるアラート設定情報生成処理の一例を説明するフローチャートである。
【図２７Ａ】本発明の実施例２における格納場所変更処理の一例を説明するフローチャートである。
【図２７Ｂ】本発明の実施例２における格納場所変更処理の一例を説明するフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を用いて実施例について説明する。
【００１５】
図１は、本発明の概要を説明するブロック図である。
【００１６】
本発明の計算機システムは、管理サーバ１００、複数の業務サーバ２００、及び記憶サーバ３００から構成される。なお、記憶サーバ３００の数は、二台以上であってもよい。
【００１７】
管理サーバ１００は、管理用ネットワーク４００を介して、複数の業務サーバ２００及び記憶サーバ３００と接続される。また、複数の業務サーバ２００の各々は、業務用ネットワーク４１０を介して記憶サーバ３００に接続される。なお、各業務サーバ２００は、異なる業務ネットワークを介して記憶サーバ３００に接続されてもよい。
【００１８】
業務サーバ２００は、任意の業務を実行する計算機であり、当該業務サーバ２００上では一つ以上のアプリケーション２２０が稼動する。また、業務サーバ２００は、キャッシュドライバ２１３及びサーバキャッシュ２３０を有する。サーバキャッシュ２３０は、一時的にデータを格納する記憶領域である。キャッシュドライバ２１３は、アプリケーション２２０から発行されるアクセス要求に基づいて、サーバキャッシュ２３０を制御するモジュールである。
【００１９】
記憶サーバ３００は、業務サーバ２００上で稼動するアプリケーション２２０が使用する記憶領域を提供する計算機であり、当該記憶サーバ３００上では記憶領域を管理する記憶領域管理ＯＳ３１０が稼動する。また、記憶サーバ３００は、ストレージキャッシュ３２０及び複数の階層記憶領域３３０を有する。ストレージキャッシュ３２０は、一時的にデータを格納する記憶領域である。階層記憶領域３３０は、業務サーバ２００に提供する記憶領域である。
【００２０】
図１に示す例では、記憶サーバ３００は、アクセス性能の異なる二つの階層記憶領域３３０−１及び階層記憶領域３３０−２を有するものとする。記憶サーバ３００は、階層記憶領域３３０−１及び階層記憶領域３３０−２の少なくともいずれか一方の記憶領域を各業務サーバ２００に提供する。
【００２１】
したがって、アプリケーション２２０が使用するデータは、階層記憶領域３３０−１及び階層記憶領域３３０−２の少なくともいずれか一方の階層記憶領域に格納される。また、アプリケーション２２０によってアクセスされたデータは、ストレージキャッシュ３２０に一時的に格納される。以下の説明では、アプリケーション２２０が使用するデータを業務データとも記載する。
【００２２】
本発明では、ストレージキャッシュ３２０及び複数の階層記憶領域３３０が階層的な構成となっている。図１に示す例では、ストレージキャッシュ３２０が最上位の階層の記憶領域であり、階層記憶領域３３０−１が次に上位の階層の記憶領域（Ｔｉｅｒ１）であり、階層記憶領域３３０−２が最下位の階層の記憶領域（Ｔｉｅｒ２）であるものとする。すなわち、性能が高い順に階層が管理される。なお、記憶サーバ３００は三つ以上の階層記憶領域３３０を有してもよい。
【００２３】
本発明では、管理サーバ１００が、各業務サーバ２００上のキャッシュドライバ２１３と連携して、記憶サーバ３００上の業務データの格納場所を制御する。すなわち、業務データが格納される記憶領域が制御される。具体的には、以下のような制御が行われる。
【００２４】
まず、管理サーバ１００は、制御ポリシに基づいて、各業務サーバ２００にサーバキャッシュ２３０の状態及び業務の実行状態等を通知するための設定を行う。各業務サーバ２００は、前述した設定に基づいて、サーバキャッシュ２３０の状態及び業務の実行状態等を管理サーバ１００に通知する。
【００２５】
管理サーバ１００は、各業務サーバ２００から通知された情報に基づいて、記憶サーバ３００上の各アプリケーション２２０の業務データの格納場所を決定する。さらに、管理サーバ１００は、記憶サーバ３００に、業務データの格納場所の変更を指示する。
【００２６】
記憶サーバ３００は、管理サーバ１００からの指示にしたがって、業務データの格納場所を変更する。例えば、記憶サーバ３００は、任意の業務データについて、当該業務データが格納されている記憶領域より下位の階層の記憶領域にデータを移動し、また、任意の業務データについて、当該業務データが格納されている記憶領域より上位の階層の記憶領域にデータを移動する。
【００２７】
本発明では、管理サーバ１００は、階層記憶領域３３０だけではなく、ストレージキャッシュ３２０をも考慮して、業務データの格納場所の制御処理を実行する。すなわち、従来のストレージ装置における階層制御処理とは異なる制御が行われる。
【００２８】
以上のような制御によって、本発明では以下のような効果が奏される。
【００２９】
管理サーバ１００は、各業務サーバ２００における業務の実行状態に応じて、記憶サーバ３００の最適な格納場所に業務データを格納することができる。これによって、アプリケーション２２０の処理性能を向上させることができる。一方、キャッシュドライバ２１３は、記憶サーバ３００によって提供される記憶領域に格納される業務データに対するキャッシュ制御処理を実行する。
【００３０】
したがって、管理サーバ１００は、計算機システム全体の業務の実行状態に応じて、記憶サーバ３００上の業務データの格納場所を最適化し、また、各キャッシュドライバ２１３は、ブロック単位の業務データのキャッシュ制御処理等、粒度の細かい業務データの格納場所の制御処理を実行することによって、計算機システム全体のアプリケーション２２０の実効性能を向上させることができる。
【００３１】
また、複数の業務サーバ２００及び記憶サーバ３００の性能低下を抑止し、かつ、複数の業務サーバ２００及び記憶サーバ３００の有機的な連携制御を実現することができる。
【実施例１】
【００３２】
実施例１では、管理サーバ１００が、各業務サーバ２００のキャッシュドライバ２１３からサーバキャッシュ２３０におけるキャッシュヒット率に関する情報を取得し、取得された情報に基づいて記憶サーバ３００上の業務データの格納場所を制御する。
【００３３】
本実施例では、業務データは、ファイル形式のデータであるものとし、以下の説明ではファイル形式の業務データを単にファイルとも記載する。なお、本発明は業務データのデータ形式に限定されない。
【００３４】
図２は、本発明の実施例１の管理サーバ１００の構成例を示すブロック図である。
【００３５】
管理サーバ１００は、プロセッサ１０１、メモリ１０２、及び接続インタフェース１０３を備え、各構成は内部経路を介して互いに接続される。なお、管理サーバ１００は、ストレージ装置、及び入出力装置を備えてもよい。ストレージ装置は、例えば、ＨＤＤ等が考えられる。また、入出力装置には、キーボード、マウス、タッチパネル、及びディスプレイ等が含まれる。
【００３６】
プロセッサ１０１は、メモリ１０２に格納されるプログラムを実行する。プロセッサ１０１がプログラムを実行することによって、管理サーバ１００が備える機能が実現される。以下の説明では、プログラムによって実現される機能を主体に処理を説明する場合、プロセッサ１０１によって当該機能を実現するプログラムが実行されていることを示す。
【００３７】
メモリ１０２は、プロセッサ１０１によって実行されるプログラム及び当該プログラムの実行に必要な情報を格納する。メモリ１０２に格納されるプログラム及び情報については後述する。
【００３８】
接続インタフェース１０３は、管理用ネットワーク４００を介して、複数の業務サーバ２００及び記憶サーバ３００等の外部装置と接続するためのデバイスである。例えば、管理サーバ１００及び記憶サーバ３００がＳＡＮを介して接続される場合、ＦＣ（Ｆｉｂｅｒ  Ｃｈａｎｎｅｌ）アダプタカードが接続インタフェース１０３として用いられる。また、管理サーバ１００及び記憶サーバ３００がＬＡＮを介して接続される場合、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）が接続インタフェース１０３として用いられる。
【００３９】
ここで、メモリ１０２に格納されるプログラム及び情報について説明する。本実施例のメモリ１０２は、キャッシュ最適化部１１０を実現するプログラムを格納する。キャッシュ最適化部１１０は、業務サーバ２００のキャッシュドライバ２１３と連携して、記憶サーバ３００におけるデータの格納場所を制御する。
【００４０】
キャッシュ最適化部１１０は、複数のプログラムモジュール、及び複数の管理情報から構成される。具体的には、キャッシュ最適化部１１０は、制御情報生成部１２１及びアラート設定情報生成部１２２を実現するプログラムモジュールを含み、業務管理情報１３１、サーバキャッシュ管理情報１３２、ストレージキャッシュ管理情報１３３、ファイル管理情報１３４、ストレージ構成管理情報１３５、階層管理情報１３６、制御ポリシ情報１３７、及び制御管理情報１３８を有する。
【００４１】
制御情報生成部１２１は、ストレージキャッシュ３２０におけるキャッシュ制御処理、及びストレージ領域における階層制御処理の実行に必要なコマンド等の情報を生成する。生成された情報は制御管理情報１３８として保持される。アラート設定情報生成部１２２は、ファイルの格納場所を変更する契機となる通知を設定するためのアラート設定情報を生成する。
【００４２】
業務管理情報１３１は、各業務サーバ２００が実行する業務に関する情報を格納する。業務管理情報１３１の詳細は、図６を用いて後述する。サーバキャッシュ管理情報１３２は、各業務サーバ２００のサーバキャッシュ２３０に関する情報を格納する。サーバキャッシュ管理情報１３２の詳細は、図７を用いて後述する。ストレージキャッシュ管理情報１３３は、記憶サーバ３００のストレージキャッシュ３２０に関する情報を格納する。ストレージキャッシュ管理情報１３３の詳細は、図８を用いて後述する。
【００４３】
ファイル管理情報１３４は、業務データ（ファイル）が格納される論理デバイスに関する情報を格納する。ファイル管理情報１３４の詳細は、図９を用いて説明する。ストレージ構成管理情報１３５は、記憶サーバ３００によって提供される記憶領域に関する情報を格納する。ストレージ構成管理情報１３５の詳細は、図１０を用いて後述する。階層管理情報１３６は、記憶サーバ３００における階層記憶領域３３０の階層構成に関する情報を格納する。階層管理情報１３６の詳細は、図１１を用いて後述する。
【００４４】
制御ポリシ情報１３７は、ファイルの格納場所の制御内容に関するポリシを格納する。制御ポリシ情報１３７の詳細は、図１２を用いて後述する。制御管理情報１３８は、ファイルを格納する記憶領域の制御に用いる情報であり、制御情報生成部１２１によって生成される情報である。制御管理情報１３８の詳細は、図１３を用いて後述する。なお、一時的に保持される情報である。
【００４５】
図３は、本発明の実施例１の業務サーバ２００の構成例を説明するブロック図である。
【００４６】
業務サーバ２００は、プロセッサ２０１、メモリ２０２、キャッシュデバイス２０３、接続インタフェース２０４、及び管理ネットワーク用接続インタフェース２０５を備え、各構成は内部経路を介して互いに接続される。なお、業務サーバ２００は、ストレージ装置、及び入出力装置を備えてもよい。ストレージ装置は、例えば、ＨＤＤ等が考えられる。また、入出力装置には、キーボード、マウス、タッチパネル、及びディスプレイ等が含まれる。
【００４７】
プロセッサ２０１は、メモリ２０２に格納されるプログラムを実行する。プロセッサ２０１がプログラムを実行することによって、業務サーバ２００が備える機能が実現される。以下の説明では、プログラムによって実現される機能を主体に処理を説明する場合、プロセッサ２０１によって当該機能を実現するプログラムが実行されていることを示す。
【００４８】
メモリ２０２は、プロセッサ２０１によって実行されるプログラム及び当該プログラムの実行に必要な情報を格納する。メモリ２０２に格納されるプログラム及び情報については後述する。
【００４９】
キャッシュデバイス２０３は、アプリケーション２２０によってアクセスされた業務データを一時的に格納するサーバキャッシュ２３０を実現するデバイスである。キャッシュデバイス２０３の全記憶領域がサーバキャッシュ２３０として用いられる。本実施例では、Ｆｌａｓｈメモリを有するＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）をキャッシュデバイス２０３として用いるものとする。なお、キャッシュデバイス２０３は、Ｆｌａｓｈメモリのような不揮発性メモリに限定されない。例えば、ＤＲＡＭのような揮発性メモリを用いてもよい。
【００５０】
本実施例のサーバキャッシュ２３０には、論理デバイス（Ｌｏｇｉｃａｌ  Ｄｅｖｉｃｅ）の論理ブロック単位のデータが格納される。例えば、バッファキャッシュを用いることが考えられる。バッファキャッシュは、サーバキャッシュ２３０にバッファページを割り当て、所定のブロックサイズのブロックバッファに当該バッファページを分割することによって生成される。
【００５１】
バッファキャッシュには、論理ブロック単位のデータの格納場所を特定するためのバッファヘッドが含まれる。なお、ＬＵは、後述するように記憶サーバ３００によって提供される。以下の説明では、論理ブロック単位のデータをブロックデータとも記載する。
【００５２】
本実施例では、業務サーバ２００は、記憶サーバ３００によって提供される論理デバイスを物理的な記憶デバイスとして認識する。また、記憶サーバ３００は、当該論理デバイスに対して一つ以上のＬＵを割り当てることによって、業務サーバ２００が使用可能な記憶領域を提供する。なお、本発明は、記憶領域の提供方法に限定されない。例えば、記憶サーバ３００は、論理デバイスに対して一つ以上のＬＵのページを割り当てることによって、業務サーバ２００に記憶領域を提供してもよい。
【００５３】
接続インタフェース２０４は、業務用ネットワーク４１０を介して、記憶サーバ３００等の外部装置と接続するためのデバイスである。管理ネットワーク用接続インタフェース２０５は、管理用ネットワーク４００を介して、管理サーバ１００と接続するためのデバイスである。なお、接続インタフェース２０４及び管理ネットワーク用接続インタフェース２０５は、一つのインタフェースを用いて実現されてもよい。
【００５４】
ここで、メモリ２０２に格納されるプログラム及び情報について説明する。本実施例のメモリ２０２は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）２１０、及びアプリケーション２２０を実現するプログラムを格納する。なお、メモリ２０２には、その他のプログラム及び情報が格納されてもよい。
【００５５】
ＯＳ２１０は、業務サーバ２００を制御する機能を提供し、また、業務サーバ２００と論理デバイスとの間のデータ転送を制御する。ＯＳ２１０は、ＶＦＳ２１１、ファイルシステム２１２、キャッシュドライバ２１３、デバイスドライバ２１４、及びアラート設定情報２１５を含む。なお、ＯＳ２１０は、図示しない機能部を有するが、公知のものであるため説明を省略する。
【００５６】
ＶＦＳ（Ｖｉｒｔｕａｌ  Ｆｉｌｅｓｙｓｔｅｍ）２１１は、複数の種類のファイルシステム２１２に対して共通のインタフェースを提供する。ＶＦＳ２１１は、アプリケーション２２０による業務データへの操作（読み出し、書き込み等）を、各ファイルシステム２１２に依存した操作に変換する。これによって、アプリケーション２２０は、同一の操作を用いて異なるファイルシステムのデバイスにアクセスすることができる。また、ＶＦＳ２１１は、ファイルシステム２１２の管理情報、及びファイルシステム２１２に固有の情報を保持する。例えば、スーパーブロックオブジェクト、ｉｎｏｄｅオブジェクト、ｆｉｌｅオブジェクト、及びｄｅｎｔｒｙオブジェクト等を保持する。
【００５７】
ファイルシステム２１２は、記憶領域に格納されるブロック単位のデータをファイルとして管理するための機能を提供する。本実施例では、複数のファイルシステム２１２が存在するものとする。なお、ファイルシステム２１２は一つであってもよい。
【００５８】
ＯＳ２１０は、記憶サーバ３００によって提供される論理デバイスを物理的な記憶デバイスとして認識し、当該論理デバイス、すなわち、当該論理デバイスに割り当てられるＬＵを所定のファイルシステム２１２にフォーマットする。このとき、ＯＳ２１０は、論理デバイスを所定の論理ブロックに分割し、各論理ブロックに識別番号を割り当てる。ファイルシステム２１２は、一つ以上のブロックデータから構成されるデータをファイルとして管理する。
【００５９】
キャッシュドライバ２１３は、キャッシュデバイス２０３を制御する。デバイスドライバ２１４は、業務サーバ２００が備える接続インタフェース２０４等のデバイスを制御する。
【００６０】
アラート設定情報２１５は、管理サーバ１００にファイルの配置の変更となる契機を通知するための設定情報を格納する。本発明では、業務サーバ２００は、サーバキャッシュ２３０の状態及び業務の状態等をアラート情報として管理サーバに送信する。アラート設定情報２１５の詳細は、図１４を用いて後述する。
【００６１】
アプリケーション２２０は、任意の業務を実行する。本発明は、業務サーバ２００上で実行されるアプリケーション２２０の種類及び業務内容に限定されない。
【００６２】
なお、メモリ２０２に格納されるプログラム及び情報は、記憶サーバ３００が提供する記憶領域又は業務サーバ２００が備えるストレージ装置に格納されてもよい。この場合、プロセッサ２０１が記憶サーバ３００又はストレージ装置からプログラム及び情報を取得し、取得されたプログラム及び情報をメモリ２０２にロードする。
【００６３】
図４は、本発明の実施例１の記憶サーバ３００の構成例を説明するブロック図である。
【００６４】
記憶サーバ３００は、業務サーバ２００に記憶領域を提供する。記憶サーバ３００は、プロセッサ３０１、メモリ３０２、キャッシュデバイス３０３、複数の記憶装置３０４、複数の記憶装置３０５、接続インタフェース３０６、及び管理ネットワーク用接続インタフェース３０７を備え、各構成は内部経路を介して互いに接続される。なお、記憶サーバは、入出力装置を備えてもよい。入出力装置には、キーボード、マウス、タッチパネル、及びディスプレイ等が含まれる。
【００６５】
プロセッサ３０１は、メモリ３０２に格納されるプログラムを実行する。プロセッサ３０１がプログラムを実行することによって、記憶サーバ３００が備える機能が実現される。以下の説明では、プログラムによって実現される機能を主体に処理を説明する場合、プロセッサ３０１によって当該機能を実現するプログラムが実行されていることを示す。
【００６６】
メモリ３０２は、プロセッサ３０１によって実行されるプログラム及び当該プログラムの実行に必要な情報を格納する。メモリ３０２に格納されるプログラム及び情報については後述する。
【００６７】
キャッシュデバイス３０３は、業務サーバ２００によってアクセスされた業務データを一時的に格納するストレージキャッシュ３２０を実現するデバイスである。キャッシュデバイス３０３の全記憶領域がストレージキャッシュ３２０として用いられる。
【００６８】
なお、記憶領域管理ＯＳ３１０は、ストレージキャッシュ３２０に対するキャッシュ制御処理を実行するキャッシュドライバを含む。当該キャッシュドライバは、公知のものであるため図示を省略している。
【００６９】
本実施例では、Ｆｌａｓｈメモリを有するＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）をキャッシュデバイス３０３として用いるものとする。なお、キャッシュデバイス３０３は、Ｆｌａｓｈメモリのような不揮発性メモリに限定されない。例えば、ＤＲＡＭのような揮発性メモリを用いてもよい。
【００７０】
記憶サーバ３００のキャッシュドライバは、業務サーバ２００から読出要求を受信した場合、ストレージキャッシュ３２０に格納されるデータを応答する。また、記憶サーバ３００は、業務サーバ２００から書込要求を受信した場合、ストレージキャッシュ３２０にデータを書き込み、業務サーバ２００に処理の完了を通知し、その後、記憶装置３０４又は記憶装置３０５にデータを書き込む。前述した処理によって、業務サーバ２００への応答を高速化することができる。
【００７１】
接続インタフェース３０６は、業務用ネットワーク４１０を介して、業務サーバ２００等の外部装置と接続するためのデバイスである。例えば、業務サーバ２００及び記憶サーバ３００がＳＡＮを介して接続される場合、ＣＡ（Ｃｈａｎｎｅｌ  Ａｄａｐｔｅｒ）が接続インタフェース３０６として用いられる。また、業務サーバ２００及び記憶サーバ３００がＬＡＮを介して接続される場合、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）が接続インタフェース３０６として用いられる。
【００７２】
管理ネットワーク用接続インタフェース３０７は、管理用ネットワーク４００を介して、管理サーバ１００と接続するためのデバイスである。
【００７３】
記憶装置３０４及び記憶装置３０５は、データを格納する装置である。記憶装置３０４及び記憶装置３０５は、例えばＨＤＤ又はＳＳＤが考えられる。ただし、データを格納できればどのような装置であってもよい。本実施例では、記憶装置３０４は高速なＨＤＤとし、記憶装置３０５は低速なＨＤＤとする。
【００７４】
ここで、メモリ３０２に格納されるプログラム及び情報について説明する。本実施例のメモリ３０２は、記憶領域管理ＯＳ３１０を実現するプログラムを格納する。なお、メモリ３０２には、その他のプログラム及び情報が格納されてもよい。例えば、記憶装置３０４及び記憶装置３０５に格納されるデータを管理するための情報等が格納されてもよい。
【００７５】
記憶領域管理ＯＳ３１０は、記憶サーバ３００を制御する。本実施例では、複数の記憶装置３０４及び複数の記憶装置３０５を用いてＲＡＩＤボリュームを構成する。記憶領域管理ＯＳ３１０は、ＲＡＩＤボリュームを論理的に分割することによって、複数のＬＵ（Ｌｏｇｉｃａｌ  Ｕｎｉｔ）を生成する。また、ＲＡＩＤボリューム毎に階層的なストレージ領域が構成されるものとする。
【００７６】
記憶領域管理ＯＳ３１０は、業務サーバ２００に一つ以上の論理デバイスを提供し、また、当該論理デバイスに一つ以上のＬＵを割り当てる。複数のＬＵを論理デバイスに割り当てる場合、異なる階層のＲＡＩＤボリュームから生成されたＬＵを割り当てることもできる。
【００７７】
記憶領域管理ＯＳ３１０は、ＲＡＩＤボリューム、ＬＵ、及び論理デバイスの対応関係を示す管理情報、すなわち、ストレージ構成管理情報１３５に対応する情報を保持する。記憶領域管理ＯＳ３１０は、業務サーバ２００から論理デバイスへのアクセス要求を受信した場合、管理情報に基づいて、論理デバイスに割り当てられるＬＵを特定し、さらに、当該ＬＵを構成する記憶領域（論理ブロック）を提供する記憶装置３０４又は記憶装置３０５にアクセスする。また、記憶領域管理ＯＳ３１０は、ＬＵの管理機能、データ転送機能、及びキャッシュ制御機能等の各種機能を有するが、公知の技術であるため詳細な説明を省略する。
【００７８】
なお、メモリ３０２に格納されるプログラム及び情報は、記憶装置３０４又は記憶装置３０５に格納されてもよい。この場合、プロセッサ３０１が記憶装置３０４又は記憶装置３０５からプログラム及び情報を取得し、取得されたプログラム及び情報をメモリ３０２にロードする。
【００７９】
図５は、本発明の実施例１におけるアプリケーション２２０がファイルにアクセスする場合の処理の流れを示す説明図である。
【００８０】
図５に示すように、本実施例では、複数の記憶装置３０４から一つのＲＡＩＤグループ１（５２０−１）が構成され、複数の記憶装置３０５から一つのＲＡＩＤグループ２（５２０−２）が構成される。また、ＲＡＩＤグループ１（５２０−１）は、上位の階層の階層記憶領域３３０−１を構成し、ＲＡＩＤグループ２（５２０−２）は、下位の階層の階層記憶領域３３０−２を構成する。
【００８１】
業務サーバ１（２００−１）には、論理デバイス１（５１０−１）及び論理デバイス２（５１０−２）が提供される。論理デバイス１（５１０−１）には、ＲＡＩＤグループ１（５２０−１）のＲＡＩＤボリュームから生成されたＬＵ１（５３０−１）が割り当てられ、論理デバイス２（５１０−２）には、ＲＡＩＤグループ２（５２０−２）のＲＡＩＤボリュームから生成されたＬＵ１１（５３０−１１）が割り当てられる。また、業務サーバ２（２００−２）には、論理デバイス３（５１０−３）が提供される。論理デバイス３（５１０−３）には、ＲＡＩＤグループ２（５１０−２）から生成されたＬＵ１２（５３０−１２）が割り当てられる。
【００８２】
以下、アプリケーション２２０から論理デバイス５１０に格納されるファイルへのアクセス要求が発行された場合における処理の概要について説明する。なお、以下で説明する処理は公知のものであるため詳細な説明は省略する。
【００８３】
キャッシュドライバ２１３は、アプリケーション２２０から論理デバイス５１０に格納されるファイルに対するアクセス要求を受け付けると、サーバキャッシュ２３０に当該ファイルのキャッシュデータが格納されているか否かを判定する。
【００８４】
サーバキャッシュ２３０にアクセス対象のファイルのキャッシュデータが格納されている場合、キャッシュドライバ２１３は、当該キャッシュデータに対するアクセス処理（読出処理又は書込処理）を実行する。サーバキャッシュ２３０にアクセス対象のファイルのキャッシュデータが格納されていない場合、キャッシュドライバ２１３は、論理デバイス５１０へのアクセス要求を記憶サーバ３００に送信する。
【００８５】
記憶領域管理ＯＳ３１０は、キャッシュドライバ２１３からアクセス要求を受け付けると、ストレージキャッシュ３２０にアクセス対象のファイルのキャッシュデータが格納されているか否かを判定する。
【００８６】
ストレージキャッシュ３２０にアクセス対象のファイルのキャッシュデータが格納されている場合、記憶領域管理ＯＳ３１０は、当該キャッシュデータに対するアクセス処理（読出処理又は書込処理）を実行する。ストレージキャッシュ３２０にアクセス対象のファイルのキャッシュデータが格納されていない場合、記憶領域管理ＯＳ３１０は、論理デバイス５１０に割り当てられるＬＵを特定し、特定されたＬＵに格納されるファイルに対してアクセス処理（読出処理又は書込処理）を実行する。
【００８７】
アプリケーション２２０の処理性能は、ファイルの格納場所に依存しており、サーバキャッシュ２３０、ストレージキャッシュ３２０、階層記憶領域３３０−１、階層記憶領域３３０−２の順にアクセス性能が高い。
【００８８】
したがって、アプリケーション２２０の処理性能を向上させるためには、サーバキャッシュ２３０に業務データ（ファイル）を格納すればよい。しかし、サーバキャッシュ２３０の容量には限界があるため、全ての業務データをサーバキャッシュ２３０に格納することができない場合がある。そのため、アプリケーション２２０の高い処理性能を維持するためには、ストレージキャッシュ３２０又は階層記憶領域３３０−１に業務データを格納する必要がある。
【００８９】
キャッシュドライバ２１３は、当該業務サーバ２００上で稼動するアプリケーション２２０が使用するデータのみについてキャッシュ制御を行う。また、ストレージキャッシュ３２０の容量にも限界があり、また、各階層の階層記憶領域３３０の使用状態も業務の実行状態に伴って変化する。さらに、キャッシュドライバ２１３は、ストレージキャッシュ３２０の状態を把握できない。
【００９０】
そのため、他の業務サーバ２００上で稼動するアプリケーション２２０との連携をとることが難しい。また、各キャッシュドライバ２１３及び記憶サーバ３００が互いに連携を行おうとすると、多くの管理情報を保持する必要があり、複数の業務サーバ２００及び記憶サーバ３００との間で通信を行う必要があり、また、業務に関係ない処理の負荷が増大する。したがって、アプリケーション２２０の処理性能の向上という本来の目的を達成できない。また、記憶サーバ３００が、当該記憶サーバ３００及び各業務サーバ２００と連携を行おうとすると、同様の問題が発生する。
【００９１】
そこで、管理サーバ１００は、各業務サーバ２００の業務の実行状態、各サーバキャッシュ２３０の状態、及び記憶サーバ３００の状態等に基づいて、計算機システム全体のアプリケーションの実行性能が最も高くなるように、記憶サーバ３００上の業務データ（ファイル）の格納場所を制御する。
【００９２】
次に、管理サーバ１００が保持する情報の詳細について説明する。
【００９３】
図６は、本発明の実施例１の業務管理情報１３１の一例を示す説明図である。
【００９４】
業務管理情報１３１は、各業務サーバ２００上で実行される業務に関する情報を格納する。具体的には、業務管理情報１３１は、業務ＩＤ６０１、業務サーバＩＤ６０２、アプリケーションＩＤ６０３、ファイルＩＤ６０４、スケジュール６０５、関連業務ＩＤ６０６、優先度６０７、及び状態６０８を含む。
【００９５】
業務ＩＤ６０１は、業務を識別するための識別子である。業務サーバＩＤ６０２は、業務ＩＤ６０１に対応する業務を実行する業務サーバ２００の識別子である。アプリケーションＩＤ６０３は、業務ＩＤ６０１に対応する業務を実現するアプリケーション２２０の識別子である。
【００９６】
ファイルＩＤ６０４は、業務ＩＤ６０１に対応する業務に使用されるファイルの識別子である。スケジュール６０５は、業務ＩＤ６０１に対応する業務の実行スケジュール、すなわち、実行時間である。
【００９７】
関連業務ＩＤ６０６は、業務ＩＤ６０１に対応する業務の次に実行される業務の識別子である。関連する業務が存在しない場合、関連業務ＩＤ６０６は空欄となる。なお、本実施例では、一つ以上の業務から構成されるジョブネットを想定する。したがって、ジョブネットにおける最後の業務に対応するエントリの関連業務ＩＤ６０６は空欄となる。
【００９８】
優先度６０７は、業務の優先順位を示す指標である。本実施例では、値が小さいほど優先順位が高い業務であることを示す。本実施例では、ジョブネットにおける最初の業務に対応するエントリにのみ優先度６０７が設定されるものとする。
【００９９】
状態６０８は、業務ＩＤ６０１に対応する業務の実行状態である。本実施例では、状態６０８には、業務が実行中であることを示す「実行中」、業務が開始されていないことを示す「実行待ち」、業務が終了したことを示す「業務終了」等が格納される。
【０１００】
業務管理情報１３１の情報は、各業務サーバ２００から取得された情報が設定されてもよいし、予め設定されてもよい。
【０１０１】
図７は、本発明の実施例１のサーバキャッシュ管理情報１３２の一例を示す説明図である。
【０１０２】
サーバキャッシュ管理情報１３２は、各業務サーバ２００のサーバキャッシュ２３０の状態に関する情報を格納する。具体的には、サーバキャッシュ管理情報１３２は、業務サーバＩＤ７０１、キャッシュ容量７０２、使用量７０３、キャッシュヒット率７０４、上限値７０５、及び下限値７０６を含む。
【０１０３】
業務サーバＩＤ７０１は、業務サーバ２００を識別するための識別子であり、業務サーバＩＤ６０２と同一のものである。キャッシュ容量７０２は、サーバキャッシュ２３０の全容量である。使用量７０３は、サーバキャッシュ２３０の使用量である。キャッシュヒット率７０４は、サーバキャッシュ２３０に格納されるキャッシュデータに対するキャッシュヒット率である。
【０１０４】
上限値７０５及び下限値７０６は、後述する格納場所変更処理の実行契機を判定するためのキャッシュヒット率の閾値である。本実施例では、キャッシュヒット率が上限値７０５の値より大きい場合、又は、キャッシュヒット率が下限値７０６の値より小さい場合に、格納場所変更処理が実行される。
【０１０５】
業務サーバＩＤ７０１、キャッシュ容量７０２、使用量７０３、キャッシュヒット率７０４には、業務サーバ２００から取得された情報が設定される。一方、上限値７０５及び下限値７０６に格納される情報は、管理サーバ１００によって設定される。
【０１０６】
図８は、本発明の実施例１のストレージキャッシュ管理情報１３３の一例を示す説明図である。
【０１０７】
ストレージキャッシュ管理情報１３３は、ストレージキャッシュ３２０の状態に関する情報を格納する。具体的には、ストレージキャッシュ管理情報１３３は、キャッシュ容量８０１、及び使用量８０２を含む。
【０１０８】
キャッシュ容量８０１は、ストレージキャッシュ３２０の全容量である。使用量８０２は、ストレージキャッシュ３２０の使用量である。
【０１０９】
ストレージキャッシュ管理情報１３３には、ｆｒｅｅコマンド等を用いて記憶サーバ３００から取得される情報が設定される。
【０１１０】
図９は、本発明の実施例１のファイル管理情報１３４の一例を示す説明図である。
【０１１１】
ファイル管理情報１３４は、アプリケーション２２０が認識するファイルの格納位置に関する情報を格納する。具体的には、ファイル管理情報１３４は、ファイルＩＤ９０１、ＬＤＥＶ  ＩＤ９０２、及びデータ容量９０３を含む。
【０１１２】
ファイルＩＤ９０１は、ファイルを識別するための識別子である。ＬＤＥＶ  ＩＤ９０２は、ファイルＩＤ９０１に対応するファイルが格納される論理デバイス５１０の識別子である。データ容量９０３は、ファイルＩＤ９０１に対応するファイルのサイズである。
【０１１３】
ファイル管理情報１３４には、記憶サーバ３００から取得された情報が設定される。
【０１１４】
図１０は、本発明の実施例１のストレージ構成管理情報１３５の一例を示す説明図である。
【０１１５】
ストレージ構成管理情報１３５は、記憶サーバ３００における記憶領域の構成に関する情報を格納する。具体的には、ストレージ構成管理情報１３５は、ＬＵ  ＩＤ１００１、業務サーバＩＤ１００２、ＬＤＥＶ  ＩＤ１００３、ＲＡＩＤグループＩＤ１００４、サーバポートＩＤ１００５、及びストレージポートＩＤ１００６を含む。
【０１１６】
ＬＵ  ＩＤ１００１は、ＬＵ５３０を識別するための識別子である。業務サーバＩＤ１００２は、ＬＵ  ＩＤ１００１に対応するＬＵ５３０が提供される業務サーバ２００の識別子であり、業務サーバＩＤ６０２と同一のものである。ＬＤＥＶ  ＩＤ１００３は、ＬＵ  ＩＤ１００１に対応するＬＵ５３０が割り当てられる論理デバイス５１０の識別子であり、ＬＤＥＶ  ＩＤ９０２と同一のものである。ＲＡＩＤグループＩＤ１００４は、ＬＵ  ＩＤ１００１に対応するＬＵ５３０が所属するＲＡＩＤグループの識別子である。
【０１１７】
サーバポートＩＤ１００５は、業務サーバ２００がＬＵ  ＩＤ１００１に対応するＬＵ５３０にアクセスする場合に使用される業務サーバ２００のポートの識別子である。ストレージポートＩＤ１００６は、ＬＵ  ＩＤ１００１に対応するＬＵ５３０に対するアクセス要求を受け付ける場合に使用される記憶サーバ３００のポートの識別子である。
【０１１８】
ストレージ構成管理情報１３５には、記憶サーバ３００から取得された情報が格納される。
【０１１９】
図１１は、本発明の実施例１の階層管理情報１３６の一例を示す説明図である。
【０１２０】
階層管理情報１３６は、階層記憶領域３３０の構成に関する情報を格納する。具体的には、階層管理情報１３６は、階層ＩＤ１１０１、及び所属ＬＵ  ＩＤ１１０２を含む。
【０１２１】
階層ＩＤ１１０１は、階層記憶領域３３０の階層を識別するための識別子である。所属ＬＵ  ＩＤ１１０２は、階層記憶領域３３０を構成するＬＵ５３０を識別するための識別子であり、ＬＵ  ＩＤ１００１と同一のものである。
【０１２２】
階層管理情報１３６には、記憶サーバ３００から取得された情報が格納される。
【０１２３】
図１２は、本発明の実施例１の制御ポリシ情報１３７の一例を示す説明図である。
【０１２４】
制御ポリシ情報１３７は、格納場所変更処理の処理内容に関する情報を格納する。具体的には、制御ポリシ情報１３７は、ポリシＩＤ１２０１、制御条件１２０２、及び制御内容１２０３を含む。制御ポリシ情報１３７は、管理者によって予め設定されているものとする。なお、制御ポリシ情報１３７は適宜更新することができる。
【０１２５】
ポリシＩＤ１２０１は、制御ポリシを識別するための識別子である。制御条件１２０２は、制御内容を決定するための制御条件である。例えば、キャッシュヒット率に基づく制御ポリシの場合、制御条件１２０２には「キャッシュヒット率」が格納される。また、業務のスケジュールに基づく制御ポリシの場合、制御条件１２０２には「バッチ業務」が格納される。
【０１２６】
制御内容１２０３は、格納場所変更処理における具体的な処理内容を格納する。ここで、「キャッシュヒット率」及び「バッチ業務」のそれぞれの制御内容について説明する。
【０１２７】
まず、「キャッシュヒット率」の制御内容について説明する。業務サーバ２００に関する制御内容には、キャッシュヒット率を通知するサーバキャッシュ情報の通知時間を設定するための情報が格納される。また、記憶サーバ３００に関する制御内容には、キャッシュヒット率の上限値及び下限値、ストレージキャッシュ３２０のキャッシュ制御の制御内容、並びに階層記憶領域３３０の階層制御の制御内容が格納される。
【０１２８】
なお、本実施例では、全ての業務サーバ２００のキャッシュヒット率の上限値及び下限値は同一であるものとしているが、本発明はこれに限定されない。例えば、アプリケーションの種類、又はサーバキャッシュ２３０の容量等に応じて、キャッシュヒット率の上限値及び下限値が設定されてもよい。
【０１２９】
次に、「バッチ業務」の制御内容について説明する。業務サーバ２００に関する制御内容には、業務の開始及び業務の終了を通知するための通知内容が格納される。記憶サーバ３００の制御内容には、ストレージキャッシュ３２０のキャッシュ制御、及び階層記憶領域３３０の階層制御のそれぞれの制御内容が格納される。
【０１３０】
図１３は、本発明の実施例１における制御管理情報１３８の一例を示す説明図である。
【０１３１】
制御管理情報１３８は、格納場所変更処理に基づいて決定された制御内容に関する情報を格納する。具体的には、制御管理情報１３８は、キャッシュ制御情報１３００及び階層制御情報１３１０を含む。
【０１３２】
格納場所変更処理では、ストレージキャッシュ３２０に対するキャッシュ制御、及び階層記憶領域３３０に対する階層制御の二つの制御処理から構成される。したがって、制御管理情報１３８には、ストレージキャッシュ３２０に対するキャッシュ制御に関する情報を格納するキャッシュ制御情報１３００、及び、階層記憶領域３３０に対する階層制御に関する情報を格納する階層制御情報１３１０が含まれる。
【０１３３】
キャッシュ制御情報１３００は、業務ＩＤ１３０１、ファイルＩＤ１３０２、種別１３０３、及びコマンド１３０４を含む。
【０１３４】
業務ＩＤ１３０１は、処理対象のファイルを使用する業務の識別子であり、業務ＩＤ６０１と同一のものである。ファイルＩＤ１３０２は、処理対象のファイルの識別子であり、ファイルＩＤ６０４と同一のものである。
【０１３５】
種別１３０３は、ファイルＩＤ１３０２に対応するファイルに対する制御内容の種別を表す。種別１３０３が「追加」の場合、ストレージキャッシュ３２０にファイルのキャッシュデータを格納する制御処理が実行され、種別１３０３が「削除」の場合、ストレージキャッシュ３２０からファイルのキャッシュデータを追い出す制御処理が実行される。
【０１３６】
コマンド１３０４は、記憶サーバ３００にキャッシュ制御の具体的な内容を示すコマンドである。例えば、コマンド１３０４には、ＳＣＳＩコマンド又はキャッシュデバイス３０３を制御するコントローラ用のコマンドが格納される。
【０１３７】
階層制御情報１３１０もキャッシュ制御情報１３００と同様に、業務ＩＤ１３１１、ファイルＩＤ１３１２、種別１３１３、及びコマンド１３１４を含む。業務ＩＤ１３１１、ファイルＩＤ１３１２及び種別１３１３は、業務ＩＤ１３０１、ファイルＩＤ１３０２及び種別１３０３と同一のものであるため説明を省略する。コマンド１３１４には、ＳＣＳＩコマンド又は記憶装置３０４、３０５を制御するコントローラ用のコマンドが格納される。
【０１３８】
図１４は、本発明の実施例１におけるアラート設定情報２１５の一例を示す説明図である。
【０１３９】
アラート設定情報２１５は、サーバキャッシュ２３０の状態をファイルの配置の変更契機として管理サーバ１００に通知するための設定情報を格納する。具体的には、アラート設定情報２１５は、キャッシュドライバ２１３がサーバキャッシュ２３０の状態を通知する周期を示す通知タイマを格納する。
【０１４０】
次に、実施例１における処理について説明する。
【０１４１】
図１５は、本発明の実施例１における処理の流れを説明するシーケンス図である。
【０１４２】
まず、管理サーバ１００は、制御内容を決定するために、制御内容決定処理を実行する（ステップＳ１０１）。制御内容決定処理の詳細は、図１６を用いて後述するが、制御内容決定処理ではアラート設定情報２１５が生成される。本実施例では、管理者等によって制御条件として「キャッシュヒット率」が指定されているものとする。
【０１４３】
なお、制御内容決定処理は、計算機システムの運用前に実行されてもよいし、計算機システムの運用中に実行されてもよい。また、新規業務サーバ２００の追加時に、制御内容決定処理が実行されてもよい。
【０１４４】
管理サーバ１００は、複数の業務サーバ２００に、生成されたアラート設定情報２１５を送信する（ステップＳ１０２）。管理サーバ１００は、マルチキャスト送信によってアラート設定情報２１５を各業務サーバ２００に送信するものとする。なお、新規業務サーバ２００の追加によって処理が開始されて場合、管理サーバ１００は、新規業務サーバ２００のみに、アラート設定情報２１５を送信する。
【０１４５】
各業務サーバ２００は、受信したアラート設定情報２１５をメモリ２０２上に格納する。本実施例では図１４に示すようなアラート設定情報２１５が格納される。
【０１４６】
各業務サーバ２００のキャッシュドライバ２１３は、アラート設定情報２１５の通知タイマにしたがって、周期的に、サーバキャッシュ２３０の状態を含むアラート情報を管理サーバ１００に送信する（ステップＳ１０３）。本実施例では、サーバキャッシュ情報にはサーバキャッシュ２３０におけるキャッシュヒット率及び現在実行中の業務の識別子が含まれる。なお、業務の識別子は、サーバキャッシュ情報の送信前にキャッシュドライバ２１３がＯＳ２１０に問い合わせることによって取得することができる。
【０１４７】
管理サーバ１００は、受信したサーバキャッシュ情報に基づいて、格納場所変更処理を実行する（ステップＳ１０４）。また、管理サーバ１００は、実行結果に基づいて、記憶サーバ３００に制御情報を送信する（ステップＳ１０５）。格納場所変更処理の詳細は、図１７、図１８及び図１９を用いて後述する。
【０１４８】
図１６は、本発明の実施例１における制御内容決定処理を説明するフローチャートである。
【０１４９】
キャッシュ最適化部１１０は、制御ポリシ情報１３７を参照して、各業務サーバ２００に設定するキャッシュヒット率の上限値及び下限値を決定する（ステップＳ２０１）。具体的には、以下のような処理が実行される。
【０１５０】
キャッシュ最適化部１１０は、制御ポリシ情報１３７の制御条件１２０２を参照し、指定された制御条件に一致するエントリを検索する。本実施例では、制御条件として「キャッシュヒット率」が指定されているため、キャッシュ最適化部１１０は、制御条件１２０２が「キャッシュヒット率」であるエントリを検索する。
【０１５１】
なお、制御条件１２０２が「キャッシュヒット率」であるエントリが複数存在する場合、キャッシュ最適化部１１０は、管理者等に適用する制御ポリシを選択するための画面を表示してもよい。また、予め、各エントリに優先度を設定しておき、キャッシュ最適化部１１０が、当該優先度の高い制御ポリシを選択してもよい。
【０１５２】
キャッシュ最適化部１１０は、検索されたエントリの制御内容１２０３を参照し、各業務サーバ２００のキャッシュヒット率の上限値及び下限値を決定する。キャッシュ最適化部１１０は、決定されたキャッシュヒット率の上限値及び下限値をサーバキャッシュ管理情報１３２の上限値７０５及び下限値７０６に設定する。
【０１５３】
本実施例では、全ての業務サーバ２００に同一のキャッシュヒット率の上限値及び下限値が設定されるため、各業務サーバ２００のキャッシュヒット率の上限値及び下限値を決定するための処理は、特に処理は実行されない。
【０１５４】
なお、各業務サーバ２００に設定されるキャッシュヒット率の上限値及び下限値が異なる場合、キャッシュ最適化部１１０は、制御内容１２０３、業務管理情報１３１、及びサーバキャッシュ管理情報１３２等に基づいて、各業務サーバ２００に設定するキャッシュヒット率の上限値及び下限値を決定する。例えば、アプリケーション２２０の種類毎にキャッシュヒット率の上限値及び下限値が定義されている場合、キャッシュ最適化部１１０は、業務管理情報１３１のアプリケーションＩＤ６０３に基づいてアプリケーション２２０の種類を特定し、特定されたアプリケーションの種類に基づいてキャッシュヒット率の上限値及び下限値を決定する。
【０１５５】
以上がステップＳ２０１の処理の説明である。
【０１５６】
次に、キャッシュ最適化部１１０はアラート設定情報生成部１２２を呼び出す。呼び出されたアラート設定情報生成部１２２は、サーバキャッシュ管理情報１３２から処理対象の業務サーバ２００のエントリを選択する（ステップＳ２０２）。ここでは、サーバキャッシュ管理情報１３２の上のエントリから順に選択されるものとする。
【０１５７】
アラート設定情報生成部１２２は、制御内容１２０３を参照して、通知タイマを含むアラート設定情報２１５を生成し、生成されたアラート設定情報２１５を処理対象の業務サーバ２００に送信する（ステップＳ２０３）。アラート設定情報生成部１２２は、全ての業務サーバ２００に対して処理が完了したか否かを判定する（ステップＳ２０４）。
【０１５８】
全ての業務サーバ２００に対して処理が完了していないと判定された場合、アラート設定情報生成部１２２は、ステップＳ２０２に戻り、同様の処理を実行する。
【０１５９】
全ての業務サーバ２００に対して処理が完了したと判定された場合、アラート設定情報生成部１２２は、処理を終了する。
【０１６０】
なお、新規業務サーバ２００の追加が処理開始の契機である場合、業務サーバ２００のループ処理は実行されず、新規業務サーバ２００に対してステップＳ２０３の処理が実行される。
【０１６１】
図１７は、本発明の実施例１における格納場所変更処理を説明するフローチャートである。
【０１６２】
キャッシュ最適化部１１０は、アラート情報を受信すると、制御情報生成部１２１を呼び出す。呼び出された制御情報生成部１２１は以下で説明する処理を実行する。
【０１６３】
制御情報生成部１２１は、各業務サーバ２００から受信したサーバキャッシュ情報に基づいて、業務管理情報１３１及びサーバキャッシュ管理情報１３２を更新する（ステップＳ３０１）。具体的には、以下のような処理が実行される。
【０１６４】
制御情報生成部１２１は、業務管理情報１３１を参照し、業務ＩＤ６０１がサーバキャッシュ情報に含まれる業務の識別子と一致するエントリを検索する。制御情報生成部１２１は、検索されたエントリの状態６０８を「実行中」に更新する。また、制御情報生成部１２１は、サーバキャッシュ情報を受信する前に状態６０８が「実行中」であったエントリの状態６０８を「実行終了」に更新する。
【０１６５】
制御情報生成部１２１は、どの業務サーバ２００から送信されたサーバキャッシュ情報であるかを特定する。例えば、パケットの送信元情報に基づいて特定することができる。制御情報生成部１２１は、サーバキャッシュ管理情報１３２を参照し、業務サーバＩＤ７０１が特定された業務サーバ２００と一致するエントリを検索する。制御情報生成部１２１は、サーバキャッシュ情報に含まれるキャッシュヒット率に基づいて、検索されたエントリのキャッシュヒット率７０４を更新する。
【０１６６】
制御情報生成部１２１は、受信した全てのサーバキャッシュ情報について前述した処理を繰り返し実行する。
【０１６７】
以上がステップＳ３０１の処理の説明である。
【０１６８】
次に、制御情報生成部１２１は、記憶サーバ３００からストレージキャッシュ３２０の状態を示す情報を取得し、取得された情報に基づいてストレージキャッシュ管理情報１３３を更新する（ステップＳ３０２）。制御情報生成部１２１は、業務管理情報１３１から処理対象の業務サーバ２００のエントリを選択する（ステップＳ３０３）。具体的には、以下のような処理が実行される。
【０１６９】
制御情報生成部１２１は、業務管理情報１３１を参照し、状態６０８が「実行中」であるエントリを検索する。制御情報生成部１２１は、検索されたエントリの中から処理対象の業務サーバ２００のエントリを選択する。このとき、制御情報生成部１２１は、状態６０８が「実行中」である業務を含むジョブネットにおける優先度６０７の値が大きい順、すなわち、優先順位の低い順に業務サーバ２００のエントリを選択する。
【０１７０】
以上がステップＳ３０３の処理の説明である。
【０１７１】
次に、制御情報生成部１２１は、処理対象の業務サーバ２００のキャッシュヒット率が上限値より大きいか否かを判定する（ステップＳ３０４）。具体的には、制御情報生成部１２１は、選択されたエントリのキャッシュヒット率７０４の値が上限値７０５の値より大きいか否かを判定する。
【０１７２】
処理対象の業務サーバ２００のキャッシュヒット率が上限値以下である判定された場合、制御情報生成部１２１は、ステップＳ３０６に進む。
【０１７３】
処理対象の業務サーバ２００のキャッシュヒット率が上限値より大きいと判定された場合、制御情報生成部１２１は、処理対象の業務サーバ２００が使用する業務データの格納場所を下位の階層の記憶領域に変更するために、階層下降用の制御情報生成処理を実行し（ステップＳ３０５）、その後、ステップＳ３０６に進む。階層下降用の制御情報生成処理の詳細は、図１８を用いて後述する。なお、階層下降用の制御情報生成処理では、ステップＳ３０３において選択されたエントリの業務ＩＤ６０１、及びファイルＩＤ６０４が情報として入力される。
【０１７４】
制御情報生成部１２１は、全ての業務サーバ２００について処理が完了したか否かを判定する（ステップＳ３０６）。
【０１７５】
全ての業務サーバ２００について処理が完了していないと判定された場合、制御情報生成部１２１は、ステップＳ３０３に戻り、同様の処理を実行する。
【０１７６】
全ての業務サーバ２００について処理が完了したと判定された場合、制御情報生成部１２１は、業務管理情報１３１から処理対象の業務サーバ２００のエントリを選択する（ステップＳ３０７）。具体的には、以下のような処理が実行される。
【０１７７】
制御情報生成部１２１は、業務管理情報１３１を参照し、状態６０８が「実行中」であるエントリを検索する。制御情報生成部１２１は、検索されたエントリの中から処理対象の業務サーバ２００のエントリを選択する。このとき、制御情報生成部１２１は、状態６０８が「実行中」である業務を含むジョブネットにおける優先度６０７の値が小さい順、すなわち、優先順位の高い順に、業務管理情報１３１から業務サーバ２００のエントリを選択する。
【０１７８】
以上がステップＳ３０７の処理の説明である。
【０１７９】
制御情報生成部１２１は、処理対象の業務サーバ２００のキャッシュヒット率が下限値より小さいか否かを判定する（ステップＳ３０８）。具体的には、制御情報生成部１２１は、選択されたエントリのキャッシュヒット率７０４の値が下限値７０６の値より小さいか否かを判定する。
【０１８０】
処理対象の業務サーバ２００のキャッシュヒット率が下限値７０６以上であると判定された場合、制御情報生成部１２１は、ステップＳ３１０に進む。
【０１８１】
処理対象の業務サーバ２００のキャッシュヒット率が下限値７０６より小さいと判定された場合、制御情報生成部１２１は、処理対象の業務サーバ２００が使用する業務データの格納場所を上位の階層の記憶領域に変更するために、階層上昇用の制御情報生成処理を実行し（ステップＳ３０９）、その後、ステップＳ３１０に進む。階層上昇用の制御情報生成処理の詳細は、図１９を用いて後述する。なお、階層上昇用の制御情報生成処理では、ステップＳ３０７において選択されたエントリの業務ＩＤ６０１、及びファイルＩＤ６０４が情報として入力される。
【０１８２】
制御情報生成部１２１は、全ての業務サーバ２００について処理が完了したか否かを判定する（ステップＳ３１０）。
【０１８３】
全ての業務サーバ２００について処理が完了していないと判定された場合、制御情報生成部１２１は、ステップＳ３０７に戻り、同様の処理を実行する。
【０１８４】
全ての業務サーバ２００について処理が完了したと判定された場合、制御情報生成部１２１は、ステップＳ３０５及びステップＳ３０９において生成された制御情報を対象となる業務サーバ２００に送信する（ステップＳ３１１）。その後、制御情報生成部１２１は、処理を終了する。具体的には、以下のような処理が実行される。
【０１８５】
制御情報生成部１２１は、キャッシュ制御情報１３００の一番上のエントリを参照し、当該エントリの業務ＩＤ１３０１と同一の識別子が格納されるエントリを全て抽出する。また、制御情報生成部１２１は、階層制御情報１３１０から、業務ＩＤ１３１１が参照されたエントリの業務ＩＤ１３０１と一致するエントリを全て抽出する。
【０１８６】
制御情報生成部１２１は、業務管理情報１３１を参照し、業務ＩＤ６０１が参照されたエントリの業務ＩＤ１３０１と一致するエントリを検索する。制御情報生成部１２１は、検索されたエントリの業務サーバＩＤ６０２に基づいて、送信先の業務サーバ２００を特定する。
【０１８７】
制御情報生成部１２１は、特定された業務サーバ２００に、キャッシュ制御情報１３００から抽出されたエントリ、及び階層制御情報１３１０から抽出されたエントリを含む制御情報を送信する。その後、制御情報生成部１２１は、キャッシュ制御情報１３００から抽出されたエントリを当該キャッシュ制御情報１３００から削除し、また、階層制御情報１３１０から抽出されたエントリを当該階層制御情報１３１０から削除する。
【０１８８】
制御情報生成部１２１は、キャッシュ制御情報１３００の全てのエントリに対して、前述した処理を実行する。制御情報生成部１２１は、キャッシュ制御情報１３００の全てのエントリに対して処理が完了した後、階層制御情報１３１０にエントリが存在するか否かを判定する。
【０１８９】
階層制御情報１３１０にエントリが存在する場合、制御情報生成部１２１は、階層制御情報１３１０の一番上のエントリを参照し、当該エントリの業務ＩＤ１３１１と同一の識別子が格納されるエントリを全て抽出する。
【０１９０】
制御情報生成部１２１は、業務管理情報１３１を参照し、業務ＩＤ６０１が参照されたエントリの業務ＩＤ１３１１と一致するエントリを検索する。制御情報生成部１２１は、検索されたエントリの業務サーバＩＤ６０２に基づいて、送信先の業務サーバ２００を特定する。
【０１９１】
制御情報生成部１２１は、特定された業務サーバ２００に、階層制御情報１３１０から抽出されたエントリを含む制御情報を送信する。その後、制御情報生成部１２１は、階層制御情報１３１０から抽出されたエントリを当該階層制御情報１３１０から削除する。
【０１９２】
制御情報生成部１２１は、階層制御情報１３１０の全てのエントリに対して、前述した処理を実行する。また、制御情報生成部１２１は、制御情報の送信後、ストレージ構成管理情報１３５を更新する。
【０１９３】
以上がステップＳ３１１の処理の説明である。なお、前述した制御情報の送信処理は一例であって、本発明はこれに限定されない。例えば、キャッシュ制御情報１３００からエントリを一つずつ読み出し、順次、読み出されたエントリを各業務サーバ２００に送信し、また、階層制御情報１３１０からエントリを一つずつ読み出し、順次、読み出されたエントリを書く業務サーバ２００に送信してもよい。
【０１９４】
図１８は、本発明の実施例１における階層下降用の制御情報生成処理の一例を説明するフローチャートである。
【０１９５】
制御情報生成部１２１は、処理対象の業務が使用するファイルを特定する（ステップＳ４０１）。具体的には、制御情報生成部１２１は、ステップＳ３０３において選択されたエントリのファイルＩＤ６０４に基づいて、処理対象の業務が使用するファイルを特定する。
【０１９６】
制御情報生成部１２１は、特定されたファイルが格納されるＬＵを特定する（ステップＳ４０２）。具体的には以下のような処理が実行される。
【０１９７】
制御情報生成部１２１は、ステップＳ３０３において選択されたエントリのファイルＩＤ６０４に格納されるファイルの識別子を一つ読み出す。さらに、制御情報生成部１２１は、ファイル管理情報１３４を参照し、ファイルＩＤ９０１が読み出されたファイルの識別子と一致するエントリを検索する。ファイルＩＤ６０４に複数のファイルの識別子が含まれる場合、制御情報生成部１２１は、複数のファイルの識別子の各々について前述した処理を実行する。
【０１９８】
制御情報生成部１２１は、ストレージ構成管理情報１３５を参照し、ＬＤＥＶ  ＩＤ１００３が検索されたエントリのＬＤＥＶ  ＩＤ９０２と一致するエントリを検索する。制御情報生成部１２１は、検索されたエントリのＬＵ  ＩＤ１００１に基づいて、特定されたファイルが格納されるＬＵを特定する。
【０１９９】
以上がステップＳ４０２の処理の説明である。
【０２００】
次に、制御情報生成部１２１は、ステップＳ４０１において特定されたファイルの中から処理対象のファイルを一つ選択する（ステップＳ４０３）。制御情報生成部１２１は、処理対象のファイルについてキャッシュ制御情報１３００を生成する（ステップＳ４０４）。具体的には、以下のような処理が実行される。
【０２０１】
制御情報生成部１２１は、ストレージキャッシュ３２０から処理対象のファイルのキャッシュデータを追い出すためのコマンドを生成する。制御情報生成部１２１は、キャッシュ制御情報１３００にエントリを追加する。
【０２０２】
制御情報生成部１２１は、追加されたエントリの業務ＩＤ１３０１に処理対象の業務の識別子、ファイルＩＤ１３０２に処理対象のファイルの識別子、種別１３０３に「削除」、コマンド１３０４に生成されたコマンドをそれぞれ設定する。
【０２０３】
以上がステップＳ４０４の処理の説明である。
【０２０４】
次に、制御情報生成部１２１は、処理対象のファイルが最下位の階層の階層記憶領域３３０に格納されているか否かを判定する（ステップＳ４０５）。具体的には、以下のような処理が実行される。
【０２０５】
制御情報生成部１２１は、階層管理情報１３６の所属ＬＵ  ＩＤ１１０２を参照し、処理対象のファイルが格納されるＬＵが所属する階層記憶領域３３０の階層を特定する。さらに、制御情報生成部１２１は、特定された階層記憶領域の階層が最下位の階層であるか否かを判定する。本実施例では、階層ＩＤ１１０１が「Ｔ２」であるか否かが判定される。
【０２０６】
以上がステップＳ４０５の処理の説明である。
【０２０７】
処理対象のファイルが最下位の階層の階層記憶領域３３０に格納されていると判定された場合、制御情報生成部１２１は、ステップＳ４０７に進む。これは、すでに、処理対象のファイルは最下位の階層の階層記憶領域３３０に格納されているため、当該ファイルの格納位置を変更する必要がないためである。
【０２０８】
処理対象のファイルが最下位の階層の階層記憶領域３３０に格納されていないと判定された場合、制御情報生成部１２１は、階層制御情報１３１０を生成し（ステップＳ４０６）、その後、ステップＳ４０７に進む。具体的には、以下のような処理が実行される。
【０２０９】
制御情報生成部１２１は、処理対象のファイルが格納されるＬＵが所属する階層記憶領域３３０の階層を特定する。特定方法はステップＳ４０５と同一の方法を用いればよい。制御情報生成部１２１は、最下位の階層の階層記憶領域３３０に所属するＬＵが存在するか否かを判定する。
【０２１０】
最下位の階層の階層記憶領域３３０に所属するＬＵが存在すると判定された場合、制御情報生成部１２１は、処理対象のファイルが格納されるＬＵから最下位の階層の階層記憶領域３３０に所属するＬＵへ当該ファイルを移動するためのコマンドを生成する。
【０２１１】
最下位の階層の階層記憶領域３３０に所属するＬＵが存在しないと判定された場合、制御情報生成部１２１は、ストレージ構成管理情報１３５を参照して未割り当てのＬＵを検索する。さらに、制御情報生成部１２１は、階層管理情報１３６を参照して、検索されたＬＵの中から、最下位の階層の階層記憶領域３３０に所属するＬＵを一つ選択する。
【０２１２】
本実施例では、制御情報生成部１２１は、業務サーバＩＤ１００２、ＬＤＥＶ  ＩＤ１００３等が空欄のエントリを検索する。制御情報生成部１２１は、階層ＩＤ１１０１が「Ｔ２」のエントリの所属ＬＵ  ＩＤ１１０２と、検索されたエントリのＬＵ  ＩＤ１００１とを比較することによって、最下位の階層の階層記憶領域３３０に所属するＬＵのエントリを検索する。さらに、制御情報生成部１２１は、検索されたＬＵのエントリの中から一つのエントリを選択する。
【０２１３】
制御情報生成部１２１は、処理対象のファイルが格納されるＬＵから、選択されたＬＵへ当該ファイルを移動するためのコマンドを生成する。当該処理によって、ＬＤＥＶには新たなＬＵが割り当てられることとなる。
【０２１４】
制御情報生成部１２１は、階層制御情報１３１０にエントリを追加する。制御情報生成部１２１は、追加されたエントリの業務ＩＤ１３１１に業務ＩＤ６０１と同一の識別子、ファイルＩＤ１３１２に処理対象のファイルの識別子、種別１３１３に「ＤＯＷＮ」、コマンド１３１４に生成されたコマンドを設定する。
【０２１５】
以上がステップＳ４０６の処理の説明である。
【０２１６】
制御情報生成部１２１は、全てのファイルについて処理が完了したか否かを判定する（ステップＳ４０７）。
【０２１７】
全てのファイルについて処理が完了していないと判定された場合、制御情報生成部１２１は、ステップＳ４０３に戻り、同様の処理を実行する。全てのファイルについて処理が完了したと判定された場合、制御情報生成部１２１は、処理を終了する。
【０２１８】
なお、階層記憶領域の階層が３つ以上である場合には以下のような処理も適用することができる。
【０２１９】
ステップＳ４０５では、制御情報生成部１２１は、階層管理情報１３６を参照して、特定されたＬＵが所属する階層記憶領域３３０より下位の階層の階層記憶領域３３０を検索する。
【０２２０】
ステップＳ４０６では、制御情報生成部１２１は、検索された階層記憶領域３３０の中から、移動先の階層記憶領域３３０を選択する。例えば、空き容量が最も多い階層記憶領域３３０を選択する。制御情報生成部１２１は、ストレージ構成管理情報１３５を参照して、選択された階層記憶領域３３０に所属するＬＵの中から、未割り当てのＬＵを一つ選択する。制御情報生成部１２１は、処理対象のファイルが格納されるＬＵから、選択されたＬＵへ当該ファイルを移動するためのコマンドを生成する。
【０２２１】
図１９は、本発明の実施例１における階層上昇用の制御情報生成処理の一例を説明するフローチャートである。
【０２２２】
制御情報生成部１２１は、処理対象の業務が使用するファイルを特定する（ステップＳ５０１）。制御情報生成部１２１は、特定されたファイルが格納されるＬＵを特定する（ステップＳ５０２）。さらに、制御情報生成部１２１は、ステップＳ５０１において特定されたファイルの中から処理対象のファイルを一つ選択する（ステップＳ５０３）。ステップＳ５０１からステップＳ５０３の処理は、ステップＳ４０１からステップＳ４０３の処理と同一である。
【０２２３】
制御情報生成部１２１は、ストレージキャッシュ３２０に処理対象のファイルのキャッシュデータを格納できるか否かを判定する（ステップＳ５０４）。具体的には、以下のような処理が実行される。
【０２２４】
制御情報生成部１２１は、ストレージキャッシュ管理情報１３３を参照し、キャッシュ容量８０１の値から使用量８０２の値を減算することによってストレージキャッシュ３２０の空き容量を算出する。また、制御情報生成部１２１は、ファイル管理情報１３４のデータ容量９０３を参照し、処理対象のファイルのデータ容量を取得する。
【０２２５】
制御情報生成部１２１は、ストレージキャッシュ３２０の空き容量が、処理対象のファイルのデータ容量より大きいか否かを判定する。ストレージキャッシュ３２０の空き容量が、処理対象のファイルのデータ容量より大きい場合、制御情報生成部１２１は、ストレージキャッシュ３２０に処理対象のファイルのキャッシュデータを格納できると判定する。
【０２２６】
なお、前述した判定方法は一例であって、本発明はこれに限定されない。例えば、制御情報生成部１２１は、ストレージキャッシュ３２０の空き容量から処理対象のファイルのデータ容量を減算し、算出された差分が任意の閾値より大きいか否かを判定してもよい。算出された差分が任意の閾値より大きい場合には、制御情報生成部１２１は、ストレージキャッシュ３２０に処理対象のファイルを格納できると判定する。
【０２２７】
以上がステップＳ５０４の処理の説明である。
【０２２８】
ストレージキャッシュ３２０に処理対象のファイルを格納できると判定された場合、制御情報生成部１２１は、キャッシュ制御情報を生成し（ステップＳ５０５）、その、後ステップＳ５０８に進む。具体的には、以下のような処理が実行される。
【０２２９】
制御情報生成部１２１は、キャッシュ制御情報１３００を参照し、ファイルＩＤ１３０２に処理対象のファイルの識別子が格納され、かつ、種別１３０３に「削除」が格納されるエントリを検索する。前述した条件に一致するエントリが存在する場合、制御情報生成部１２１は、当該エントリ削除する。これは、ストレージキャッシュ３２０へのキャッシュデータの格納処理、及びストレージキャッシュ３２０からのキャッシュデータの追い出し処理の相反する処理が実行されるのを回避するためである。
【０２３０】
制御情報生成部１２１は、ストレージキャッシュ３２０に処理対象のファイルのキャッシュデータを格納するためのコマンドを生成する。制御情報生成部１２１は、キャッシュ制御情報１３００にエントリを追加する。制御情報生成部１２１は、追加されたエントリの業務ＩＤ１３０１に業務ＩＤ６０１と同一の識別子、ファイルＩＤ１３０２に処理対象のファイルの識別子、種別１３０３に「追加」、コマンド１３０４に生成されたコマンドを設定する。
【０２３１】
以上が、ステップＳ５０５の処理の説明である。
【０２３２】
ストレージキャッシュ３２０に処理対象のファイルのキャッシュデータを格納できないと判定された場合、制御情報生成部１２１は、処理対象のファイルが最上位の階層の階層記憶領域３３０に格納されているか否かを判定する（ステップＳ５０６）。具体的には、以下のような処理が実行される。
【０２３３】
制御情報生成部１２１は、階層管理情報１３６の所属ＬＵ  ＩＤ１１０２を参照し、処理対象のファイルが格納されるＬＵが所属する階層記憶領域３３０の階層を特定する。さらに、制御情報生成部１２１は、特定された階層記憶領域の階層が最下位の階層であるか否かを判定する。本実施例では、階層ＩＤ１１０１が「Ｔ１」であるか否かが判定される。
【０２３４】
以上がステップＳ５０６の処理の説明である。
【０２３５】
処理対象のファイルが最上位の階層の階層記憶領域３３０に格納されていると判定された場合、制御情報生成部１２１は、ステップＳ５０８に進む。これは、処理対象のファイルは既に最下位の階層の階層記憶領域３３０に格納されているため、当該ファイルの格納位置を変更する必要がないためである。
【０２３６】
処理対象のファイルが最上位の階層の階層記憶領域３３０に格納されていないと判定された場合、制御情報生成部１２１は、階層制御情報１３１０を生成し（ステップＳ５０７）、その後、ステップＳ５０８に進む。具体的には、以下のような処理が実行される。
【０２３７】
制御情報生成部１２１は、階層制御情報１３１０を参照し、ファイルＩＤ１３１２に処理対象のファイルの識別子が格納され、かつ、種別１３１３に「ＤＯＷＮ」が格納されるエントリを検索する。前述した条件に一致するエントリが存在する場合、制御情報生成部１２１は、当該エントリ削除する。これは、下位の階層の階層記憶領域３３０へのファイルの移動処理、及び上位の階層の階層記憶領域３３０へのファイルの移動処理の相反する処理が実行されるのを回避するためである。
【０２３８】
制御情報生成部１２１は、処理対象のファイルが格納されるＬＵが所属する階層記憶領域３３０の階層を特定する。特定方法はステップＳ４０５と同一の方法を用いればよい。制御情報生成部１２１は、最上位の階層の階層記憶領域３３０に所属するＬＵが存在するか否かを判定する。
【０２３９】
最上位の階層の階層記憶領域３３０に所属するＬＵが存在すると判定された場合、制御情報生成部１２１は、処理対象のファイルが格納されるＬＵから最上位の階層の階層記憶領域３３０に所属するＬＵへ当該ファイルを移動するためのコマンドを生成する。
【０２４０】
最上位の階層の階層記憶領域３３０に所属するＬＵが存在しないと判定された場合、制御情報生成部１２１は、ストレージ構成管理情報１３５を参照して未割り当てのＬＵを検索する。さらに、制御情報生成部１２１は、階層管理情報１３６を参照して、検索されたＬＵの中から、最上位の階層の階層記憶領域３３０に所属するＬＵを一つ選択する。
【０２４１】
制御情報生成部１２１は、処理対象のファイルが格納されるＬＵから、選択されたＬＵに当該ファイルを移動するためのコマンドを生成する。当該処理によって、ＬＤＥＶには新たなＬＵが割り当てられることとなる。
【０２４２】
制御情報生成部１２１は、階層制御情報１３１０にエントリを追加する。制御情報生成部１２１は、追加されたエントリの業務ＩＤ１３１１に業務ＩＤ６０１と同一の識別子、ファイルＩＤ１３１２に処理対象のファイルの識別子、種別１３１３に「ＵＰ」、コマンド１３１４に生成されたコマンドを設定する。
【０２４３】
以上がステップＳ５０７の処理の説明である。
【０２４４】
制御情報生成部１２１は、全てのファイルについて処理が完了したか否かを判定する（ステップＳ５０８）。
【０２４５】
全てのファイルについて処理が完了していないと判定された場合、制御情報生成部１２１は、ステップＳ５０３に戻り、同様の処理を実行する。全てのファイルについて処理が完了したと判定された場合、制御情報生成部１２１は、処理を終了する。
【０２４６】
最後に、記憶サーバ３００が制御情報を受信した場合に実行する処理について説明する。
【０２４７】
なお、階層記憶領域の階層が３つ以上である場合には以下のような処理も適用することができる。
【０２４８】
ステップＳ５０６では、制御情報生成部１２１は、階層管理情報１３６を参照して、特定されたＬＵが所属する階層記憶領域３３０より上位の階層の階層記憶領域３３０を検索する。
【０２４９】
ステップＳ５０７では、制御情報生成部１２１は、検索された階層記憶領域３３０の中から、移動先の階層記憶領域３３０を選択する。例えば、空き容量が最も多い階層記憶領域３３０を選択する。制御情報生成部１２１は、ストレージ構成管理情報１３５を参照して、選択された階層記憶領域３３０に所属するＬＵの中から、未割り当てのＬＵを一つ選択する。制御情報生成部１２１は、処理対象のファイルが格納されるＬＵから、選択されたＬＵへ当該ファイルを移動するためのコマンドを生成する。
【０２５０】
図２０Ａ及び図２０Ｂは、本発明の実施例１における記憶サーバ３００が制御情報を受信した場合に実行する処理を説明するフローチャートである。
【０２５１】
記憶領域管理ＯＳ３１０は、管理サーバ１００から制御情報を受信すると（ステップＳ１０５）、制御情報に含まれるキャッシュ制御情報１３００のエントリの中から種別１３０３が「削除」であるエントリを一つ選択する（ステップＳ６０１）。ここでは、記憶領域管理ＯＳ３１０は、上のエントリから順に選択するものとする。
【０２５２】
なお、制御情報にキャッシュ制御情報１３００のエントリが含まれない場合、記憶領域管理ＯＳ３１０は、ステップＳ６０１からステップＳ６０８の処理を省略し、ステップＳ６０９の処理から開始する。
【０２５３】
記憶領域管理ＯＳ３１０は、選択されたエントリのファイルＩＤ１３０２及びコマンド１３０４に基づいて、削除対象のファイルのキャッシュデータがストレージキャッシュ３２０に存在するか否かを判定する（ステップＳ６０２）。ステップＳ６０２では、従来技術におけるキャッシュヒットの判定処理を適用すればよい。
【０２５４】
削除対象のファイルのキャッシュデータがストレージキャッシュ３２０に存在しないと判定された場合、記憶領域管理ＯＳ３１０は、制御情報に含まれるキャッシュ制御情報１３００から選択されたエントリを削除し、その後、ステップＳ６０４に進む。これは、処理対象のキャッシュデータがストレージキャッシュ３２０に存在せず、コマンド１３０４を実行する必要がないためである。
【０２５５】
削除対象のファイルのキャッシュデータがストレージキャッシュ３２０に存在すると判定された場合、記憶領域管理ＯＳ３１０は、選択されたエントリのコマンド１３０４を実行し（ステップＳ６０３）、その後、ステップＳ６０４に進む。これによって、ストレージキャッシュ３２０から、削除対象のファイルのキャッシュデータが追い出される。記憶領域管理ＯＳ３１０は、コマンド１３０４の実行後、制御情報に含まれるキャッシュ制御情報１３００から選択されたエントリを削除する。
【０２５６】
記憶領域管理ＯＳ３１０は、制御情報に含まれるキャッシュ制御情報１３００のエントリのうち、種別１３０３が「削除」である全てのエントリについて処理が完了したか否かを判定する（ステップＳ６０４）。
【０２５７】
種別１３０３が「削除」である全てのエントリについて処理が完了していないと判定された場合、記憶領域管理ＯＳ３１０は、ステップＳ６０１に戻り、同様の処理を実行する。
【０２５８】
種別１３０３が「削除」である全てのエントリについて処理が完了したと判定された場合、記憶領域管理ＯＳ３１０は、制御情報に含まれるキャッシュ制御情報１３００のエントリの中から種別１３０３が「追加」であるエントリを一つ選択する（ステップＳ６０５）。ここでは、記憶領域管理ＯＳ３１０は、上のエントリから順に選択するものとする。
【０２５９】
記憶領域管理ＯＳ３１０は、選択されたエントリのファイルＩＤ１３０２及びコマンド１３０４に基づいて、追加対象のファイルのキャッシュデータがストレージキャッシュ３２０に存在するか否かを判定する（ステップＳ６０６）。ステップＳ６０６では、従来技術におけるキャッシュヒットの判定処理を適用すればよい。
【０２６０】
追加対象のファイルのキャッシュデータがストレージキャッシュ３２０に存在すると判定された場合、記憶領域管理ＯＳ３１０は、制御情報に含まれるキャッシュ制御情報１３００から選択されたエントリを削除し、その後、ステップＳ６０８に進む。これは、処理対象のキャッシュデータがストレージキャッシュ３２０に存在し、コマンド１３０４に対応する処理を実行する必要がないためである。
【０２６１】
追加対象のファイルのキャッシュデータがストレージキャッシュ３２０に存在しないと判定された場合、記憶領域管理ＯＳ３１０は、選択されたエントリのコマンド１３０４を実行し（ステップＳ６０７）、その後、ステップＳ６０８に進む。これによって、ストレージキャッシュ３２０に、追加対象のファイルのキャッシュデータが格納される。記憶領域管理ＯＳ３１０は、コマンド１３０４の実行後、制御情報に含まれるキャッシュ制御情報１３００から選択されたエントリを削除する。
【０２６２】
記憶領域管理ＯＳ３１０は、制御情報に含まれるキャッシュ制御情報１３００のエントリのうち、種別１３０３が「追加」である全てのエントリについて処理が完了したか否かを判定する（ステップＳ６０８）。種別１３０３が「追加」である全てのエントリについて処理が完了していないと判定された場合、記憶領域管理ＯＳ３１０は、ステップＳ６０５に戻り、同様の処理を実行する。
【０２６３】
種別１３０３が「追加」である全てのエントリについて処理が完了したと判定された場合、記憶領域管理ＯＳ３１０は、制御情報に含まれる階層制御情報１３１０のエントリの中から、種別１３１３が「ＤＯＷＮ」であるエントリを一つ選択する（ステップＳ６０９）。ここでは、記憶領域管理ＯＳ３１０は、上のエントリから順に選択するものとする。
【０２６４】
記憶領域管理ＯＳ３１０は、選択されたエントリのコマンド１３１４を実行する（ステップＳ６１０）。ステップＳ６１０では、従来述のストレージシステムの階層制御処理と同様の処理を適用すればよい。記憶領域管理ＯＳ３１０は、コマンド１３１４の実行後、階層制御情報１３１０から選択されたエントリを削除する。
【０２６５】
記憶領域管理ＯＳ３１０は、制御情報に含まれる階層制御情報１３１０のうち、種別１３１３が「ＤＯＷＮ」である全てのエントリについて処理が完了したか否かを判定する（ステップＳ６１１）。種別１３１３が「ＤＯＷＮ」である全てのエントリについて処理が完了していないと判定された場合、記憶領域管理ＯＳ３１０は、ステップＳ６０９に戻り、同様の処理を実行する。
【０２６６】
種別１３１３が「ＤＯＷＮ」である全てのエントリについて処理が完了したと判定された場合、記憶領域管理ＯＳ３１０は、制御情報に含まれる階層制御情報１３１０のエントリの中から、種別１３１３が「ＵＰ」であるエントリを一つ選択する（ステップＳ６１２）。ここでは、記憶領域管理ＯＳ３１０は、上のエントリから順に選択するものとする。
【０２６７】
記憶領域管理ＯＳ３１０は、選択されたエントリのコマンド１３１４を実行する（ステップＳ６１３）。ステップＳ６１３では、従来述のストレージシステムの階層制御処理と同様の処理を適用すればよい。記憶領域管理ＯＳ３１０は、コマンド１３１４の実行後、階層制御情報１３１０から選択されたエントリを削除する。
【０２６８】
記憶領域管理ＯＳ３１０は、制御情報に含まれる階層制御情報１３１０のうち、種別１３１３が「ＵＰ」である全てのエントリについて処理が完了したか否かを判定する（ステップＳ６１４）。種別１３１３が「ＵＰ」である全てのエントリについて処理が完了していないと判定された場合、記憶領域管理ＯＳ３１０は、ステップＳ６１２に戻り、同様の処理を実行する。
【０２６９】
種別１３１３が「ＵＰ」である全てのエントリについて処理が完了したと判定された場合、記憶領域管理ＯＳ３１０は、処理を終了する。
【０２７０】
実施例１によれば、管理サーバ１００は、業務サーバ２００のキャッシュドライバ２１３と連携し、サーバキャッシュ２３０におけるキャッシュヒット率に基づいて、ファイルの格納場所の最適化が可能となる。
【０２７１】
より具体的には、キャッシュヒット率が高い業務サーバ２００の業務データは記憶サーバ３００の下位の階層の記憶領域に格納し、キャッシュヒット率が低い業務サーバ２００の業務データは記憶サーバ３００の上位の階層の記憶領域に格納する。
【０２７２】
キャッシュヒット率が高い場合、業務サーバ２００から記憶サーバ３００へのアクセス頻度は低くなり、キャッシュヒット率が低い場合、業務サーバ２００から記憶サーバ３００へのアクセス数は高くなる。したがって、記憶サーバ３００の上位の階層の記憶領域に、キャッシュヒット率が低い業務サーバ２００の業務データを格納することによって、当該業務サーバ２００上で稼動するアプリケーション２２０の処理性能が向上する。また、階層を変更する場合、キャッシュ最適化部１１０は、ストレージキャッシュ３２０に対する制御も並列して実行するため、アプリケーション２２０の処理性能をより向上させることができる。
【０２７３】
また、キャッシュ最適化部１１０が、制御ポリシに基づいて、自動的かつ動的に、ファイルの格納場所を変更するため、計算機システムの管理コストを低減することができる。
【０２７４】
（変形例１）
図１７に示すように、格納場所変更処理において、キャッシュ最適化部１１０の制御情報生成部１２１は、全てのファイルに対する制御情報を生成した後に、各業務サーバ２００に制御情報を送信する（ステップＳ３１１）。
【０２７５】
変形例１では、制御情報生成部１２１は、階層下降用の制御情報生成処理の実行後に、各業務サーバ２００に制御情報を送信し、さらに、階層上昇用の制御情報生成処理の実行後に、各業務サーバ２００に制御情報を送信する。
【０２７６】
制御情報生成部１２１は、階層上昇用の制御情報生成処理の実行前に、階層下降用の制御情報を各業務サーバ２００に送信することによって、使用可能な記憶領域を確保することが可能となる。したがって、変形例１によれば、より最適な格納場所にファイルを格納することが可能となる。
【０２７７】
（変形例２）
変形例２では、キャッシュ最適化部１１０が、記憶領域管理ＯＳ３１０から予めストレージキャッシュ３２０の管理情報を取得する。これによって、キャッシュ最適化部１１０は、ストレージキャッシュ３２０に格納されるキャッシュデータを把握することができる。なお、ストレージキャッシュ３２０の管理情報は公知のものであるため詳細は省略する。
【０２７８】
この場合、階層下降用の制御情報生成処理、及び階層上昇用の制御情報生成処理の内容が一部異なる。
【０２７９】
まず、階層下降用の制御情報生成処理の変更点について説明する。
【０２８０】
制御情報生成部１２１は、処理対象のファイルを一つ選択した後（ステップＳ４０３）、ストレージキャッシュ３２０の管理情報を参照し、ストレージキャッシュ３２０に処理対象のファイルのキャッシュデータが格納されるか否かを判定する。
【０２８１】
ストレージキャッシュ３２０に処理対象のファイルのキャッシュデータが格納されないと判定された場合、制御情報生成部１２１は、ステップＳ４０５に進む。一方、ストレージキャッシュ３２０に処理対象のファイルのキャッシュデータが格納されると判定された場合、制御情報生成部１２１は、ステップＳ４０４に進む。
【０２８２】
この場合、記憶サーバ３００は、ステップＳ６０２の判定処理を省略することができる。
【０２８３】
次に、階層上昇用の制御情報生成処理の変更点について説明する。
【０２８４】
制御情報生成部１２１は、処理対象のファイルを一つ選択した後（ステップＳ５０３）、ストレージキャッシュ３２０の管理情報を参照し、ストレージキャッシュ３２０に処理対象のファイルのキャッシュデータが格納されるか否かを判定する。
【０２８５】
ストレージキャッシュ３２０に処理対象のファイルのキャッシュデータが格納されていると判定された場合、制御情報生成部１２１は、ステップＳ５０８に進む。一方、ストレージキャッシュ３２０に処理対象のファイルのキャッシュデータが格納されないと判定された場合、制御情報生成部１２１は、ステップＳ５０４に進む。
【０２８６】
この場合、記憶サーバ３００は、ステップＳ６０６の判定処理を省略することができる。
【０２８７】
変形例２によれば、格納場所変更処理に伴う記憶サーバ３００の処理負荷を低減することができる。したがって、アプリケーション２２０の実行性能をより向上させることができる。
【実施例２】
【０２８８】
実施例２では、管理サーバ１００が、各業務サーバ２００の業務スケジュールに基づいて、予め制御情報を生成する。管理サーバ１００は、キャッシュドライバ２１３から業務の開始又は終了通知を受信した場合に、当該制御情報に基づいて、記憶サーバ３００上の業務データの格納場所を制御する。
【０２８９】
以下、実施例１との差異を中心に実施例２について説明する。なお、実施例２における業務データは、実施例１と同様にファイル形式のデータであるものとする。
【０２９０】
実施例２における管理サーバ１００、業務サーバ２００及び記憶サーバ３００のハードウェア構成及びソフトウェア構成は、実施例１と同一であるため説明を省略する。また、実施例２の業務管理情報１３１、サーバキャッシュ管理情報１３２、ストレージキャッシュ管理情報１３３、ファイル管理情報１３４、ストレージ構成管理情報１３５、階層管理情報１３６、及び制御ポリシ情報１３７は実施例１と同一であるため、説明を省略する。
【０２９１】
実施例２では、制御管理情報１３８及びアラート設定情報２１５が異なる。
【０２９２】
図２１は、本発明の第２の実施例における制御管理情報１３８の一例を示す説明図である。
【０２９３】
キャッシュ制御情報１３００は、実施例１と同一である。実施例２の階層制御情報１３１０には、新たに、アラート２１０１が追加されている点が異なる。
【０２９４】
アラート２１０１は、業務サーバ２００から通知されるアラートの内容である。本実施例では、アラート２１０１には、業務の開始契機又は業務の終了契機を示すファイルの識別子及び当該ファイルのＬＤＥＶ上のアドレスが格納される。
【０２９５】
図２２は、本発明の第２の実施例におけるアラート設定情報２１５の一例を示す説明図である。
【０２９６】
第２の実施例のアラート設定情報２１５は、開始通知情報２２００、及び、終了通知情報２２１０を含む。
【０２９７】
開始通知情報２２００は、ジョブネットの最初の業務の開始を通知するための情報である。具体的には、開始通知情報２２００は、業務ＩＤ２２０１及び開始通知タイマ２２０２を含む。
【０２９８】
業務ＩＤ２２０１は、開始される業務の識別子であり、業務ＩＤ６０１と同一のものである。開始通知タイマ２２０２は、業務開始を通知するアラート情報を送信するためのタイマである。業務サーバ２００は、開始通知情報２２００にしたがって、ジョブネットにおいて最初に実行される業務の開始を通知する。
【０２９９】
終了通知情報２２１０は、実行中の業務の終了を通知するための情報である。具体的には、終了通知情報２２１０は、業務ＩＤ２２１１、ファイルＩＤ２２１２、及びアドレス２２１３を含む。
【０３００】
業務ＩＤ２２１１は、業務を識別するための識別子であり、業務ＩＤ６０１と同一のものである。ファイルＩＤ２２１２は、ファイルを識別するための識別子であり、ファイルＩＤ６０４と同一のものである。アドレス２２１３は、ファイルＩＤ２２１２に対応するファイルにおける特定のアドレスである。当該アドレスはＬＤＥＶにおけるアドレスである。
【０３０１】
次に、実施例２における処理について説明する。
【０３０２】
図２３は、本発明の実施例２における処理の流れを説明するシーケンス図である。
【０３０３】
まず、管理サーバ１００は、制御内容を決定するために、制御内容決定処理を実行する（ステップＳ７０１）。制御内容決定処理の詳細は、図２４を用いて後述する。本実施例では、管理者等によって制御条件として「バッチ業務」が指定されているものとする。
【０３０４】
なお、制御内容決定処理は、計算機システムの運用前に実行されるものとする。
【０３０５】
管理サーバ１００は、複数の業務サーバ２００に、生成されたアラート設定情報２１５を送信する（ステップＳ７０２）。管理サーバ１００は、マルチキャスト送信によってアラート設定情報２１５を各業務サーバ２００に送信するものとする。なお、新規業務サーバ２００の追加によって処理が開始されて場合、管理サーバ１００は、新規業務サーバ２００のみに、アラート設定情報２１５を送信する。
【０３０６】
各業務サーバ２００は、受信したアラート設定情報２１５をメモリ２０２上に格納する。本実施例では図２２に示すようなアラート設定情報２１５が格納される。
【０３０７】
各業務サーバ２００のキャッシュドライバ２１３は、アラート設定情報２１５に基づいて、業務の開始を検出し、業務開始を通知するアラート情報を管理サーバ１００に送信する（ステップＳ７０３）。また、各業務サーバ２００は、アラート設定情報２１５に基づいて、業務の終了を検出し、業務終了を通知するアラート情報を管理サーバ１００に送信する（ステップＳ７０６）。
【０３０８】
管理サーバ１００は、受信したアラート情報に基づいて、格納場所変更処理を実行する（ステップＳ７０４、ステップＳ７０７）。また、管理サーバ１００は、実行結果に基づいて、記憶サーバ３００に制御情報を送信する（ステップＳ７０５、ステップＳ７０８）。格納場所変更処理の詳細は、図２５Ａ、図２５Ｂ、及び図２５Ｃを用いて後述する。
【０３０９】
図２４は、本発明の実施例２における制御内容決定処理の一例を説明するフローチャートである。
【０３１０】
キャッシュ最適化部１１０は、制御情報生成部１２１を呼び出す。呼び出された制御情報生成部１２１は、処理対象のジョブネットを選択する（ステップＳ８０１）。具体的には、制御情報生成部１２１は、業務管理情報１３１を解析することによって、一つ以上のジョブネットを特定し、特定されたジョブネットの中から処理対象のジョブネットを一つ選択する。優先度６０７の値が小さい順、すなわち、優先順位の高い順にジョブネットが選択されるものとする。
【０３１１】
なお、ジョブネットの特定方法としては以下のような方法が考えられる。制御情報生成部１２１は、抽出されたエントリの中から関連業務ＩＤ６０６が空欄のエントリを一つ選択する。制御情報生成部１２１は、関連業務ＩＤ６０６が、選択されたエントリの業務ＩＤ６０１と一致するエントリを検索する。制御情報生成部１２１は、前述した処理を繰り返すことによって、一つのジョブネットに含まれる全ての業務を特定する。また、制御情報生成部１２１は、関連業務ＩＤ６０６が空欄の全てのエントリについて前述した処理を実行することによって全てのジョブネットを特定できる。
【０３１２】
制御情報生成部１２１は、選択されたジョブネットに含まれる業務サーバ２００が使用する業務データの格納場所を制御するために、制御情報生成処理を実行する（ステップＳ８０２）。制御情報生成処理の詳細は図２５Ａ、図２５Ｂ、及び図２５Ｃを用いて後述する。
【０３１３】
制御情報生成部１２１は、全てのジョブネットについて処理が完了したか否かを判定する（ステップＳ８０３）。
【０３１４】
全てのジョブネットについて処理が完了していないと判定された場合、制御情報生成部１２１は、ステップＳ８０１に戻り、同様の処理を実行する。
【０３１５】
全てのジョブネットについて処理が完了したと判定された場合、キャッシュ最適化部１１０は、処理を終了する。
【０３１６】
図２５Ａ、図２５Ｂ、及び図２５Ｃは、本発明の実施例２における制御情報生成処理の一例を説明するフローチャートである。
【０３１７】
次に、制御情報生成部１２１は、処理対象のジョブネットの中から処理対象の業務を選択する（ステップＳ９０１）。具体的には、制御情報生成部１２１は、ジョブネットにおける業務の実行順に業務を選択する。
【０３１８】
制御情報生成部１２１は、処理対象の業務がジョブネットにおける最初の業務であるか否かを判定する（ステップＳ９０２）。処理対象の業務がジョブネットにおける最初の業務でないと判定された場合、制御情報生成部１２１は、ステップＳ９０９に進む。
【０３１９】
処理対象の業務がジョブネットにおける最初の業務であると判定された場合、制御情報生成部１２１は、処理対象の業務において使用されるファイルを特定し（ステップＳ９０３）、さらに、特定されたファイルが格納されるＬＵを特定する（ステップＳ９０４）。ステップＳ９０３及びステップＳ９０４の処理は、ステップＳ４０１及びステップＳ４０２の処理と同一である。
【０３２０】
制御情報生成部１２１は、ステップＳ９０３において特定されたファイルの中から処理対象のファイルを一つ選択する（ステップＳ９０５）。制御情報生成部１２１は、処理対象のファイルが最上位の階層の階層記憶領域３３０に格納されているか否かを判定する（ステップＳ９０６）。ステップＳ９０６の処理は、ステップＳ５０６の処理と同一である。
【０３２１】
なお、ステップＳ９０６の処理は省略することもできる。この場合、記憶サーバ３００は、階層制御情報１３１０を含む制御情報を受信した後、処理対象のファイルが最上位の階層の階層記憶領域３３０に格納されているか判定する。処理対象のファイルが最上位の階層の階層記憶領域３３０に格納されている場合にのみ、記憶サーバ３００は、制御情報に含まれる階層制御情報１３１０にしたがって、処理を実行する。
【０３２２】
処理対象のファイルが最上位の階層の階層記憶領域３３０に格納されていると判定された場合、制御情報生成部１２１は、ステップＳ９０８に進む。これは、すでに、処理対象のファイルは最上位の階層の階層記憶領域３３０に格納されているため、当該ファイルの格納位置を変更する必要がないためである。
【０３２３】
処理対象のファイルが最上位の階層の階層記憶領域３３０に格納されていないと判定された場合、制御情報生成部１２１は、階層制御情報１３１０を生成し（ステップＳ９０７）、その後、ステップＳ９０８に進む。ステップＳ９０７の処理は、ステップＳ５０７の処理とほぼ同一であるが、階層制御情報１３１０に設定される情報が異なる。
【０３２４】
制御情報生成部１２１は、コマンドを生成した後、階層制御情報１３１０にエントリを追加する。制御情報生成部１２１は、追加されたエントリの業務ＩＤ１３１１に処理対象の業務の識別子、アラート２１０１に「タイマ」を設定する。また、制御情報生成部１２１は、追加されたエントリのファイルＩＤ１３１２にステップＳ９０５において選択された処理対象のファイルの識別子、種別１３１３に「ＵＰ」、コマンド１３１４に生成されたコマンドを設定する。
【０３２５】
以上がステップＳ９０７の処理の説明である。
【０３２６】
制御情報生成部１２１は、全てのファイルについて処理が完了したか否かを判定する（ステップＳ９０８）。全てのファイルについて処理が完了していないと判定された場合、制御情報生成部１２１は、ステップＳ９０５に戻り、同様の処理を実行する。
【０３２７】
制御情報生成部１２１は、ステップＳ９０１において選択された処理対象の業務において使用されるファイルを特定し（ステップＳ９０９）、さらに、特定されたファイルが格納されるＬＵを特定する（ステップＳ９１０）。ステップＳ９０９及びステップＳ９１０の処理は、ステップＳ４０１及びステップＳ４０２の処理と同一である。なお、処理対象の業務がジョブネットにおける最初の業務の場合、ステップＳ９０３及びステップＳ９０４において、ステップＳ９０９及びステップＳ９１０と同一の処理が実行されている。そのため、この場合、ステップＳ９０９及びステップＳ９１０の処理を省略することができる。
【０３２８】
制御情報生成部１２１は、特定されたファイルの中から処理対象のファイルを一つ選択する（ステップＳ９１１）。制御情報生成部１２１は、処理対象のファイルが最下位の階層の階層記憶領域３３０に格納されているか否かを判定する（ステップＳ９１２）。ステップＳ９１２の処理は、ステップＳ４０５の処理と同一である。
【０３２９】
処理対象のファイルが最下位の階層の階層記憶領域３３０に格納されていると判定された場合、制御情報生成部１２１は、ステップＳ９１４に進む。これは、処理対象のファイルの格納位置を変更する必要がないためである。
【０３３０】
処理対象のファイルが最下位の階層の階層記憶領域３３０に格納されていないと判定された場合、制御情報生成部１２１は、階層制御情報１３１０を生成し（ステップＳ９１３）、その後、ステップＳ９１４に進む。ステップＳ９１３の処理は、ステップＳ４０６の処理とほぼ同一であるが、一部処理が異なる。具体的には以下のような処理が実行される。
【０３３１】
制御情報生成部１２１は、コマンドを生成した後、処理対象の業務の終了を検知するためのファイルのアドレスを決定する。制御情報生成部１２１は、階層制御情報１３１０にエントリを追加する。
【０３３２】
制御情報生成部１２１は、追加されたエントリの業務ＩＤ１３１１にステップＳ９０２において選択された処理対象の業務の識別子、アラート２１０１にステップＳ９１３において決定されたファイルの識別子及びアドレスを設定する。また、制御情報生成部１２１は、追加されたエントリのファイルＩＤ１３１２に処理対象のファイルの識別子、種別１３１３に「ＤＯＷＮ」、コマンド１３１４に生成されたコマンドを設定する。
【０３３３】
なお、ファイルのアドレスの決定方法としては、以下のような方法が考えられる。まず、業務サーバ２００に予め処理対象の業務を実行させる。このとき、制御情報生成部１２１が、キャッシュドライバ２１３からアクセス特定に関する情報を取得する。制御情報生成部１２１は、取得したアクセス特性に関する情報を解析し、処理対象のファイルの終了を検知するためのアドレスを決定し、履歴情報として蓄積する。制御情報生成部１２１は、当該履歴情報に基づいて、処理対象の業務の終了を検知するためのアドレスを決定する。なお、前述したアドレスの決定方法は一例であって本発明はこれに限定されない。
【０３３４】
以上がステップＳ９１３の処理の説明である。
【０３３５】
制御情報生成部１２１は、全てのファイルについて処理が完了したか否かを判定する（ステップＳ９１４）。全てのファイルについて処理が完了していないと判定された場合、制御情報生成部１２１は、ステップＳ９１１に戻り、同様の処理を実行する。
【０３３６】
全てのファイルについて処理が完了したと判定された場合、制御情報生成部１２１は、処理対象の業務の次に実行される関連業務が存在するか否かを判定する（ステップＳ９１５）。具体的には、制御情報生成部１２１は、処理対象の業務に対応するエントリの関連業務ＩＤ６０６に他の業務の識別子が格納されているか否を判定する。
【０３３７】
処理対象の業務の次に実行される関連業務が存在しないと判定された場合、制御情報生成部１２１は、ステップＳ９２２に進む。
【０３３８】
処理対象の業務の次に実行される関連業務が存在すると判定された場合、制御情報生成部１２１は、関連業務において使用されるファイルを特定し（ステップＳ９１６）、さらに、特定されたファイルが格納されるＬＵを特定する（ステップＳ９１７）。ステップＳ９１６及びステップＳ９１７の処理は、ステップＳ４０１及びステップＳ４０２の処理と同一である。
【０３３９】
制御情報生成部１２１は、ステップＳ９１６において特定されたファイルの中から処理対象のファイルを一つ選択する（ステップＳ９１８）。制御情報生成部１２１は、処理対象のファイルが最上位の階層の階層記憶領域３３０に格納されているか否かを判定する（ステップＳ９１９）。ステップＳ９１９の処理は、ステップＳ５０６の処理と同一である。
【０３４０】
処理対象のファイルが最上位の階層の階層記憶領域３３０に格納されていると判定された場合、制御情報生成部１２１は、ステップＳ９２１に進む。これは、すでに、処理対象のファイルは最上位の階層の階層記憶領域３３０に格納されているため、当該ファイルの格納位置を変更する必要がないためである。
【０３４１】
処理対象のファイルが最上位の階層の階層記憶領域３３０に格納されていないと判定された場合、制御情報生成部１２１は、階層制御情報１３１０を生成し（ステップＳ９２０）、その後、ステップＳ９２１に進む。ステップＳ９２０の処理は、ステップＳ４０６の処理とほぼ同一であるが、階層制御情報１３１０に設定される情報が異なる。
【０３４２】
制御情報生成部１２１は、コマンドを生成した後、階層制御情報１３１０にエントリを追加する。
【０３４３】
制御情報生成部１２１は、追加されたエントリの業務ＩＤ１３１１に関連業務の識別子、アラート２１０１に、ステップＳ９１３において決定されたファイルの識別子及びアドレスを設定する。また、制御情報生成部１２１は、追加されたエントリのファイルＩＤ１３１２にステップＳ９１８において選択された処理対象のファイルの識別子、種別１３１３に「ＵＰ」、コマンド１３１４に生成されたコマンドを設定する。
【０３４４】
以上がステップＳ９２０の処理の説明である。
【０３４５】
制御情報生成部１２１は、全てのファイルについて処理が完了したか否かを判定する（ステップＳ９２１）。全てのファイルについて処理が完了していないと判定された場合、制御情報生成部１２１は、ステップＳ９１８に戻り、同様の処理を実行する。
【０３４６】
全てのファイルについて処理が完了したと判定された場合、キャッシュ最適化部１１０は、アラート設定情報生成部１２２を読み出し、アラート設定情報生成処理の実行を指示し（ステップＳ９２２）、その後、ステップＳ９２３に進む。アラート設定情報生成処理の詳細は、図２６を用いて後述する。制御情報生成部１２１は、アラート設定情報生成部１２２から処理完了の通知を受けつけるまで待ち状態となる。
【０３４７】
制御情報生成部１２１は、アラート設定情報生成部１２２から処理完了の通知を受けつけた後、ジョブネットに含まれる全ての業務について処理が完了したか否かを判定する（ステップＳ９２３）。ジョブネットに含まれる全ての業務について処理が完了していないと判定された場合、制御情報生成部１２１は、ステップＳ９０１に戻り、同様の処理を実行する。
【０３４８】
図２６は、本発明の実施例２におけるアラート設定情報生成処理の一例を説明するフローチャートである。
【０３４９】
アラート設定情報生成部１２２は、処理対象の業務がジョブネットにおける最初の業務であるか否かを判定する（ステップＳ１００１）。処理対象の業務がジョブネットにおける最初の業務でないと判定された場合、アラート設定情報生成部１２２は、ステップＳ１００３に進む。
【０３５０】
処理対象の業務がジョブネットにおける最初の業務であると判定された場合、アラート設定情報生成部１２２は、アラート設定情報２１５を生成し、生成されたアラート設定情報２１５に開始通知情報２２００を設定する（ステップＳ１００２）。具体的には、以下のような処理が実行される。
【０３５１】
アラート設定情報生成部１２２は、業務管理情報１３１のスケジュール６０５を参照し、業務開始を通知するアラート情報を送信する時刻を決定する。ここでは、ジョブネットの最初の業務の開始時間の１５分前を当該時刻として決定するものとする。なお、本発明は時刻の決定方法に限定されない。
【０３５２】
アラート設定情報生成部１２２は、開始通知情報２２００の業務ＩＤ２２０１にステップＳ９０１において選択された処理対象の業務の識別子を設定し、開始通知タイマ２２０２に決定された時刻を設定する。
【０３５３】
以上がステップＳ１００２の処理の説明である。
【０３５４】
アラート設定情報生成部１２２は、アラート設定情報２１５に終了通知情報２２１０を設定し（ステップＳ１００３）、生成されたアラート設定情報２１５を業務サーバ２００に送信する（ステップＳ１００４）。アラート設定情報生成部１２２は、制御情報生成部１２１に処理完了を通知した後、処理を終了する。具体的には以下のような処理が実行される。
【０３５５】
アラート設定情報生成部１２２は、階層制御情報１３１０を参照し、業務ＩＤ１３１１がステップＳ９０１において選択された処理対象の業務の識別子と一致するエントリを検索する。アラート設定情報生成部１２２は、終了通知情報２２１０にエントリを追加する。
【０３５６】
アラート設定情報生成部１２２は、階層制御情報１３１０から検索されたエントリの情報を、終了通知情報２２１０に追加されたエントリに設定する。具体的には、アラート設定情報生成部１２２は、ステップＳ９０１において選択された業務の識別子を業務ＩＤ２２１１に設定し、ファイルＩＤ１３１２に格納されるファイルの識別子をファイルＩＤ２２１２に設定し、アラート２１０１に格納されるアドレスをアドレス２２１３に設定する。
【０３５７】
アラート設定情報生成部１２２は、業務管理情報１３１を参照し、業務ＩＤ６０１が処理対象の業務の識別子と一致するエントリを検索する。アラート設定情報生成部１２２は、検索された業務サーバＩＤ６０２に基づいて、アラート設定情報２１５を送信する業務サーバ２００を特定する。さらに、アラート設定情報生成部１２２は、特定された業務サーバ２００にアラート設定情報２１５を送信する。
【０３５８】
以上がステップＳ１００３及びステップＳ１００４の処理の説明である。
【０３５９】
なお、業務サーバ２００は、アラート設定情報２１５を受信した場合、以下のような処理を実行する。業務サーバ２００のＯＳ２１０は、管理サーバ１００からアラート設定情報２１５を受信すると、既にアラート設定情報２１５が存在するか否かを判定する。既にアラート設定情報２１５が存在すると判定された場合、ＯＳ２１０は、既存のアラート設定情報２１５に新たなアラート設定情報２１５をマージする。
【０３６０】
また、業務サーバ２００は、以下のような処理に基づいて、管理サーバ１００にアラート情報を送信する。
【０３６１】
キャッシュドライバ２１３は、開始通知情報２２００の開始通知タイマ２２０２に設定された時刻を経過すると、業務ＩＤ２２０１を含むアラート情報を管理サーバ１００に送信する。その後、キャッシュドライバ２１３は、アラート設定情報２１５に基づいてアプリケーション２２０からのアクセス要求を監視する。
【０３６２】
キャッシュドライバ２１３は、業務の終了を検知した場合、管理サーバ１００に、業務ＩＤ２２１１、ファイルＩＤ２２１２、及びアドレス２２１３を含むアラート情報を送信する。
【０３６３】
図２７Ａ及び図２７Ｂは、本発明の実施例２における格納場所変更処理の一例を説明するフローチャートである。
【０３６４】
キャッシュ最適化部１１０は、アラート情報を受信すると、制御情報生成部１２１を呼び出す。呼び出された制御情報生成部１２１は、業務サーバ２００から受信したアラート情報が業務開始を通知するアラート情報であるか否かを判定する（ステップＳ１１０１）。業務サーバ２００から受信したアラート情報が業務開始を通知するアラート情報であると判定された場合、制御情報生成部１２１は、ステップＳ１１０７に進む。
【０３６５】
一方、業務サーバ２００から受信したアラート情報が業務終了を通知するアラート情報であると判定された場合、制御情報生成部１２１は、階層制御情報１３１０を参照し、処理対象のファイルに対応するエントリの中から、種別１３１３が「ＤＯＷＮ」であるエントリを抽出する（ステップＳ１１０２）。具体的には、以下のような処理が実行される。
【０３６６】
制御情報生成部１２１は、階層制御情報１３１０を参照し、アラート２１０１に、業務終了を通知するアラート情報に含まれるファイルＩＤ２２１２及びアドレス２２１３と一致するファイルの識別子及びアドレスが格納されるエントリを検索する。
【０３６７】
制御情報生成部１２１は、検索されたエントリの種別１３１３が「ＤＯＷＮ」であるエントリを抽出する。制御情報生成部１２１は、抽出されたエントリに基づいてリストを生成し、生成されたリストを一時的に保持する。
【０３６８】
制御情報生成部１２１は、抽出されたエントリの中から処理対象のエントリを一つ選択する（ステップＳ１１０３）。ここでは、制御情報生成部１２１は、リストの上のエントリから順に選択するものとする。
【０３６９】
制御情報生成部１２１は、選択されたエントリのファイルＩＤ１３１２に対応するファイルについてのキャッシュ制御情報１３００を生成する（ステップＳ１１０４）。具体的には、以下のような処理が実行される。
【０３７０】
制御情報生成部１２１は、ストレージキャッシュ３２０から、選択されたエントリのファイルＩＤ１３１２に対応するファイルのキャッシュデータを追い出すためのコマンドを生成する。制御情報生成部１２１は、キャッシュ制御情報１３００にエントリを追加する。
【０３７１】
制御情報生成部１２１は、追加されたエントリの業務ＩＤ１３０１に、選択されたエントリの業務ＩＤ１３１１と同一の情報を設定する。また、制御情報生成部１２１は、追加されたエントリのファイルＩＤ１３０２にファイルＩＤ１３１２と同一のファイルの識別子、種別１３０３に「削除」、コマンド１３０４に生成されたコマンドを設定する。
【０３７２】
以上がステップＳ１１０４の処理の説明である。
【０３７３】
制御情報生成部１２１は、抽出された全てのエントリについて処理が完了したか否かを判定する（ステップＳ１１０５）。抽出された全てのエントリについて処理が完了していないと判定された場合、制御情報生成部１２１は、ステップＳ１１０３に戻り、同様の処理を実行する。
【０３７４】
抽出された全てのエントリについて処理が完了したと判定された場合、制御情報生成部１２１は、ステップＳ１１０４において生成されたキャッシュ制御情報１３００を業務サーバ２００に送信する（ステップＳ１１０６）。このとき、制御情報生成部１２１は、制御管理情報１３８からキャッシュ制御情報１３００を削除する。
【０３７５】
制御情報生成部１２１は、記憶サーバ３００からストレージキャッシュ情報を取得する（ステップＳ１１０７）。このとき、制御情報生成部１２１は、取得されたストレージキャッシュ情報に基づいて、ストレージキャッシュ管理情報１３３を更新する。
【０３７６】
制御情報生成部１２１は、階層制御情報１３１０を参照し、処理対象のファイルのエントリの中から、種別１３１３が「ＵＰ」であるエントリを抽出する（ステップＳ１１０８）。具体的には、制御情報生成部１２１は、階層制御情報１３１０を参照し、アラート２１０１に、業務終了を通知するアラート情報に含まれるファイルＩＤ２２１２及びアドレス２２１３と一致するファイルの識別子及びアドレスが格納されるエントリを検索する。さらに、制御情報生成部１２１は、検索されたエントリの種別１３１３が「ＵＰ」であるエントリを抽出する。制御情報生成部１２１は、抽出されたエントリに基づいてリストを生成し、生成されたリストを一時的に保持する。
【０３７７】
制御情報生成部１２１は、抽出されたエントリの中から処理対象のエントリを一つ選択する（ステップＳ１１０９）。ここでは、制御情報生成部１２１は、リストの上のエントリから順に選択するものとする。
【０３７８】
制御情報生成部１２１は、ストレージキャッシュ３２０に処理対象のファイルを格納できるか否かを判定する（ステップＳ１１１０）。ステップＳ１１１０の処理は、ステップＳ５０５の処理と同一である。
【０３７９】
ストレージキャッシュ３２０に処理対象のファイルを格納できると判定された場合、制御情報生成部１２１は、選択されたエントリのファイルＩＤ１３１２に対応するファイルについてのキャッシュ制御情報１３００を生成する（ステップＳ１１１１）。具体的には、以下のような処理が実行される。
【０３８０】
制御情報生成部１２１は、ストレージキャッシュ３２０に、処理対象のファイルのキャッシュデータを格納するためのコマンドを生成する。制御情報生成部１２１は、キャッシュ制御情報１３００にエントリを追加する。
【０３８１】
制御情報生成部１２１は、追加されたエントリの業務ＩＤ１３０１に、選択されたエントリの業務ＩＤ１３１１と同一の情報を設定する。また、制御情報生成部１２１は、追加されたエントリのファイルＩＤ１３０２にファイルＩＤ１３１２と同一のファイルの識別子、種別１３０３に「追加」、コマンド１３０４に生成されたコマンドを設定する。
【０３８２】
以上が、ステップＳ１１１１の処理の説明である。
【０３８３】
制御情報生成部１２１は、抽出された全てのエントリについて処理が完了したか否かを判定する（ステップＳ１１１２）。抽出された全てのエントリについて処理が完了していないと判定された場合、制御情報生成部１２１は、ステップＳ１１０９に戻り、同様の処理を実行する。
【０３８４】
抽出された全てのエントリについて処理が完了したと判定された場合、制御情報生成部１２１は、業務サーバ２００に、処理対象のファイルに関するキャッシュ制御情報１３００及び階層制御情報１３１０を送信し（ステップＳ１１１３）、処理を終了する。具体的には、以下のような処理が実行される。
【０３８５】
制御情報生成部１２１は、階層制御情報１３１０を参照し、アラート２１０１に、業務終了を通知するアラート情報に含まれるファイルＩＤ２２１２及びアドレス２２１３と一致するファイルの識別子及びアドレスが格納されるエントリを抽出する。
【０３８６】
制御情報生成部１２１は、ステップＳ１１１１において生成されたキャッシュ制御情報１３００と、抽出されたエントリとを含む制御情報を記憶サーバ３００に送信する。
【０３８７】
実施例２によれば、管理サーバ１００は、業務サーバ２００のキャッシュドライバ２１３と連携し、ジョブネット等の業務の実行スケジュールに合わせて、業務データの配置を最適化することができる。これによって、業務サーバ２００上で稼動するアプリケーション２２０の処理性能が向上する。
【０３８８】
また、階層を変更する場合、キャッシュ最適化部１１０は、ストレージキャッシュ３２０に対する制御も並列して実行するため、アプリケーション２２０の処理性能をより向上させることができる。また、キャッシュ最適化部１１０が、制御ポリシに基づいて、自動的かつ動的に、ファイルの格納場所を変更するため、計算機システムの管理コストを低減することができる。
【０３８９】
なお、本発明において説明した計算機等の構成、処理部及び処理手段等は、それらの一部又は全部を、専用のハードウェアによって実現してもよい。また、本実施例で例示した種々のソフトウェアは、電磁的、電子的及び光学式等の種々の記録媒体（例えば、非一時的な記憶媒体）に格納可能であり、インターネット等の通信網を通じて、コンピュータにダウンロード可能である。
【０３９０】
また、本発明では、物理的な業務サーバ２００を前提に説明をしたが、業務サーバ２００は仮想計算機であってもよい。
【０３９１】
また、実施例１及び実施例２を組み合わせてもよい。業務の運用前に実施例２に示した処理を適用し、業務の運用中に実施例１に示した処理を適用することが考えられる。
【０３９２】
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
【符号の説明】
【０３９３】
１００  管理サーバ
１１０  キャッシュ最適化部
１２１  制御情報生成部
１２２  アラート設定情報生成部
１３１  業務管理情報
１３２  サーバキャッシュ管理情報
１３３  ストレージキャッシュ管理情報
１３４  ファイル管理情報
１３５  ストレージ構成管理情報
１３６  階層管理情報
１３７  制御ポリシ情報
１３８  制御管理情報
２００  業務サーバ
２１０  ＯＳ
２２０  アプリケーション
２３０  サーバキャッシュ
３００  記憶サーバ
３１０  記憶領域管理ＯＳ
３２０  ストレージキャッシュ
３３０  階層記憶領域
４００  管理用ネットワーク
４１０  業務用ネットワーク
【図１】
2015087837.tif 000003
【図２】
2015087837.tif 000004
【図３】
2015087837.tif 000005
【図４】
2015087837.tif 000006
【図５】
2015087837.tif 000007
【図６】
2015087837.tif 000008
【図７】
2015087837.tif 000009
【図８】
2015087837.tif 000010
【図９】
2015087837.tif 000011
【図１０】
2015087837.tif 000012
【図１１】
2015087837.tif 000013
【図１２】
2015087837.tif 000014
【図１３】
2015087837.tif 000015
【図１４】
2015087837.tif 000016
【図１５】
2015087837.tif 000017
【図１６】
2015087837.tif 000018
【図１７】
2015087837.tif 000019
【図１８】
2015087837.tif 000020
【図１９】
2015087837.tif 000021
【図２０Ａ】
2015087837.tif 000022
【図２０Ｂ】
2015087837.tif 000023
【図２１】
2015087837.tif 000024
【図２２】
2015087837.tif 000025
【図２３】
2015087837.tif 000026
【図２４】
2015087837.tif 000027
【図２５Ａ】
2015087837.tif 000028
【図２５Ｂ】
2015087837.tif 000029
【図２５Ｃ】
2015087837.tif 000030
【図２６】
2015087837.tif 000031
【図２７Ａ】
2015087837.tif 000032
【図２７Ｂ】
2015087837.tif 000033