(57)【特許請求の範囲】
【請求項１】
上位階層記憶領域及び下位階層記憶領域を有する階層ストレージの前記上位階層記憶領域の利用状況を記憶する記憶部と、
前記階層ストレージに格納されたデータのうち、インデクス更新候補となるデータのインデクス処理と、該データを前記下位階層記憶領域に移動させるマイグレーション処理との何れを優先処理するかを前記利用状況に応じて判定する判定部と、
前記判定結果に基づいて、前記インデクス更新候補となるデータを前記下位階層記憶領域に移動させる制御部と、を有する計算機システム。
【請求項２】
請求項１に記載の計算機システムであって、
前記上位階層記憶領域の利用状況には、前記上位階層記憶領域の使用量又は未使用量に関する情報が少なくとも含まれ、
前記判定部が、
前記上位階層記憶領域の使用量が所定の容量より少ないとき、前記インデクス処理を優先処理すると判定する計算機システム。
【請求項３】
請求項１に記載の計算機システムであって、
前記制御部が、前記判定部の判定結果がマイグレーションを優先処理するものである場合、前記インデクス処理が実行されていない前記インデクス更新候補となるデータを前記下位階層記憶領域に移動させる計算機システム。
【請求項４】
請求項３に記載の計算機システムであって、
前記制御部が、前記インデクス処理が実行された前記インデクス更新候補となるデータを、前記インデクス処理が実行されていない前記インデクス更新候補となるデータよりも先に、前記下位階層記憶領域に移動させる計算機システム。
【請求項５】
請求項３に記載の計算機システムであって、
前記制御部が、前記下位階層記憶領域に移動した前記インデクス処理が実行されていない前記インデクス更新候補となるデータを、前記上位階層記憶領域に再移動させて、
前記判定部が、前記インデクス更新候補となるデータとして次回の前記判定の対象とする計算機システム。
【請求項６】
請求項５に記載の計算機システムであって、
前記制御部が、前記上位階層記憶領域の利用状況に応じて、前記下位階層記憶領域に移動した前記インデクス処理が実行されていない前記インデクス更新候補となるデータを、前記上位階層記憶領域に再移動させる計算機システム。
【請求項７】
請求項１に記載の計算機システムであって、
前記計算機システムは、要求に応じて前記階層ストレージに格納されたデータの検索処理を行う検索装置を備え、
前記判定部は、前記検索装置に含まれる計算機システム。
【請求項８】
請求項１に記載の計算機システムであって、
前記計算機システムは、前記階層ストレージを管理する管理装置を含み、
前記判定部は、前記管理装置に含まれる計算機システム。
【請求項９】
請求項１に記載の計算機システムであって、
前記計算機システムは、要求に応じて前記階層ストレージに格納されたデータの検索処理を行う検索装置と、前記階層ストレージを管理する管理装置と、該検索装置及び管理装置とは異なり、それらとデータ通信可能に接続された制御装置とを含み、
前記判定部は、前記制御装置に含まれる計算機システム。
【請求項１０】
格納するデータの利用状況に応じて、データを格納する記憶領域を階層的に管理する階層ストレージを有する計算機システムのデータ管理方法であって、
前記計算機システムの制御部が、
前記階層ストレージの上位階層記憶領域の利用状況を取得するステップと、
前記利用状況に応じて、前記階層ストレージに格納されたデータのインデクス更新候補となるデータのインデクス処理と、該データを前記階層ストレージの下位階層記憶領域に移動させるマイグレーション処理との何れを優先するかを決定するステップと、
前記決定に応じて、前記インデクス更新候補となるデータのインデクス処理又はマイグレーション処理を実行させるステップと、
を含むデータ管理方法。
【請求項１１】
格納するデータのライフサイクルに応じて、データを格納する記憶領域を階層的に管理する階層ストレージを有するコンピュータに、
前記階層ストレージの上位階層記憶領域の利用状況を取得させる手順と、
前記利用状況に応じて、前記階層ストレージに格納されたデータのうちインデクス更新候補となるデータのインデクス処理を実行するか否かを決定させる手順と、
前記決定がインデクス処理を実行しないものである場合、前記インデクス更新候補のファイルのインデクス処理をせずに、該ファイルを前記階層ストレージの下位階層記憶領域にマイグレーションさせる手順と、
を実行させるプログラムを格納する前記コンピュータ読み取り可能な非一時的な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システム、データ管理方法及びプログラムを格納する記録媒体に係り、階層ストレージを用いた計算機システム、そのデータ管理方法及びそのプログラムを格納する記録媒体に関する。
【背景技術】
【０００２】
格納するデータの量の増加は、所望するデータの格納場所の管理が煩雑・複雑になるという問題を招来する。近年では、このような問題に対して、全文検索サービスやメタデータ検索サービスが利用されるようになってきている。【０００３】
全文検索サービスは、コンピュータシステムに格納されているファイル等のデータを検索サーバが解析し、検索インデックスを事前に作成する。利用者は、検索サーバに対して所望するデータを検索するための検索クエリを送信し、その検索結果をもとに対象データにアクセスすることができる。【０００４】
メタデータ検索サービスは、検索対象データに含まれるメタデータ名並びにメタデータ値の組からなるデータを抽出し、それらの検索インデックスを事前に作成する。利用者は、検索サーバに対して、それらメタデータ名とメタデータ値に関する検索条件を指定することで検索結果を取得することができる。
ビッグデータ利活用を始めとして、近年、コンピュータシステムで扱うデータ量は加速度的に増加する傾向にあり、ファイル等の検索サービスは益々重要になることが予測される。【０００５】
一般に、保管するデータ量が増加すると保管コストも増加することになる。この保管コストを下げる方法として、例えば、特許文献１には、高価で高性能な上位階層ストレージと、安価で低性能な下位階層ストレージとを組み合わせて、仮想的に容量あたりの保管コストが低減されたストレージシステムが開示されている。即ち階層ストレージの技術である。【０００６】
階層ストレージでは、階層制御サーバが、保管ファイルの利用状況に基づいて適切なストレージにファイルを格納するようになっている。例えば、最初は上位階層ストレージに格納し、以降、そのデータに対するアクセス頻度が少ないデータは、下位階層ストレージにマイグレーションするようになっている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】米国特許第５，７６４，９７２号
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、階層ストレージを利用してＤＷＨ（Ｄａｔａ  Ｗａｒｅ  Ｈｏｕｓｅ）を提供している環境において、新たに検索サーバを追加して検索サービスを提供しようとする場合、マイグレーション処理と、検索用のインデックスの更新処理とを実行するタイミングの調整が困難であるという問題がある。【０００９】
例えば、インデックス更新が完了していないデータを上位階層ストレージから下位階層ストレージにマイグレーションする場合を考える。下位階層ストレージに対するマイグレーション処理が終わった後に、インデックス更新処理を行う場合、階層ストレージで、逆方向（下位階層から上位階層へ）のデータマイグレーションを行うという負荷が発生する。
特に、下位階層ストレージが、アクセス性能が比較的低いテープ装置で構成される場合、所望するデータの逆マイグレーションに対する応答性能が更に悪化する虞がある。【００１０】
データのインデクス処理と、マイグレーション処理を効率よく共存させるためには、インデクス更新を実行するサーバと、マイグレーションを管理するサーバにおける処理スケジュールを調整することも考えられる。即ちインデクスの作成処理が終了してから、マイグレーション処理を開始させるような場合である。より具体的には、各処理に一定の順序性を持たせるようにスケジュール時刻で制御したり、格納されたデータ等に各処理の完了等に関する属性情報を関連付けし、これをチェックすることで夫々の処理を実行したりするような制御も考えられる。【００１１】
しかしながら、このようなスケジュールの順序を制御する場合、マイグレーション実行間隔とインデックス更新間隔を、夫々のサーバの都合で別々に設定する必要があるという煩雑さがある。特に、大量データ制御を扱う近年の情報システムでは、ＤＷＨで管理されるデータについて、複数の検索サーバがアクセスする構成も頻繁に利用されており、これら各サーバの時刻設定は、その利便性を大いに欠く虞がある。【００１２】
他方、属性情報を用いた制御は、データ毎に属性を管理しなければならないという処理負荷の課題がある。大量データ制御が要求される近年の情報システムにおいて、このような管理時間も膨大になり又それに利用するリソースコストも増加する虞がある。
【課題を解決するための手段】
【００１３】
上述の課題を解決するために、例えば、請求項１に記載の構成を適用する。例えば、上位階層記憶領域及び下位階層記憶領域を有する階層ストレージの前記上位階層記憶領域の利用状況を記憶する記憶部と、
前記階層ストレージに格納されたデータのうち、インデクス更新候補となるデータのインデクス処理と、該データを前記下位階層記憶領域に移動させるマイグレーション処理との何れを優先処理するかを前記利用状況に応じて判定する判定部と、
前記判定結果に基づいて、前記インデクス更新候補となるデータを前記下位階層記憶領域に移動させる制御部と、を有する計算機システムである。
【発明の効果】
【００１４】
本発明の一側面によれば、階層ストレージに上位階層記憶領域の利用状況に応じてインデクス更新候補データのインデクシングを実行することができ、インデクス処理とマイグレーション処理のスケジューリングを不要とし、又階層ストレージの負荷を助長することなく、インデクス処理を実行することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明を適用した第１実施形態である計算機システムの動作原理の概要を示す模式図である。
【図２】第１実施形態の計算機システムの構成を模式的に示すブロック図である。
【図３】第１実施形態の計算機システムで利用するパス管理情報の一例を示す模式図である。
【図４】第１実施形態の計算機システムで利用する階層ストレージ構成情報の一例を示す模式図である。
【図５】第１実施形態の計算機システムで利用するインデクス管理情報の一例を示す模式図である。
【図６】第１実施形態の計算機システムで利用するマイグレーション定義の一例を示す模式図である。
【図７】第１実施形態の計算機システムで利用するインデクス登録情報の一例を示す模式図である。
【図８】第１実施形態の計算機システムで利用するストレージ管理情報の一例を示す模式図である。
【図９】第１実施形態の計算機システムで利用する順序条件情報の一例を示す模式図である。
【図１０】第１実施形態の計算機システムで実行する「インデクス更新処理」の流れを示すフロー図である。
【図１１】第１実施形態の計算機システムで実行する「マイグレーション処理」の流れを示すフロー図である。
【図１２】第２実施形態の計算機システムで実行する「インデクス更新処理」の流れを示すフロー図である。
【発明を実施するための形態】
【００１６】
以下に、本発明を実施するための形態について詳細に説明する。
〔第１実施形態〕
先ず、図１を用いて、本発明を適用した第１実施形態である計算機システムの原理について、その概要を説明する。
計算機システムは、階層制御サーバ１、検索サーバ２、ストレージ３及びストレージ４を含み、通信線６を介してデータ通信可能に接続されてなる。検索サーバ２では、ストレージ３及び４に格納されたデータのインデクスが管理され、通信線６等を介して接続されたクライアント６からの検索要求に応じてインデクス検索が行われ、該当するデータがストレージ３又は４から読み出されて、応答結果が返信されるようになっている。
ストレージ３及び４は、ファイル形式でデータを格納するファイルストレージが適用するものとする。なお、本発明はファイルストレージに限定するものではなく、ブロックストレージにも適用できるものである。
【００１７】
ストレージ３及び４では、所謂階層ストレージが構成されている。ストレージ３は、上位階層のストレージ装置であり、処理性能の高い記録媒体が適用されるものとする。ストレージ４は、下位階層のストレージ装置であり、上位階層ストレージでの記録媒体よりもアクセス性能が比較的低い記録媒体が適用されるものである。データは、先ず上位階層のストレージ３に格納され、その後、アクセス頻度や経過時間等の所定のポリシに基づいて、下位階層のストレージ４に移動（マイグレーション）されるようになっている。
【００１８】
階層制御サーバ１では、ストレージ３から４へのデータマイグレーション処理と、ストレージ３に格納されたデータを対象としたインデクス更新処理とのいずれを優先して実行するかが決定される。その後、決定に従いそれぞれの処理が実行される。以下、処理順に従って説明する。
【００１９】
先ず、Ｓ１で、検索サーバ２の検索制御部２００は、階層制御サーバ１の階層制御部１００に対して、インデクス更新の候補となるファイル（データ）に関する情報（以下、「インデクス候補リスト」という。）を取得する要求を送信することで取得する。この取得の際の要求には、検索サーバ２において、前回インデクス更新（新規追加、上書、変更及び削除等）が実行された時間の情報（年月日及び/又は時間）が含まれる。階層制御部１００は、要求に含まれた時間情報より後に更新されたファイルに関する識別情報（ＮＡＭＥ、ＩＤ等）をインデクス候補リストに含め、検索制御部２００に返信する。
【００２０】
Ｓ２で、検索制御部２００は、階層制御サーバ１の情報提供部１０４からストレージ３及び４の容量や残容量等の利用状況に関する情報を取得し、ストレージ管理情報２１２を生成する。
Ｓ３で、検索制御部２００は、ストレージ３から４へのデータマイグレーションと、インデクシングとのいずれを優先して実行するかを決定する（「インデクス更新処理」）。この決定は、両処理の優先実行に関する条件を示す順序条件情報２１０(図９)を用いて行われる。
【００２１】
順序条件情報２１０には、上位階層のＴｉｒｅ１ストレージ３のデータ格納容量（容量利用率）と、（ファイルの更新によって）インデクスの更新を必要とするファイル数との関係毎に、優先するべき処理がマイグレーションであるかインデクシングであるかが定義されたものである。例えば、容量利用率が高い場合（８５％以上）には、マイグレーションが優先され、低い場合（８０％未満）には、インデクシングが優先され、容量利用率が８０％以上８５％未満の場合には、インデクス更新を必要とするファイル数の大小によって優先関係が定義されているものである。即ちＴｉｒｅ１ストレージ３の利用状況やインデクス更新が必要なファイル数を考慮して両処理の優先関係を決定する。
【００２２】
Ｓ４で、検索制御部２００は、インデクス更新処理を優先実行することを決定した場合、Ｓ１で取得したインデクス候補リストを参照し、階層制御サーバ１から該当するファイルを取得し、インデクシング（更新）する。
Ｓ５で、検索サーバ２は、階層制御サーバ１に対し、インデクス更新が完了したファイルについては、インデクスの更新の日時情報及びそのファイルのマイグレーション要求を示す内容が含まれた応答通知を行い、Ｓ３で、マイグレーション処理の優先実行することを決定したファイルについては、インデクス更新の日時情報の変わりに「ｎｕｌｌ」及びそのファイルのマイグレーション要求を示す内容が含まれた応答通知を送信する。
【００２３】
具体的には、「応答通知」に、インデクス更新日時に関する情報と、インデクス更新処理又はストレージ３から４にそのファイルをマイグレーションする処理の何れを優先するべきかを示す優先フラグを含める。
【００２４】
Ｓ６で、階層制御サーバ１は、応答通知を受領したファイルについて、ストレージ３から４へのマイグレーション候補としてチェックし、マイグレーションするか否かを判定する（「マイグレーション処理」）。この判定は、マイグレーション処理の実行可否を定めたマイグレーション定義１１２を利用して実行される。
Ｓ７で、階層制御サーバ１は、マイグレーション実行を決定したファイルについて、ストレージ３から４へのマイグレーション処理を実行する。
以上が、第１実施形態における計算機システムの原理概要である。
【００２５】
次に、計算機システムの具体的な構成を説明する。
図２に、その構成を模式的に示す。
計算機システムには、階層制御サーバ１、検索サーバ２、複数のストレージ３及び４が含まれ、これらが有線又は無線の通信線６を介してデータ通信可能に接続されてなる。計算機システムでは、クライアント５からの検索要求に応じて検索結果が応答されるようになっている。通信線６は、ＬＡＮ、ＷＡＮ又はインターネット等が適用できる。システム構成によっては、一部にＰＣＩを始めとする各種のバスを適用してもよい。ここで、階層制御サーバ１と、ストレージ３（Tire１）及び４（Tire２）とは、カスケードやリング形式での接続等が適用でき、階層制御サーバ１からストレージ３及び４に格納されるデータに対しては、１つのファイルパスでアクセス可能となっている。なお、本発明はこれに限定されるものではなく、階層制御サーバ１からストレージ３又は４のストアファイルに対して、それぞれ独立したファイルパスを利用するようにしてもよい。
【００２６】
また、本実施形態では、簡単のために検索サーバ２及びクライアント５が１つである例を説明するが、これらが複数構成されることも可能である。同様に、階層ストレージであるストレージ３及び４には、更に、他のストレージを階層的に追加することも可能であるし、同一階層に複数のストレージが設けられる構成とすることも可能である。
【００２７】
また、ストレージ３及び４に格納されるデータは、外部のデータソース（不図示）に格納されたデータが、ＥＴＬ（不図示）等のデータ変換機能部によって計算機システム内で利用可能なデータ形式に変換されて格納されたものとする。ＥＴＬは、物理的に他の計算機装置として構成されてもよいし、階層制御サーバ１の機能として設ける構成でもよい。  階層制御サーバ１には、汎用のサーバ装置が適用され、ＣＰＵ１０、メモリ１1、補助記憶１２及び外部装置とのデータ通信を制御するＩ/Ｆ１３が設けられる。
メモリ１１には、ＣＰＵ１０とプログラムの協働によって、階層制御部１００が実現される。また、メモリ１１には、ファイルパス管理情報１１０、階層ストレージ構成情報１１１及びマイグレーション定義１１２が保持される。
【００２８】
階層制御部１００では、ストレージ３及び４に格納されたファイルのアクセス要求及びその応答に関する制御、ストレージ３から４へのマイグレーション対象ファイルの選択やマイグレーション処理の制御が実行される。階層制御部１００には、マイグレーション対象判定部１０１、マイグレーション制御部１０２、ファイルアクセス部１０３及び情報提供部１０４の各機能部が含まれる。
【００２９】
マイグレーション対象判定部１０１では、階層制御サーバ１で管理されるファイル群の中から、ストレージ３（Tier１）からストレージ４（Tier２）に移動させる対象ファイルの選択等を行う「マイグレーション処理」が実行される。「マイグレーション処理」は、後述するマイグレーション定義１１２やシステム管理者等からマイグレーション要求用のＧＵＩ、ＣＬＩ又はＡＰＩを介して指示された内容に基づいて実行されるようになっている。
【００３０】
マイグレーション制御部１０２では、ストレージ３及び４間におけるデータマイグレーションの制御が実行される。ストア要求のあるファイルは、先ず、上位階層であるストレージ３に格納される。その後、マイグレーション制御部１０２では、ストレージ装置３に格納されたファイルのアクセス状況等が管理され、アクセス頻度の少ないファイルを下位階層のストレージ４にマイグレーションさせる制御が行われるようになっている。更に、本実施形態では、マイグレーション対象判定部１０１によってマイグレーション対象として決定されたファイルのマイグレーション指示が、ストレージ３又は４に発行されるようになっている。
【００３１】
ファイルアクセス部１０３では、検索サーバ２等の外部からの要求に対して、階層制御サーバ２で管理するファイルに対するアクセス制御が実行される。例えば、要求対象のファイルがストレージ３（Tier１）に格納されている場合、ストレージ３から対象ファイルが読み出されて提供される。他方、要求対象のファイルがストレージ４（Tier２）にマイグレーションされた後である場合、ストレージ４からストレージ３に要求対象ファイルが読み出された上で、要求元に提供されるようになっている。
【００３２】
ファイルパス管理情報１１０には、検索サーバ２においてインデクス更新処理が実行された際、該当ファイルのアクセスパス、そのファイルへのアクセス元である検索サーバ２のアドレス及び検索サーバ２でのインデクス更新時間（日時）に関する情報及び該当ファイルについて、インデクス更新処理を優先するか、マイグレーション処理を優先するかを示す優先フラグが対応付けて登録される。
【００３３】
図３に、ファイルパス管理情報１１０を模式的に示す。論理パス名１１０ａと、それに対応する物理パス名１１０ｂとが対応付けられる。これらのパスを利用してアクセスを行った検索サーバのアドレス又はホストＩＤ等が、「インデクス更新処理」における応答通知の受信時に、検索サーバ識別情報１１０ｃに登録されると共にそのインデクス更新の完了時間がインデクス更新日時１１０ｄに登録されるようになっている。ここで、論理アドレスは、ファイルの物理アドレスが変更されても変更されることがない。アクセス時にファイルアクセス部１０３によって、論理／物理アドレスの変換が行われるようになっている。従って、ストレージ３から４にファイルが移動されても、そのファイルの物理パス（フルパス）が、従前の論理パスと新たに対応付けられるようになっている。
【００３４】
更に、検索サーバ２からの応答通知に含まれた優先処理に関する情報が、優先フラグ１１０ｅに登録される。当該ファイルについてインデクス処理を優先する場合には「インデクス」が、マイグレーションを優先する場合には「マイグレーション」が登録されるようになっている。
なお、検索サーバ２からの応答通知が受信されるまでは、検索サーバ識別情報１１０ｃ及びインデクス更新日時１１０ｄには、「ｎｕｌｌ」が登録されるようになっている。「ｎｕｌｌ」が登録されている場合、そのファイルに対しては「インデクス更新処理」が完了していないことが判断できる。
【００３５】
これら検索サーバ識別情報１１０ｃ並びにインデクス更新日時１１０ｄを利用することで、ファイルの最新の内容がインデクスに反映される前にＴｉｅｒ２ストレージ４にファイルがマイグレートされてしまったファイルを抽出できるようになる。具体的には、物理パス名１１０ｂの中にＴｉｅｒ２ストレージ４が登録されていて、検索サーバ２からインデクス候補リストを要求された際に、その検索サーバ２の識別情報がファイルパス管理情報１１０における検索サーバ識別情報１１０ｃと同じであって、検索サーバ２から指定された前回のインデクス更新日時がインデクス更新日時１１０ｄよりも後の日時であって、ファイルの最終更新日時が検索インデクス更新日時１１０ｄよりも後の場合である。
【００３６】
情報提供部１０４では、階層制御サーバ２に接続されたサーバやストレージの構成に関する情報が階層ストレージ構成情報１１１（図４）を用いて管理されると共にストレージ管理情報２１２（図８）として検索サーバ２に管理させる情報の取得・提供が行われる。ストレージ管理情報２１２（図８）については後述する。
【００３７】
図４に、階層ストレージ構成情報１１１を模式的に示す。階層ストレージ構成情報１１１には、Ｔｉｅｒ名１１１ａと、ストレージ識別情報１１１ｂと、メディア種別１１１ｃと、アクセスプロトコル１１１ｄ等との情報が対応づけて登録される。
【００３８】
Ｔｉｅｒ名１１１ａには、ストレージの管理階層を示すための情報が登録される。例えば、Ｔｉｅｒ１ストレージとして利用する場合は「Ｔｉｅｒ１」と登録される。ストレージ識別情報１１１ｂには、利用ストレージの識別情報として、ＩＰアドレスやホスト名が格納される。メディア種別１１１ｃには、ストレージで利用している記録媒体の種別を示す情報が格納される。例えば、「ＳＳＤ」、「ＨＤＤ」又は「磁気テープ」等である。なお、更に詳細な情報を登録するようにしてもよい。例えば、ＨＤＤを利用している場合であれば、シリアル番号や、ＳＡＳ若しくはＳＡＴＡ等のストレージインタフェースに関する情報や、ベンダ名等を登録するようにしてもよい。また、テープ装置の場合であれば、テープカートリッジの識別情報や、装置ベンダ名などを登録するようにしてもよい。
【００３９】
アクセスプロトコル１１１ｄには、ストレージに対してアクセス要求が出される場合、利用するアクセスプロトコルを示す情報が格納される。例えば、ＮＦＳ(Network File System)プロトコルやＬＴＦＳ(Linear Tape File System)プロトコル等である。なお、
より詳細な情報を追加してもよい。例えば、アクセスの際に認証処理が必要な場合は、その認証方法を識別するための情報を格納してもよい。
【００４０】
図６に、マイグレーション定義１１２を模式的に示す。マイグレーション定義１１２には、階層制御部１００がマイグレーションするファイルを選択するためのアルゴリズムやポリシが登録される。例えば、いつどのような状態において、どのような条件を満たすファイルをマイグレーション対象とするのか、また、マイグレーション元ストレージとマイグレーション先ストレージは何になるのかといった情報を格納する。なお、本実施形態では、ＸＭＬファイル形式で記載したアルゴリズム等を適用する例を適用するものとするが、これに限定することなく、テキスト形式、ＣＳＶ形式、テーブル形式、レコード形式であってもよい。
【００４１】
同図に示す内容を説明する。
“migrationPolicy”では、ポリシ定義の開始部分と終了部分が指定される。本タグのｉｄ属性で、複数のポリシ定義が存在する場合に区別ができるようになっている。
“activateTime”タグでは、マイグレーション候補ファイルの抽出処理の開始契機が指定される。本実施形態では、毎日「０１：００：００」に開始されるようになっている。
“src”タグでは、マイグレーション元ストレージが指定される。本実施形態では、Ｔｉｅｒ名が“Tier1”であるストレージ３が指定されるようになっている。このＴｉｅｒ名には、階層ストレージ構成情報１１１で登録されているものが利用される。
【００４２】
“dest”タグ“では、マイグレーション先ストレージが指定される。本実施形態では、Ｔｉｅｒ名が”Tier2”であるストレージ４が指定されるようになっている。
“targetFilesystem”タグでは、マイグレーション対象のファイルが格納されているファイルシステムが指定される。なお、ファイルシステム単位で指定してもよいし、ファイルシステム内の任意のディレクトリ単位で指定するようにしてもよい。指定方法は、ファイルシステム名でもよいし、ディレクトリのパス名でもよい。本実施形態では、“/dirA”というディレクトリ名が指定されるようになっている。
【００４３】
“condition”タグでは、マイグレーション対象のファイルが抽出される条件が指定される。複数の条件が存在する場合には、タグのｉｄ属性で区別されるようになっている。
“condition”タグのｉｄ属性の値が「１」の部分において、“filesystemUsageRange”タグでは、マイグレーション元ストレージ３の容量利用率の値に基づいて、マイグレーション候補ファイルの抽出を行うことが指定される。本実施形態では、容量利用率が「０％〜７９％までの場合に、後述する条件でマイグレーション候補となるファイルの抽出が実行されるようになっている。
【００４４】
マイグレーション候補のファイルの抽出には、”targetFile”タグの内容が利用される。タグ内の“elapsedTimeAfterLastAccess”タグによって、対象ファイルの最終アクセス日時からの経過時間が規定値を超える場合に、マイグレーション対象とするよう指定されるようになっている。本実施形態では、最終アクセス日時から「１０日」経過したファイルを対象とするように指定されるようになっている。“migrationOrder”タグでは、マイグレーション対象のファイルのマイグレーション順序が指定される。本実施形態では、最終アクセス日時“atime”の時系列順”chronological“の昇順”asc“が指定されるようになっている。“stopCondition”タグでは、マイグレーション処理の終了条件が指定される。本実施形態では、“CompletedMigrationAllcandidateFile”タグが指定されることで、マイグレーション候補のファイル全てをマイグレーションさせたら処理を終了することが指定されるようになっている。
【００４５】
また、“condition”タグのｉｄ属性の値が「２」の部分において、“filesystemUsageRange“タグでは、マイグレーション元ストレージ３の容量利用率の値に基づいて、マイグレーション候補ファイルの抽出が実行されることが指定される。本実施形態では、容量利用率が「８０％から１００％」までの場合に、後述する条件でマイグレーション候補ファイルの抽出が実行されるようになっている。マイグレーション候補ファイルの抽出には、”targetFile“タグの内容が利用される。タグ内の”elapsedTimeAfterLastAccess”タグで、対象ファイルの最終アクセス日時からの経過時間が規定値を超える場合に、マイグレーション対象とすることが指定される。本実施形態では、最終アクセス日時から「１秒」経過したファイルが対象となるように指定されている。
【００４６】
”migrationOrder”タグでは、マイグレーション対象のファイルのマイグレーション順序が指定される。本実施形態では、最終アクセス日時”atime”の時系列順”chronological”の昇順”asc”が指定されるようになっている。”stopCondition”タグでは、マイグレーション処理の終了条件が指定される。本実施形態では、”filesystemUsageRange”タグが利用され、指定された容量利用率の範囲になったら処理を終了することが指定されるようになっている。ここで、指定されている容量利用率の範囲は、「０から６９％」までの間となっている。即ちTier１ストレージ３の容量利用率が「８０％」以上の場合には、マイグレーション候補ファイルとして、最終アクセス日時から「１秒」以上経過したファイルが選択され、その最終アクセス日時の古い順にファイルマイグレーションが実行される。そして、Tier１ストレージ３の容量利用率が「６９％」以下になったら、マイグレーション処理を終了することが指定されるようになっている。
以上が、階層制御サーバ１の構成である。
【００４７】
図２に戻り、検索サーバ２の構成を説明する。
検索サーバ２には、汎用のサーバ装置が適用され、ＣＰＵ２０、メモリ２１、補助記憶２２及び外部とのデータ通信を制御するＩ/Ｆ２３が備えられる。メモリ２１には、ＣＰＵ２０とプログラムの協働により、検索制御部２００が実現される。更に、メモリ２１には、順序条件情報２１０、ストレージ管理情報２１２、インデクス管理情報２１１及びインデクス登録情報２１３が保持される。
【００４８】
検索制御部２００には、更に、データ管理部２０１、検索応答部２０２、ファイルアクセス部２０３、判定部２０４及びインデクス部２０５が含まれる。
データ管理部２０１では、ファイルシステム或いはデータベースが提供される。検索応答部２０２では、クライアント６からの検索要求が受信され、インデクス管理情報２１１及びインデクス登録情報を用いて、それに対する検索結果の応答が実行される。
【００４９】
ファイルアクセス部２０３では、検索サーバ２から階層制御サーバ１で管理されているファイルデータの送受信に関する制御が実行される。特に、ファイル更新等により、対応するインデクスの更新が必要なインデクス更新候補ファイルの送受信制御も実行される。ここで、ファイルは、帳票やテキストといった構造化データや、画像や音声といった非構造データ等の種々の形式のデータが含まれ、また、これらデータの属性等に関する情報であるメタデータが含まれるものとする。
【００５０】
判定部２０４では、インデクスの更新候補となるファイルについて、インデクシングとマイグレーションの何れを優先するかの判定が行われるようになっている。より詳細には、後述するストレージ管理情報２１０に示されるＴｉｅｒ１ストレージ３の利用状況と、順序条件情報２１０に示される優先判定の条件とに従って、優先する処理を判定するようになっている。
【００５１】
インデクス部２０５では、インデクス更新対象ファイルのデータ（メタデータ含む）が解析され、検索サービス用に管理するインデクスに反映させる処理が実行される。具体的には、ファイルアクセス部２０３によって取得されたインデクス更新対象ファイルのデータ並びにメタデータが分析され、インデクス情報２１１及びインデクス登録情報２１３に反映させるようになっている。
【００５２】
図５に、インデクス管理情報２１１を模式的に示す。インデクス管理情報２１１では、検索サーバ２によって生成されたインデクス情報が管理される。インデクス管理情報２１１では、キーワード２１１ａと、該当位置情報（２１１ｂ〜ｇ）とが対応付けられて管理される。キーワード２１１ａには、対象ファイルのインデクシング処理によって得られた文字列が登録される。該当位置情報には、キーワード２１１ａの文字列が存在するファイル全てに関する情報が対応付けられて登録される。１つのファイルについて、ファイル識別情報２１１ｂ（２１１ｅ）、該当位置オフセット２１１ｃ（２１１ｆ）と、重み付け２１１ｄ（２１１ｇ）とが対応付けられ、更に、これらが同一キーワードを含むファイル同士で対応付けられるようになっている。同一キーワードを含むファイルが１つしかない場合には、対応する他のファイルに関する情報には「ｎｕｌｌ」が登録されるようになっている。
【００５３】
ファイル識別情報２１１ｂ（２１１ｅ）には、キーワードの文字列が出現するファイルを識別するための情報が登録される。具体的には、後述するインデクス登録情報２１３のファイル識別情報２１３ａに登録される情報が登録されるようになっている。なお、対象ファイルに実際にアクセスするときのファイルパス名やファイル識別子等が登録されてもよい。
【００５４】
該当位置オフセット２１１ｃ（２１１ｆ）には、ファイル中でキーワードの文字列が出現するオフセット情報が登録される。また、１つのファイルで複数箇所にキーワードが出現する場合には、複数個のオフセット情報が登録されるようになっている。
重み付け２１１ｄ（２１１ｇ）には、ファイル中のオフセットにおいて、キーワードの文字列が出現することによる重要度が値として登録される。重要度の値は、検索サーバ２が適宜設定するようになっている。検索サーバ２は、この重要度の値を設定するために、特定の識別情報とそれに関連付ける重要度の値を事前に登録可能にする。例えば、HTML形式ファイルにおける見出しタグ(”<H1>”や”<H2>”など)や強調タグ(”<em>”や”<strong>”など)と、それらに関連付ける重要度の値を登録可能にする。検索サーバ２は、インデクシング時に当該タグを見つけた際に、当該タグに囲まれている文字列から抽出したキーワードに関連付ける重要度の値として、事前に登録した値を反映する。この値は、大である程、重要であるものとする。また、この重要度は、検索結果の絞込みや整列に利用できるようになっている。
【００５５】
図７に、インデクス登録情報２１３を模式的に示す。インデクス登録情報２１３では、検索サーバ２が、検索インデクスの作成対象とするファイルのパスやメタデータに関する情報が管理される。インデクス登録情報２１３では、ファイル識別情報２１３ａと、ファイルパス名２１３ｂと、メタデータ２１３ｃ等が対応付けて管理される。
【００５６】
ファイル識別情報２１３ａには、検索サーバ２が検索インデクス作成のために取得したファイルの識別情報が登録される。ファイル識別情報２１３ａは、検索サーバ２が付与する通番でもよいし、ファイルが管理されている階層制御サーバ２が付与する通番でもよい。なお、通番以外にも、識別に利用可能な文字列を利用するようにしてもよい。ファイルパス名２１３ｂには、対象ファイルが格納されているファイルパス名が登録される。ファイルパス名２１３ｂは、階層制御サーバ１のファイルパス管理情報１１０における論理パス名１１０ａと同じになる。検索サーバ２は、ファイルパス名２１３ｂを指定してファイル取得要求及び該当するファイルを取得することができるようになっている。
【００５７】
メタデータ２１３ｃには、ファイルをインデクシングした際に取得したメタデータが登録される。インデクス登録情報２１３を利用することで、検索制御部２００が、キーワード指定の検索要求に応える際に、そのキーワードに合致するか否かの判断において検索インデクス管理情報２１１のみを利用すればよく、条件に合致したファイルについてのみ、適宜インデクス登録情報から対象ファイルのアクセスに必要な情報が取得できるようになっている。
【００５８】
図８に、ストレージ管理情報２１２を模式的に示す。ストレージ管理情報２１２には、「マイグレーション処理」と、「インデクス更新処理」のどちらを優先して実行するのかを決定するために利用するストレージ３及び４に関する利用状況が管理される。これらの利用状況は、検索サーバ２によって階層制御サーバ１から取得されるようになっている。ストレージ管理情報２１２では、Ｔｉｅｒ名２１２ａと、ストレージ識別情報２１２ｂと、取得日時２１２ｃと、容量利用率２１２ｄと、残容量２１２ｅと、外部流入量２１２ｆと、他Tierからの流入量２１２ｇと、他Tierへの流出量２１２ｈとが対応付けて管理される。
【００５９】
Ｔｉｅｒ名２１２ａには、対象ストレージの階層が登録される。Ｔｉｅｒ名２１２ａには、階層制御サーバ１の階層ストレージ構成情報１１１におけるＴｉｅｒ名１１１ａと同じものが登録される。ストレージ識別情報２１２ｂには、ストレージ装置の識別情報が登録される。ストレージ識別情報２１２ｂには、前述の階層ストレージ構成情報におけるストレージ識別情報１１１ｂと同じものが登録される。
取得日時２１２ｃには、ストレージに関するこれらの情報を取得したときの日時情報が登録される。容量利用率２１２ｄには、ストレージにおける容量利用率に関する情報が格納される。残容量２１２ｅには、ストレージにおけるストレージ容量の残りに関する情報が登録される。外部からの流入量２１２ｆには、ストレージに対して、階層制御サーバ２以外から単位時間当たりに追加格納されたデータサイズに関する情報が登録される。ここでは平均流入量が登録されてもよいし、最大流入量が登録されてもよいし、その両方が登録されるようにしてもよい。他Ｔｉｅｒからの流入量２１２ｇには、他階層に属するストレージから単位時間当たりに追加格納されたデータサイズに関する情報が格納される。ここでは、平均流入量及び／又は最大流入量が登録されてもよい。他Ｔｉｅｒへの流出量２１２ｈには、他階層に属するストレージに対して、単位時間当たりにマイグレートしたデータサイズに関する情報が格納される。ここでは、平均流出量及び／又は最大流出量が登録されてもよい。
【００６０】
なお、ここで示した項目以外の情報を格納するようにしてもよい。例えば、ストレージのＣＰＵ利用率や、同時アクセスセッション数などといった情報が格納されるようにしてもよい。また、これら利用情報を検索サーバ２がストレージ３及び４から直接取得するようにしてもよい。この場合、Ｔｉｅｒ名２１２ａやストレージ識別情報２１２ｂについては、必要に応じて階層制御サーバ２から取得するようにするとよい。
【００６１】
図９に、順序条件情報２１０を模式的に示す。順序条件情報２１０では、階層制御サーバ１におけるマイグレーション処理と、検索サーバ２のインデクス更新処理のどちらを優先して実行するのかを決定するための判定条件が登録される。
【００６２】
順序条件情報２１０には、Ｔｉｅｒ１ストレージ３の容量利用率２１０ａと、インデクス更新が必要なファイル数２１０ｂと、優先実行処理２１０ｃとが対応付けて管理される。Ｔｉｅｒ１ストレージ３の容量利用率２１０ａの値並びにインデクス更新が必要なファイル数２１０ｂの値を用いて、夫々が該当するエントリに登録されている優先実行処理２１０ｃに定義された処理が実行されるようになっている。例えば、Ｔｉｅｒ１ストレージ３の容量利用率２１０ａが「８５％」以上の場合、インデクス更新が必要なファイル数には関係なく、マイグレーション処理が優先実行される。Ｔｉｅｒ１ストレージの容量利用率が「８０％」以上且つインデクス更新が必要なファイル数が１００万以上の場合、インデクシング処理が優先実行される。Ｔｉｅｒ１ストレージの容量利用率が「８０％」以上且つインデクス更新が必要なファイル数が１００万未満の場合、マイグレーション処理が優先実行される。Ｔｉｅｒ１ストレージの容量利用率が「８０％」未満の場合、インデクシング処理が優先実行される。
【００６３】
本実施形態で利用するＴｉｅｒ１ストレージ３の容量利用率は、ストレージ管理情報２１２に登録された値を利用するようにしているが、その都度取得した値を利用するようにしてもよい。また、インデクス更新が必要なファイル数については、検索サーバ２が階層制御サーバ１に対してインデクス更新対象ファイルのリストを要求した際に取得したリストのエントリ数を利用するようにしてもよい。
【００６４】
図２に戻り、ストレージ３及び４の構成を説明する。
ストレージ３は上位階層ストレージとして機能し、制御部３０と記憶媒体３１が備えられる。制御部３０では、階層制御サーバ１若しくはクライアント５からのファイルアクセス要求に対して、該当するファイルの送信制御が実行される。また、階層制御サーバ１からのマイグレーション指示に応じて、データを下位階層ストレージ４に又はストレージ４からストレージ３にマイグレーションする制御が行われる。
【００６５】
記憶媒体３としては、種々の記憶装置が適用できるが、本実施形態では、ストレージ３にアクセス性能が優れるＳＳＤが適用され、ストレージ４には処理性能が比較的劣るＨＤＤ又は磁気テープが適用されるものとする。なお、これら階層ストレージは、処理性能や格納容量の大小や高低で階層を構成してもよいし、機器の価格面から構成してもよいし、単に同種、同性能の機器から階層を構成するようにすることもできる。
【００６６】
最後にクライアント５の構成を説明する。クライアント５は、汎用のサーバ装置や端末計算機を適用するものとする。クライアント５は、ユーザ端末計算機からの要求を受け付ける中間サーバであってもよいし、ユーザ端末計算機が直接検索サーバ２に検索要求を送信するようにしてもよい。ＣＰＵ５０、メモリ５１、補助記憶５８及び外部データ通信を制御するＩ/Ｆ５２が備えられる。メモリ５１には、ＣＰＵ５０とプログラムの協働によって、データ管理部５５、検索クライアント制御部５６及びファイル共有管理部５７が実現される。
【００６７】
検索クライアント制御部５６では、検索サーバ２に検索要求が発行され、これに対する応答結果に基づいて、階層制御サーバ２に該当するファイルへのアクセス要求が制御される。検索サーバ２に対する検索要求には、検索キーワードが含まれており、全文検索要求をすることもできるし、検索対象メタデータ名と検索条件が指定されたメタデータ検索要求をするこもできるようになっている。なお、本実施形態では、クライアント５では、ユーザからの指示入力に基づいて、検索サーバ２にファイル検索要求を行うこともできるようになっている。
【００６８】
データ管理部５５では、クライアント５においてデータの保管を管理するために利用するファイルシステムあるいはデータベースが提供される。ファイル共有管理部５７では、クライアント５から階層制御サーバ１で共有されているファイルにアクセスするために利用するファイル共有機能が提供されるようになっている。
なお、検索クライアント制御部５６では、検索サーバ２が提供するクライアントプログラム、あるいは検索サーバ２の仕様に従った機能が提供されるプログラムに相当する。例えば、検索サーバ用のWebアプリケーションプログラムを利用する形態でもよいし、汎用のWebブラウザを利用する形態でもよい。
以上が、計算機システムの構成の説明である。
【００６９】
次に、計算機システムの処理の流れを説明する。以下の説明では、特に、「インデクス更新処理(図１０)」並びに「マイグレーション処理(図１１)」について説明する。
図１０に、「インデクス更新処理」の流れを示す。本処理では、検索サーバ２が、階層制御サーバ１から必要な情報を取得し、その情報を基に、マイグレーション処理と、検索インデクス更新処理とのいずれを優先実行するのかが判定される。
【００７０】
Ｓ１０１で、検索サーバ２のファイルアクセス部２０３は、階層制御サーバ１に、インデクス候補リストの取得要求を送信し、これを取得する。より詳細には、ファイルアクセス部２０３は、リストの取得要求に前回のインデクス更新日時を指定するとともにその更新日時より後に更新されたファイル及びその日時以前に更新されているものの検索インデクスには反映されていないファイルに関する情報の取得要求を行う。取得要求を受けた階層制御サーバ２のファイルアクセス部１０３は、指定された条件に合致するファイルのインデクス候補リストを作成し、検索サーバ２に提供する。
【００７１】
Ｓ１０３で、ファイルアクセス部２０３は、ストレージ管理情報２１２を生成する。具体的には、ファイルアクセス部２０３は、ストレージ３及び４の残容量や容量利用率といった項目を指定して、階層制御サーバ１の情報提供部１０４にこれら情報の取得要求を行い、これらを取得する。
【００７２】
Ｓ１０５で、検索サーバ２の判定部２０４は、実行順序の判定を行う。具体的には、検索サーバ２は、Ｓ１０１で取得したインデクス候補リストと、Ｓ１０３で生成したストレージ管理情報２１２と、順序条件情報２１０とを参照し、マイグレーション処理と、インデクス更新処理との何れを優先実行するかを判定する。判定は、ストレージ管理情報２１２のＴｉｒｅ１ストレージ３の容量利用率と、インデクス候補リスト中のインデクス更新が必要なファイル数との関係に基づいて、順序条件情報２１０の条件に従って判定を行う。
【００７３】
Ｓ１０７で、判定部２０４は、インデクス更新処理を優先すると判定した場合(S105:Yes) 、Ｓ１０９に進み、マイグレーション処理を優先すると判定した場合（Ｓ107：Ｎｏ.）、Ｓ１２１に進む。
Ｓ１０９で、判定部２０４は、インデクス候補リストで未調査のファイルがあるか否かを判定し、未調査ファイルが無い場合（S109：No）、本フローを抜けて処理を終了する。未調査ファイルが有る場合(S109:Yes)、Ｓ１１１に進む。
【００７４】
Ｓ１１１で、判定部２０４は、インデクス候補リストから任意の１つの未調査ファイルを選択する。その後、Ｓ１１３で、検索サーバ２は、選択したファイルが、インデクス更新対象のファイルであるか否かを調べる。具体的には、対象ファイルが既にインデクスに反映済みか否かや、対象ファイルが検索サーバ２において検索可能対象になっているか否かを調べる。検索サーバ２は、選択したファイルがインデクス更新対象である場合（S113:Yes）、Ｓ１１５に進み、更新対象でない場合（S113:No）、Ｓ１１９に進む。
【００７５】
Ｓ１１５で、検索サーバ２のインデクス部２０５は、階層制御サーバ１に、対象ファイルの取得要求を送信し、これを取得し、その内容を解析してインデクス化処理を実行する。
インデクス処理の完了後、Ｓ１１７で、検索サーバ２のファイルアクセス部２０３は、階層制御サーバ１に、インデクス化を実行した日時情報と、優先フラグとを通知する（階層制御サーバ１に対して、そのファイルをマイグレーションする要求となる。）。なお、通知を受領した階層制御サーバ１では、パス管理情報１１０に、通知されたファイルのインデクス更新日時１１０ｄが登録される。
【００７６】
Ｓ１１９で、検索サーバ２の判定部２０４は、ストレージ管理情報２１２を確認するか否かの判定を行う。この処理は、例えば、マイグレーション処理を優先するか或いはインデクス化処理を優先するかというＳ１０５の判定を行う上で、ストレージ側の状況変化を、どの程度の間隔で考慮して行うかを判断するための処理である。
【００７７】
例えば、実行順序判定では、（１）対象ファイル毎に、ストレージ側の最新情報を元に実行順序を判定するようにする、（２）インデクス候補リストをＳ１０３のタイミングで取得した後は、そのリスト分の処理については、その後ストレージ側の最新情報を取得せずに実行順序を判定するようにする或いは（３）Ｓ１０３のタイミングでストレージ側の最新情報を取得してから一定時間経過するまでの間は、その最新情報を取得することなく、Ｓ１０５の実行順序判定を実行するようにする等、判定間隔は種々のケースが考えられる。このような（１）から（３）のタイミングを管理者がポリシ設定できるようし、Ｓ１１９において、ストレージ側の情報を再取得するか否かを判定することが出来るようになっている。
【００７８】
判定部２０４は、ストレージ情報を再取得してからＳ１０３の実行順序判定を実行すると判断する場合(S119：Yes)、Ｓ１０３に戻る。ストレージ情報を再取得しないでＳ１０３の実行順序判定を実行すると判断する場合(S119:No)、Ｓ１０９に戻る。
【００７９】
次に、Ｓ１０５の実行順序判定の実行の結果、Ｓ１０７で「マイグレーション処理を優先」すると判定する場合（S107:No）以降の処理の流れを説明する。
Ｓ１２１で、ファイルアクセス部２０３は、階層制御サーバ１に、インデクス更新済ファイルを指定して応答通知を送信する。ここで、検索サーバ２は、応答通知を行う際、優先フラグとしてマイグレーションを指定した上で送信する。
【００８０】
Ｓ１２３で、判定部２０４は、優先フラグが付与されたファイルが、ストレージ３からストレージ４にマイグレーションされたか否かをチェックする。完了していない場合(S123:No)、待機し、再度チェックする。完了している場合(S123:Yes)、Ｓ１２５に進む。
Ｓ１２５で、検索サーバ２は、階層制御サーバ１におけるマイグレーション処理が十分かどうかをチェックする。即ちインデクシング未更新ファイルが存在し、更なるマイグレーションが必要か否かを判定する。ここで、判定部２０４は、前述したＳ１０３で行う実行順序判定と同じ処理を行い、この判定を行う。
【００８１】
インデクシング未更新ファイルのマイグレーションが不要と判定した場合(S125:No)、Ｓ１０３に戻る。インデクシング未更新ファイルのマイグレーションが必要と判定した場合(Ｓ125:Yes)、Ｓ１２７で、ファイルアクセス部２０３は、階層制御サーバ１に対して、インデクス未更新ファイルを指定してマイグレーション要求を送信する。ここで、検索サーバ２は、マイグレーション要求を行う際に、優先フラグにマイグレーションを指定した上で要求する。
【００８２】
その後、Ｓ１２９で、判定部２０４は、マイグレーションが完了したか否かをチェックし、完了していない場合(S129:No)、待機し、再度チェックを実行する。完了している場合(S129:Yes)、Ｓ１０３に戻る。
以上が、実行順序判定処理の流れである。
【００８３】
次に、階層制御サーバ１における「マイグレーション処理」を説明する。本処理は、検索サーバ２から優先フラグとしてマイグレーションが指定されたファイルであって且つ階層制御サーバ１でマイグレーション候補になっているファイルをＴｉｅｒ１ストレージ３からＴｉｅｒ２ストレージ４にマイグレートする処理である。
【００８４】
図１１に、「マイグレーション処理」の処理の流れを示す。
Ｓ２０１で、マイグレーション対象判定部１０１は、検索サーバ１からマイグレーション要求を受領する。
Ｓ２０３で、マイグレーション対象判定部１０１は、マイグレーション処理実行契機か否かを確認する。具体的には、マイグレーション処理実行契機か否かについて、前述したマイグレーション定義１１２に記載されている内容を基に判断してもよいし、一定数のマイグレーション要求が来た段階で実行するようにしてもよいし、前回マイグレーションを実行してから一定時間経過した段階で実行するようにしてもよい。
マイグレーション処理実行契機でない場合(S203:No)、一定時間待った上で再度ステップＳ２０３を実行する。実行契機である場合(S203:Yes)、Ｓ２０５に進む。
【００８５】
Ｓ２０５で、マイグレーション対象判定部１０１は、Ｓ２０１のマイグレーション要求で指定された全ファイルついて、未調査ファイルがあるか否かをチェックし、未調査ファイルがない場合(S205：No)、Ｓ２０１に戻り、未調査ファイルが有る場合(S205：Yes)の場合)、Ｓ２０７に進み、マイグレーション要求で指定されたファイルの中から未調査のファイルを１つ選択する。
【００８６】
Ｓ２０９で、マイグレーション対象判定部１０１は、パス管理情報１１０（図３）を参照し、選択したファイルの優先フラグにマイグレーションが指定されているか否かをチェックする。優先フラグでマイグレーションが指定されている場合（S209:Yes）、インデクス更新処理よりもマイグレーション処理を優先して実行することを意味するので、Ｓ２１５に進む。即ち対象ファイルが検索サーバ２によってインデクシングされているか否かに関係なく、マイグレーションを行う。
【００８７】
他方、優先フラグでインデクシングが指定されている場合（S209:No）は、マイグレーション処理よりもインデクス更新処理を優先して実行することを意味するため、以下のステップで、対象ファイルが検索サーバ２によってインデクシングされているか否かを調べる。
【００８８】
Ｓ２１１で、マイグレーション対象判定部１０１は、選択したファイルのインデクシング更新日時が、そのファイルの更新日時よりも後か否かを調べる。即ち選択したファイルの最新の内容が検索サーバ２の検索インデクスに反映できているか否かを調べるためである。検索インデクス更新日時がファイル更新日時よりも前の場合(S211:No)、選択したファイルの最新の内容が検索インデクスに反映されていないので、この時点でのマイグレーション対象から外し、Ｓ２０５に戻る。
検索インデクスの更新日時が、ファイル更新日時よりも後の場合(S211:Yes)、選択したファイルの最新の内容が検索インデクスに反映されているため、マイグレーション対象となり、Ｓ２１３に進む。
【００８９】
Ｓ２１３で、マイグレーション対象判定部１０１は、選択したファイルがマイグレーション条件に合致するか否かを調べる。具体的には、マイグレーション対象判定部１０１は、マイグレーション定義１１２を参照し、条件に合致するか否かを判断する。条件に合致する場合（S213:Yes）、Ｓ２１５に進み、条件に合致しない場合（S213:No）、Ｓ２０５に戻る。
【００９０】
Ｓ２１５で、マイグレーション対象判定部１０１は、選択したファイルを、Ｔｉｒｅ１ストレージ３から、Ｔｉｒｅ２ストレージ４にマイグレーションする要求を、マイグレーション制御部１０２に送信し、ファイルのマイグレーションを実行させる。また、これと付随して、マイグレーション制御部１０２は、ファイルパス管理情報１１０のマイグレーションするファイルの物理パス名１１０ｂを、移動先であるストレージ４の物理パス名で更新する。
【００９１】
Ｓ２１７で、マイグレーション制御部１０２は、パス管理情報１１０（図３）において、Ｓ２１５でマイグレーションさせたファイルの優先フラグ１１０ｅが、マイグレーション指定であるか否かをチェックし、マイグレーション指定であった場合（S217:Yes）、Ｓ２１９に進み、マイグレーション指定でなかった場合（S217:No）、Ｓ２０５に戻る。
【００９２】
Ｓ２１９で、マイグレーション制御部１０２は、マイグレーションの指定がなされているファイルのインデクス更新日時について、パス管理表１１０のインデクス更新日時１１０ｄに追加登録する。なお、インデクス更新日時情報は、検索サーバ２のデータ管理部２０１から階層制御サーバ１に対して行ったマイグレーション要求に含まれたものである。  この登録は、下位階層のＴｉｅｒ２ストレージ４にマイグレートしたファイルの中で、検索サーバ２において最新の内容がインデクシングされていないファイルを検出する際に利用するために行われるものである。即ち優先フラグがマイグレーションと指定されている状況でファイルをマイグレーションする場合、そのファイルは検索サーバ２においてインデクシングされていない可能性がある。このようなファイルを、ファイルパス管理表１１０に登録されている情報をもとに容易に抽出できるようにするためである。
以上が、「マイグレーション処理」の流れである。
【００９３】
このように、本実施形態の計算機システムによれば、階層ストレージを利用したシステムにおいて、上位階層へのファイル戻しなどの負荷を発生させることなく容易にインデクス更新を行うことができる。更に、マイグレーション処理と、インデクス更新処理とで複雑なスケジューリングをする必要もなく、構成も簡易となる。
【００９４】
更に、本実施形態の計算機システムによれば、階層ストレージの容量利用率やインデクス更新を必要とするファイル数に応じて、マイグレーション処理とインデクス更新処理の優先関係を制御するため、階層ストレージとしての性能や利便性を確保したまま、適切なインデクスを生成することができるという効果がある。
【００９５】
本実施形態の計算機システムは、検索サーバ２の数が（特に、頻繁に）増減するような環境下では特に効果を発揮するものであり、システム構築の可用性に大いに寄与するという効果を期待することができる。
【００９６】
〔第２実施形態〕
第１実施形態の計算機システムでは、検索サーバ２が「インデクス更新処理」を行う際、順序条件情報２１０（図９）等の条件によっては、マイグレーション処理が優先して実行される場合もある。例えば、Ｔｉｅｒ１ストレージ３の容量利用率が「８５％」以上等の場合である。この場合、更新されたファイルについて、インデクス更新を行う前に、下位階層ストレージにファイルがマイグレーションされてしまうケースもある。
【００９７】
インデクス更新前に、下位階層ストレージに移動された更新ファイルは、インデクスの更新を行うために、検索サーバ２における次回の「インデクス更新処理」において、下位階層ストレージから上位階層ストレージにファイルデータを読み出した上で「インデクス更新処理」が実行されることになる。
【００９８】
しかしながら、その次回の「インデクス更新処理」の契機で、階層ストレージ、特にＴｉｅｒ１ストレージ３の負荷が高い若しくは容量が逼迫している場合、インデクス更新対象のファイルを下位階層ストレージに読み出す処理自体が負荷増大並びに容量逼迫を助長してしまう虞もある。
【００９９】
そこで、第２実施形態の計算機システムでは、階層ストレージ３及び／又は４の負荷状況を定期的又は任意の契機で監視し、ストレージの低負荷時に、下位階層ストレージに移動されたインデクス更新ファイルを、上位階層ストレージに読み出し、インデクスの更新を行うようにするようになっている。
【０１００】
図１２に、第２実施形態の計算機システムにおける「インデクス更新処理」の流れを示す。
本処理では、検索サーバ5100が階層制御サーバ1100から必要な情報を取得した上で、当該階層ストレージ環境の負荷状況を調べる。検索サーバ5100は、低負荷でかつ下位Tierストレージにインデクシングが必要なファイルが存在する場合において、階層制御サーバ1100に対して、対象ファイルの読み出しを要求し、対象ファイルをインデクシングする。対象ファイルの読み出しの際、下位Tierストレージから上位Tierストレージに当該ファイルの読み出しも行うことになる。また、検索サーバ5100は、インデクシングが終わった後、必要に応じて対象ファイルのマイグレーション要求を出す。具体的な処理フローは、以下で説明する。
【０１０１】
Ｓ３０１で、検索サーバ２は、インデクス候補リストの取得要求を階層制御サーバ１に送信し、これを取得する。なお、この取得要求には、第１実施形態と同様に、前回のインデクス更新日時が指定されており、その日時以降に更新されたファイル並びにその日時以前に更新されているが検索インデクスには反映されていないファイルの取得を要求するものである。第２実施形態では、この取得要求に、そのようなファイルで且つＴｉｅｒ２ストレージ４に格納されているファイルに関する情報の取得を要求するものである点が特徴の１つである。階層制御サーバ１は、指定された条件に合致するファイルのリストを作成し、検索サーバ２に提供する。
【０１０２】
Ｓ３０３で、検索サーバ２は、第１実施形態と同様に階層制御サーバ１からストレージの利用状況に関する情報を取得し、ストレージ管理情報２１２を生成する。
【０１０３】
Ｓ３０５で、検索サーバ２は、Ｓ３０１で取得したインデクス候補リスト及びＳ３０３で生成したストレージ管理情報２１２を参照し、Ｔｉｒｅ２ストレージ４に格納されているインデクス更新候補ファイルのインデクス更新処理が実行可能か否かを判定する。例えば、インデクス候補リストにエントリされているファイル数と、ストレージ管理情報２１２が示すＴｉｅｒ１ストレージ３の負荷状況とを考慮し、Ｔｉｅｒ１ストレージ３が、性能上、インデクス更新処理を実行する余裕（例えば、低負荷）があるか否かを判定する。余裕の有無は所定の性能閾値等を用いて判定する。
【０１０４】
検索サーバ２は、実行可能でないと判定した場合(S305：No)、一定の時間待った後で、Ｓ３０１に遷移し、処理を繰り返す。実行可能と判定した場合（S305:Yes)、Ｓ３０７に進む。
【０１０５】
Ｓ３０７で、検索サーバ２は、Ｓ３０１で取得したインデクス候補リストに登録されている全ファイルついて、以降のステップを実行していない未処理ファイルがあるか否かを調べる。未処理ファイルがない場合(S307：No)、本処理を終了する。未処理ファイルが有る場合(S307:Yes)、検索サーバ２は、Ｓ３０９で、インデクス候補リストから未処理の任意のファイルを選択する。
【０１０６】
Ｓ３１１で、検索サーバ２は、選択したファイルがインデクス更新対象ファイルか否かを調べる。ここでは、対象ファイルが既に検索インデクスに反映済みか否かといった観点や、対象ファイルが当該検索サーバ２における検索可能対象になっているか否かといった観点を調べる。インデクス更新対象ファイルで無い場合(S311：No)、後述するＳ３１９に進む。インデクス更新対象ファイルである場合(S311:Yes)、検索サーバ２は、Ｓ３１３で、階層制御サーバ１からそのファイルを読み出し、その内容を解析してインデクシングを行う。
【０１０７】
Ｓ３１３で、検索サーバ２は、インデクシングが完了したファイルを、マイグレーションするように階層制御サーバ１に対して要求するか否かを判定する(ステップS509)。ここで、検索サーバ２は、所定のポリシに基づいて判定するようにしてもよいし、当該階層ストレージ環境における負荷状態を基に判定するようにしてもよい。マイグレーション要求をしない場合(S315：No) 、後述するＳ３１９に遷移する。マイグレーション要求をする場合(S315：Yes)、検索サーバ２は、Ｓ３１７で、階層制御サーバ１に対し、対象ファイルに関する応答通知を行う（マイグレーションするように階層制御サーバ1100に対して要求する(ステップS510)。なお、応答通知では、第１実施形態と同様に、インデクス更新日時情報と優先フラグが含まれる。優先フラグには、「インデクシング」が指定される。
【０１０８】
Ｓ３１９で、検索サーバ２は、ストレージ構成情報を確認するか否かを判断する。即ち第１実施形態と同様に、この時点におけるストレージの利用状況やインデクス更新候補数に関する最新情報を改めて取得した上で、インデクス更新処理を継続するか否かを判断することに相当する。この判断は、システム管理者が事前にどういうポリシで判断するようにするのかを指定するようにしてよい。例えば、毎回最新情報をもとに実行可否を判定するようにしてもよいし、最初の一回だけで判定するようにしてもよいし、一定数のファイルをインデクシングした段階で判定するようにしてもよいし、前回判定してから一定時間経過した段階で判定するようにしてもよい。ストレージ管理情報２１２を再度生成等してから処理を継続すると判定する場合(S319：Yes)、Ｓ３０１に遷移する。ストレージ管理情報２１２等を再生成等しないと判定する場合（S319：No)、Ｓ３０７に遷移する。
【０１０９】
このように、第２実施形態の計算機システムによれば、マイグレーション処理を優先して実行したファイルのインデクス更新処理において、階層ストレージ側の負荷を助長すること無く、インデクス更新処理を実行することができる。同時に、階層ストレージの資源をさらに有効活用できるようになると共にインデクス更新の処理時間短縮などにより、インデクス更新頻度を増やすことができるなど、利用者の利便性向上に寄与することができるといえる。
【０１１０】
以上、本発明を実施するための第１及び第２実施形態について説明したが、本発明はこれらに限定されるものではなく、その趣旨に反することなく、種々の構成をとることができる。例えば、検索サーバ２の判定部２０４等は、階層制御サーバ１や他の外部サーバの機能部として構成することも可能である。また、各機能部の処理手順も、その趣旨を逸脱することなく、その処理順を適宜変更することも可能である。
【０１１１】
また、第１及び第２実施形態では、プログラムとＣＰＵとの協働により実現される機能部の例を説明したが、これらの一部をハードウェアとして構成することも可能である。
【符号の説明】
【０１１２】
１・・・階層制御サーバ、２・・・検索サーバ、３・・・Ｔｉｅｒ１ストレージ、４・・・Ｔｉｅｒ２ストレージ、５・・・クライアント、１００・・・階層制御部、１０１・・・マイグレーション対象判定部、１１０・・・パス管理情報、１１２・・・マイグレーション定義、２００・・・検索制御部、２１０・・・順序条件情報、２１２・・・ストレージ管理情報
【図１】
0006002832.tif 000002
【図２】
0006002832.tif 000003
【図３】
0006002832.tif 000004
【図４】
0006002832.tif 000005
【図５】
0006002832.tif 000006
【図６】
0006002832.tif 000007
【図７】
0006002832.tif 000008
【図８】
0006002832.tif 000009
【図９】
0006002832.tif 000010
【図１０】
0006002832.tif 000011
【図１１】
0006002832.tif 000012
【図１２】
0006002832.tif 000013