(57)【要約】【課題】ストレージ装置間のデータ移行時における応答性能の低下を防ぐ。【解決手段】移行元ストレージ装置、移行先ストレージ装置、Ｉ／Ｏ要求に応じて移行元ストレージ装置にデータを記憶する移行元サーバ装置、及びＩ／Ｏ要求に応じて移行先ストレージ装置１０にデータを記憶する移行先サーバ装置を備え、移行先サーバ装置が、未移行のフォルダ又はファイルを処理対象とするＩ／Ｏ要求を受信した際、移行元ストレージ装置から移行先ストレージ装置にフォルダ又はファイルのメタデータを移行する機能を備えた情報処理システム１において、移行先サーバ装置と通信可能に接続された情報処理装置に、未移行のフォルダ又はファイルのメタデータを必要とする移行先サーバ装置に対するＩ／Ｏ要求を移行先サーバ装置に送信させるスクリプトを実行させるようにする。【選択図】図２
2014215686.tif 000002
【特許請求の範囲】
【請求項１】
データの移行元となる移行元ストレージ装置と、
データの移行先となる移行先ストレージ装置と、
ファイルシステムが動作し、受け付けたＩ／Ｏ要求に応じて前記移行元ストレージ装置にデータを記憶する移行元サーバ装置と、
ファイルシステムが動作し、受け付けたＩ／Ｏ要求に応じて前記移行先ストレージ装置にデータを記憶する移行先サーバ装置と、
を備え、  
前記移行先サーバ装置が、未移行のフォルダ又はファイルを処理対象とするＩ／Ｏ要求を受信した際、前記移行元ストレージ装置から前記移行先ストレージ装置に前記フォルダ又はファイルのメタデータを移行する機能を備えた情報処理システムにおける、
データの移行方法であって、
前記移行先サーバ装置と通信可能に接続された情報処理装置であるＩ／Ｏ要求送信装置に、未移行のフォルダ又はファイルのメタデータを必要とする前記移行先サーバ装置に対するＩ／Ｏ要求を送信させるスクリプトを実行させる
ことを特徴とするデータ移行方法。
【請求項２】
請求項１に記載のデータ移行方法であって、
前記移行先サーバ装置は、未移行のフォルダ又はファイルのメタデータを必要とするＩ／Ｏ要求を受信すると、前記メタデータの送信要求を前記移行元サーバ装置に送信し、
前記移行元サーバ装置は、前記要求に応じて、前記メタデータを前記移行先サーバ装置に送信し、
前記移行先サーバ装置は、前記メタデータを受信してこれを前記フォルダ又はファイルのメタデータとして前記移行先ストレージ装置に格納し、
前記移行先サーバ装置は、フォルダ又はファイルの実体データを必要とするＩ／Ｏ要求を受信すると、前記フォルダ又はファイルのメタデータが前記移行先ストレージ装置に格納されているか否かを判定し、格納されていない場合は前記メタデータ及び前記実体データの送信要求を前記移行元サーバ装置に送信し、格納されている場合は前記実体データの送信要求を前記移行元サーバ装置に送信し、
前記移行元サーバ装置は、前記メタデータの送信要求を受信すると、該当のメタデータを前記移行先サーバ装置に送信し、
前記移行元サーバ装置は、前記実体データの送信要求を受信すると、該当の実体データを前記移行先サーバ装置に送信し、
前記移行先サーバ装置は、前記メタデータを受信すると、これを前記ファイルのメタデータとして前記移行先ストレージ装置に格納し、
前記移行先サーバ装置は、前記実体データを受信すると、これを前記ファイルの実体データとして前記移行先ストレージ装置に格納する
ことを特徴とするデータ移行方法。
【請求項３】
請求項１又は２に記載のデータ移行方法であって、
前記Ｉ／Ｏ要求送信装置は、前記移行先サーバ装置又は前記移行元サーバ装置である
ことを特徴とするデータ移行方法。
【請求項４】
請求項１又２に記載の前記データ移行方法に用いる前記スクリプトの生成方法であって、
情報処理装置が、
前記移行元ストレージ装置に格納されているフォルダの情報を取得するステップ、
前記情報に基づき、前記移行元ストレージ装置に格納されているフォルダについて、その直下に存在するフォルダの数とファイルの数との合計数を求めるステップ、
求めた前記合計数が予め設定された閾値を超えているフォルダを移行対象のフォルダとして選出するステップ、
前記移行対象フォルダの直下に存在するフォルダ又はファイルの夫々のメタデータを必要とする前記移行先サーバ装置に対するＩ／Ｏ要求を前記Ｉ／Ｏ要求送信装置に送信させるスクリプトを生成するステップ
を実行することを特徴とするスクリプトの生成方法。
【請求項５】
請求項４に記載のスクリプトの生成方法であって、
前記情報処理装置が、
前記移行対象フォルダの夫々について、夫々の直下に存在するフォルダ又はファイルの夫々の最終アクセス日時のうち最遅の日時を取得し、前記最遅日時の遅い前記移行対象フォルダについての前記Ｉ／Ｏ要求を他の前記移行対象フォルダに優先して前記Ｉ／Ｏ要求送信装置に送信させるスクリプトを生成するステップをさらに実行する
ことを特徴とするスクリプトの生成方法。
【請求項６】
請求項４に記載のスクリプトの生成方法であって、
前記情報処理装置が、前記スクリプトを実行するステップをさらに実行する
ことを特徴とするスクリプトの生成方法。
【請求項７】
請求項４に記載のスクリプトの生成方法における前記情報処理装置であって、
前記移行元ストレージ装置に記憶されているフォルダの情報を取得する機能、
前記情報に基づき、前記移行元ストレージ装置に記憶されているフォルダについて、その直下に存在するフォルダの数とファイルの数との合計数を求める機能、
求めた前記合計数が予め設定された閾値を超えているフォルダを移行対象のフォルダとして選出する機能、及び、
前記移行対象フォルダの直下に存在するフォルダ又はファイルの夫々のメタデータを必要とする前記移行先サーバ装置に対するＩ／Ｏ要求を前記Ｉ／Ｏ要求送信装置に送信させるスクリプトを生成する機能
を備えることを特徴とする情報処理装置。
【請求項８】
請求項７に記載の情報処理装置であって、
前記移行対象フォルダの夫々について、夫々の直下に存在するフォルダ又はファイルの夫々の最終アクセス日時のうち最遅の日時を取得し、前記移行先サーバ装置に対する前記最遅日時の遅い前記移行対象フォルダについての前記Ｉ／Ｏ要求を他の前記移行対象フォルダに優先して前記Ｉ／Ｏ要求送信装置に送信させるスクリプトを生成する機能
を更に備えることを特徴とする情報処理装置。
【請求項９】
請求項７に記載の情報処理装置であって、
前記スクリプトを実行する機能を更に備えることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ移行方法、この方法に用いるスクリプトの生成方法、及び情報処理装置に関する。
【背景技術】
【０００２】
データセンタやシステムセンタ等においては、製品のリプレース、システムの構成変更、障害の発生等に伴い、ストレージ装置間でのデータ移行が随時実施される。しかし移行すべきデータが大量であると移行に長時間を要し、エンドユーザに対するサービスに与える影響が問題になる。
【０００３】
ここで移行に要する時間を短縮する仕組みとして、例えば、特許文献１には、ファイルシステムが動作しているサーバ装置間（ストレージ装置間）のファイルのデータの移行に際し、移行元のストレージ装置のディレクトリイメージ（フォルダイメージ）のうち最上位のディレクトリから所定の下位階層までのディレクトリイメージを移行先のストレージ装置に移行しておき、移行先のストレージ装置に移行されていないフォルダ又はファイルのメタデータを必要とするＩ／Ｏ要求が発行されたときに、オンデマンドで該当のフォルダ又はファイルのメタデータを移行元のストレージ装置から移行先のストレージ装置に移行することが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願公開第２０１２／０１５１２５０号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし上記特許文献１の仕組みを実施した場合でも、エンドユーザに対するサービスに影響を与えることがある。即ち、例えば図１１に示すように、移行元のストレージ装置に「ｈｏｍｅ」フォルダ並びにその直下に置かれた多数のファイル（「ａ．ｊｐｇ」等）が存在し、移行先ストレージ装置に「ｈｏｍｅ」フォルダのメタデータのみが移行されている状況であるときに、例えばエンドユーザが、「ｈｏｍｅ」ディレクトリをマウス等で選択（クリック）して「ｈｏｍｅ」フォルダの中を覗こうとすると、「ｈｏｍｅ」フォルダ直下の全ファイル（「ａ．ｊｐｇ」等）について移行元ストレージ装置から移行先ストレージ装置への大量のメタデータの移行（データ転送）が発生し、エンドユーザへのレスポンスが大きく遅延してしまう。
【０００６】
本発明はこのような課題に鑑みてなされたものであり、データ移行時におけるエンドユーザに対するサービスに与える影響を低減することが可能な、データ移行方法、この方法に用いるスクリプトの生成方法、及び情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するための本発明のうちの一つは、データの移行元となる移行元ストレージ装置と、データの移行先となる移行先ストレージ装置と、ファイルシステムが動作し、受け付けたＩ／Ｏ要求に応じて前記移行元ストレージ装置にデータを記憶する移行元サーバ装置と、ファイルシステムが動作し、受け付けたＩ／Ｏ要求に応じて前記移行先ストレージ装置にデータを記憶する移行先サーバ装置と、を備え、前記移行先サーバ装置が、未移行のフォルダ又はファイルを処理対象とするＩ／Ｏ要求を受信した際、前記移行元ストレージ装置から前記移行先ストレージ装置に前記フォルダ又はファイルのメタデータを移行する機能を備えた情報処理システムにおける、データの移行方法であって、前記移行先サーバ装置と通信可能に接続された情報処理装置であるＩ／Ｏ要求送信装置に、未移行のフォルダ又はファイルのメタデータを必要とする前記移行先サーバ装置に対するＩ／Ｏ要求を送信させるスクリプトを実行させる。
【発明の効果】
【０００８】
本発明によれば、データ移行時におけるエンドユーザに対するサービスに与える影響を低減することができる。
【０００９】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１０】
【図１】情報処理システム１の概略的な構成を示す図である。
【図２】ストレージ装置１０、サーバ装置２０、及びスクリプト生成装置３０が備える主な機能を示す図である。
【図３】「フォルダの直下」の意味を説明する図（フォルダイメージ）である。
【図４】メタデータ移行処理Ｓ４００を説明するフローチャートである。
【図５】実体データ移行処理Ｓ５００を説明するフローチャートである。
【図６】スタブ化対象リスト生成処理Ｓ６００を説明するフローチャートである。
【図７】スタブ化閾値記憶部３１１が記憶するスタブ化閾値の一例である。
【図８】スタブ化対象リスト８００の一例である。
【図９】スタブ化スクリプト生成処理Ｓ９００を説明するフローチャートである。
【図１０】スタブ化スクリプト１０００の一例である。
【図１１】エンドユーザへの応答が遅延するケースを説明する図である。
【発明を実施するための形態】
【００１１】
以下、発明を実施するための形態について図面とともに説明する。
【００１２】
図１に実施形態として説明する情報処理システム１の概略的な構成を示している。同図に示すように、情報処理システム１は、複数のストレージ装置１０、複数のサーバ装置２０、及びスクリプト生成装置３０（Ｉ／Ｏ要求送信装置）を含んで構成される。
【００１３】
情報処理システム１は、例えば、企業や官公庁等の組織が運営するシステムセンタやデータセンタ等に設けられる。情報処理システム１は、通信ネットワーク５を介して接続しているクライアント装置２に対して、データサービス、クラウドサービス、Ｗｅｂサービスなどの各種の情報処理サービスを提供する。尚、通信ネットワーク５は、ＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）、インターネット（Internet）、公衆通信網、専用線等である。
【００１４】
同図に示すように、ストレージ装置１０は、データコントローラ１１及び記憶装置１２を備える。データコントローラ１１と記憶装置１２とは、制御バス、クロスバースイッチ（Cross Bar Switch）、ＬＡＮ、ＳＡＮ（Storage Area Network）等の通信手段を介して通信可能に接続されている。ストレージ装置１０は、サーバ装置２０から送られてくる、Ｉ／Ｏ処理（データの書き込み、データの読み出し）の対象となる記憶装置１２の記憶領域をブロックアドレスにより指定したＩ／Ｏコマンド（データ書き込みコマンド、データ読み出しコマンド）を受け付け、受け付けたＩ／Ｏコマンドに従い記憶装置１２に対してＩ／Ｏ処理を行う。尚、データコントローラ１１及び記憶装置１２は、同一筐体に収容されていることもあるし、独立した筐体に収容されていることもある。このような構成を有するストレージ装置１０の一例として、ディスクアレイ装置（Disk Array Controller（Device）)がある。
【００１５】
データコントローラ１１は、プロセッサ（ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＭＡ（Direct Memory Access）等で構成される）、メモリ（ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ＮＶＲＡＭ（Non-volatile memory）等）、通信装置（例えば、サーバ装置２０と通信するための通信制御装置（チャネル制御装置、ＮＩＣ（Network Interface Card）、ＨＢＡ(Host Bus Adaptor）等）、記憶装置１２と通信するドライブ制御装置（ＦＣインタフェース、ＳＡＳインタフェース、ＳＡＴＡインタフェース、ＳＣＳＩインタフェース等））を備える。尚、上記メモリは、プログラムやデータの保存に用いられるほか、記憶装置１２に書き込まれるデータや記憶装置１２から読み出されるデータを一時的に記憶するキャッシュメモリとしても用いられる。
【００１６】
記憶装置１２は、一つ以上の記憶ドライブ（ＳＡＳ（Serial Attached SCSI）、ＳＡＴＡ（Serial ATA）、ＦＣ（Fibre Channel）、ＰＡＴＡ（Parallel ATA）、ＳＣＳＩ等のタイプのハードディスクドライブ、半導体記憶装置（ＳＳＤ（Solid State Drive）等）を備える。記憶装置１２は、例えば、ＲＡＩＤ（Redundant Arrays of Inexpensive （or Independent) Disks）等の制御方式に従って記憶ドライブを制御し、記憶ドライブの記憶領域を論理的な記憶領域としてデータコントローラ１１に提供することができる。
【００１７】
サーバ装置２０は、情報処理装置であって、プロセッサ３１（ＣＰＵ、ＭＰＵ等）、メモリ２２（ＲＯＭ、ＲＡＭ、ＮＶＲＡＭ等）、記憶装置２３（ハードディスク、ＳＳＤ、光学式ドライブ等）、入力装置２４（キーボード、マウス、タッチパネル等）、出力装置２５（表示装置、印字装置等）、及び通信インタフェース（以下、通信Ｉ／Ｆ２６と表記する）（ＮＩＣ、ＨＢＡ等）を備える。
【００１８】
サーバ装置２０は、クライアント装置２と通信ネットワーク５を介して通信可能に接続されている。サーバ装置２０は、クライアント装置２から受信したＩ／Ｏ要求に応じて、通信可能に接続しているストレージ装置１０に前述したＩ／Ｏコマンドを送信する。
【００１９】
スクリプト生成装置３０は、情報処理装置であって、プロセッサ２１（ＣＰＵ、ＭＰＵ等）、メモリ２２（ＲＯＭ、ＲＡＭ、ＮＶＲＡＭ等）、記憶装置２３（ハードディスク、ＳＳＤ、光学式ドライブ等）、入力装置２４（キーボード、マウス、タッチパネル等）、出力装置２５（表示装置、印字装置等）、及び通信インタフェース（以下、通信Ｉ／Ｆ２６と表記する）（ＮＩＣ等）を備える。
【００２０】
スクリプト生成装置３０は、通信ネットワーク６を介して各サーバ装置２０と通信可能に接続している。通信ネットワーク６は、例えば、ＬＡＮ、ＷＡＮ、インターネット、公衆通信網、専用線である。
【００２１】
図２にストレージ装置１０、サーバ装置２０、及びスクリプト生成装置３０が備える主な機能を示している。
【００２２】
同図に示すように、サーバ装置２０（移行元サーバ装置、移行先サーバ装置）は、ファイルシステム２１１及びデータ移行処理部２１２の各機能を備える。これらの機能は、サーバ装置２０のプロセッサ２１が、メモリ２２に格納されているプログラムを読み出して実行することにより実現される。尚、図示していないが、サーバ装置２０ではオペレーティングシステム（Operating System）やデバイスドライバ（Device Driver）等の基本ソフトウエアが動作しており、サーバ装置２０の機能は原則としてこれら基本ソフトウエアの制御下で実現される。
【００２３】
ファイルシステム２１１は、フォルダ又はファイルを単位としたＩ／Ｏ処理機能を実現する。ファイルシステム２１１として、例えば、ＦＡＴ(File Allocation Table）、ＮＴＦＳ、ＨＦＳ（Hierarchical File System）、ｅｘｔ２（second extended file system）、ｅｘｔ３(third extended file system)、ｅｘｔ４(fourth extended file system)などがある。尚、ファイルシステム２１１は、ＮＦＳ（Network File System）、ＣＩＦＳ（Common Internet File System）、ＡＦＳ（Andrew File System）等のファイル共有機能を備えていてもよい。
【００２４】
ファイルシステム２１１は、フォルダやファイルのデータである、メタデータ及び実体データをストレージ装置１０の記憶装置１２に管理している。尚、上記メタデータには、例えば、所有者(owner）、ファイルタイプ（file type）（ファイル、フォルダ）、アクセス権（permission）、最終アクセス日時（例えば最終更新日時及び最終参照日時のうち遅い方の日時）、ファイルサイズ、実体データの記憶先アドレス（ファイルのメタデータの場合のみ。記憶先アドレスは、例えば記憶装置１２の記憶領域を特定するブロックアドレスで表記される。）等の情報が含まれる。例えばファイルシステム２１１がＵＮＩＸ（登録商標）系のファイルシステムである場合、「ｉｎｏｄｅ」として管理される情報がメタデータに相当する。
【００２５】
また実体データは、メタデータの記憶先アドレスで指定される記憶装置１２の記憶領域に格納されるデータであり、フォルダやファイルの本体である。例えば、フォルダの実体データは、そのフォルダの直下（「フォルダの直下」の意味については後述する）に存在するフォルダ又はファイルのメタデータである。またファイルの実体データは、例えば、文書編集ソフトウエアが取り扱う文書ファイルにおける文書データ、図形編集ソフトウエアが取り扱う図形ファイルにおける図形データである。
【００２６】
データセンタやシステムセンタ等では、製品のリプレース、システムの構成変更、障害の発生等に伴い、移行元のストレージ装置１０（以下、移行元ストレージ装置とも称する。）から移行先のストレージ装置１０（以下、移行先ストレージ装置とも称する。）に随時データの移行（マイグレーション（migration））が行われる。データ移行処理部２１２は、上記データ移行に関する機能を提供する。
【００２７】
同図に示すように、データ移行処理部２１２は、メタデータ移行部２１２１及び実体データ移行部２１２２の各機能を備える。データ移行処理部２１２は、サーバ装置２０がクライアント装置２等からあるフォルダ又はファイルに対するＩ／Ｏ要求を受信した際、移行元ストレージ装置から移行先ストレージ装置に当該フォルダ又はファイルのデータ（メタデータ、実体データ）を自動的に移行する、いわゆるオンデマンド方式によるデータ移行機能（以下、オンデマンド移行機能と称する。）を提供する。尚、移行元サーバ装置及び移行先サーバ装置は夫々個別にデータ移行処理部２１２を備えているが、各データ移行処理部２１２は随時協調動作して上記オンデマンド移行機能等の機能を実現する。オンデマンド移行機能の詳細については後述する。
【００２８】
メタデータ移行部２１２１は、移行元ストレージ装置から移行先ストレージ装置にオンデマンド方式によりメタデータを移行する機能を提供する。尚、以下の説明において、フォルダ又はファイルの実体データの移行に先行してフォルダ又はファイルのメタデータを移行先ストレージ装置に移行することを「スタブ化」と称する。
【００２９】
移行先ストレージ装置の記憶装置１２に格納されているフォルダ又はファイルのメタデータには、そのフォルダ又はファイルが現在スタブ化されているか否かを示す情報（例えば、そのフォルダ又はファイルが現在スタブ化されているか否かを示すフラグ）が含まれている。フォルダ又はファイルがスタブ化されている場合、そのフォルダ又はファイルのメタデータの実体データの格納先のアドレスには、例えば、移行元ストレージ装置の記憶装置１２の記憶領域におけるそのフォルダ又はファイルの実体データの記憶先のアドレスが設定される。
【００３０】
実体データ移行部２１２２は、移行元ストレージ装置から移行先ストレージ装置にオンデマンド方式により実体データを移行する仕組みを提供する。尚、以下の説明において、スタブ化されているフォルダ又はファイルの実体データを移行元ストレージ装置から移行先ストレージ装置に移行することを「スタブ化の解除」と称する。
【００３１】
スクリプト生成装置３０は、移行元ストレージ装置から移行先ストレージ装置へのファイルのデータの移行に際し、特定のファイルを他のファイルに優先してスタブ化する際に実行するスクリプト（以下、スタブ化スクリプトと称する。）を生成する。スタブ化スクリプトには、これがスクリプト生成装置３０等の情報処理装置において実行された場合に、当該情報処理装置に、フォルダ又はファイルのメタデータが必要となるＩ／Ｏ要求を移行先ストレージ装置に送信させる実行文が記述される。尚、フォルダ又はファイルのメタデータが必要となるＩ／Ｏ要求の一例として、ＵＮＩＸ（登録商標）における「ｌｓ」コマンドがある。
【００３２】
同図に示すように、スクリプト生成装置３０は、前述したスタブ化スクリプトの生成機能として、スタブ化閾値記憶部３１１、スタブ化対象選出部３１２、スタブ化対象リスト生成部３１３、スタブ化スクリプト生成部３１４、及びスタブ化スクリプト実行部３１５を備える。これらの機能は、プロセッサ３１が、メモリ３２に格納されているプログラムを読み出して実行することにより実現される。尚、とくに図示していないが、スクリプト生成装置３０では、オペレーティングシステムやデバイスドライバ等の基本ソフトウエアが動作しており、スクリプト生成装置３０の機能は原則としてこれら基本ソフトウエアの制御の下で実現される。
【００３３】
スタブ化閾値記憶部３１１は、スタブ化スクリプトの生成に際し、移行元ストレージ装置の記憶装置１２に格納されているフォルダ又はファイルをスタブ化するか否かの判定に用いる閾値（以下、スタブ化閾値と称する。）を記憶する。このスタブ化閾値は、例えば、情報処理システム１のユーザやオペレータによって設定される。またスタブ化閾値は、例えば、移行元ストレージ装置の記憶装置１２に格納されているフォルダ又はファイルの数、ファイルのデータサイズ、移行元ストレージ装置や移行先ストレージ装置の性能や装置構成、通信ネットワーク６の通信性能等に応じて適切な値に設定される。
【００３４】
スタブ化対象選出部３１２は、移行元ストレージ装置の記憶装置１２に格納されているフォルダの直下に存在するフォルダの数とファイルの数との合計を求め、求めた合計数をスタブ化閾値と比較し、合計数がスタブ化閾値を超えているフォルダをスタブ化の対象とするフォルダ（以下、スタブ化対象フォルダ（移行対象フォルダ））として選出する。尚、「フォルダの直下」とは、そのフォルダの直下に存在するフォルダ又はファイルのみを指し、直下に存在するフォルダの下位に存在するフォルダやファイルを除く意味である。
【００３５】
具体例を示すと、例えば、フォルダイメージ（ディレクトリイメージ）が図３のようであった場合、「ｈｏｍｅ」フォルダの「直下」に存在するフォルダ又はファイルは、「ｆｏｌｄｅｒ  Ａ」、「ｆｏｌｄｅｒ  Ｂ」、「ａ．ｔｘｔ」、及び「ｂ．ｔｘｔ」であり、「ｆｏｌｄｅｒ  Ａ」の下位に存在する「ｆｏｌｄｅｒ  Ａ１」、「ｆｏｌｄｅｒ  Ａ２」、「ａ１．ｔｘｔ」、「ａ２．ｔｘｔ」、「ｆｏｌｄｅｒ  Ｂ１」、「ｆｏｌｄｅｒ  Ｂ」の下位に存在する「ｂ１．ｔｘｔ」は含まれない。
【００３６】
スタブ化対象リスト生成部３１３は、スタブ化対象フォルダの直下に存在するフォルダ又はファイル（以下、スタブ化対象とも称する。）のリスト（以下、スタブ化対象リストと称する。）を生成する。尚、スタブ化対象リスト生成部３１３は、スタブ化対象リストの生成に際し、スタブ化対象フォルダの情報（スタブ化対象のパス名、最終アクセス日時等）を移行元ストレージ装置から取得し、取得した情報をスタブ化対象リスト中の該当する各スタブ化対象のレコードに付帯させる。
【００３７】
スタブ化スクリプト生成部３１４は、スタブ化対象リストを入力としてスタブ化スクリプトを生成する。またスタブ化スクリプト生成部３１４は、移行対象フォルダの夫々について、夫々の直下に存在するフォルダ又はファイルの夫々の最終アクセス日時のうち最遅の（最も新しい）日時（最遅日時と称する。）を取得し、取得した最遅日時の遅い移行対象フォルダについてのＩ／Ｏ要求が他の移行対象フォルダのＩ／Ｏ要求に優先して移行先ストレージ装置に送信されるような実行文が記述されたスタブ化スクリプトを生成する。
【００３８】
スタブ化スクリプト実行部３１５は、スタブ化スクリプト生成処理部２１４によって生成されたスタブ化スクリプトを実行する。これによりスクリプト生成装置３０から移行先ストレージ装置に対してスタブ化対象のメタデータを必要とするＩ／Ｏ要求が送信され、前述したオンデマンド移行機能により、移行元ストレージ装置から移行先ストレージ装置にスタブ化対象であるフォルダ又はファイルのメタデータが自動的に移行される。
【００３９】
＝オンデマンド移行機能＝
＜メタデータ移行処理＞
図４は、前述したオンデマンド移行機能の詳細を説明する図であり、移行元ストレージ装置から移行先ストレージ装置へのメタデータの移行に関して情報処理システム１にて行われる処理（以下、メタデータ移行処理Ｓ４００と称する。）を説明するフローチャートである。以下、同図とともに説明する。
【００４０】
同図に示すように、移行先サーバ装置は、クライアント装置２等の要求元からのメタデータを必要とするＩ／Ｏ要求の受信をリアルタイムに監視している（Ｓ４１１）。尚、メタデータを必要とするＩ／Ｏ要求として、例えば、クライアント装置２等でＵＮＩＸ（登録商標）における「ｌｓ」コマンドが実行された際に送信されるファイルの情報の取得要求（読み出し要求）がある。
【００４１】
移行先サーバ装置は、要求元からメタデータを必要とするＩ／Ｏ要求を受信すると（Ｓ４１１：Ｙ）、該当のメタデータが移行先ストレージ装置に既に格納されているか否かを判定する（Ｓ４１２）。メタデータが移行先ストレージ装置に既に格納されていた場合（Ｓ４１２：Ｙ）、移行先サーバ装置は、移行先ストレージ装置から該当のメタデータを読み出し、これを用いて受信したＩ／Ｏ要求に指定される処理（以下、Ｉ／Ｏ処理とも称する。）を実行する（Ｓ４１３）。尚、移行先サーバ装置は、必要であればＩ／Ｏ処理を実行することによって取得された情報（例えばメタデータに含まれている情報）を要求元に送信する。
【００４２】
一方、メタデータが移行先ストレージ装置に格納されていなかった場合（Ｓ４１２：Ｎ）、移行先サーバ装置は、移行元サーバ装置に対して該当のメタデータの送信を要求する（Ｓ４１４）。移行元サーバ装置は、上記要求を受信すると（Ｓ４１５）、移行元ストレージ装置から該当のメタデータを読み出し、これを移行先サーバ装置に送信する（Ｓ４１６）。
【００４３】
移行先サーバ装置は、移行元サーバ装置からメタデータを受信すると、これを用いてＩ／Ｏ処理を実行する（Ｓ４１８）。また移行先サーバ装置は、受信したメタデータを移行先ストレージ装置に格納させるとともに（Ｓ４１９）、メタデータの設定を行う（Ｓ４２０）。
【００４４】
尚、上記メタデータの設定において、当該メタデータが実体データを伴わない状態で移行先ストレージ装置に格納される場合、移行先サーバ装置は、メタデータの実体データの記憶先のアドレスに、移行元ストレージ装置の当該メタデータの実体データが格納されている記憶領域を特定するアドレスを設定する。またメタデータにスタブ化されているか否かを示す情報（例えばフラグ）を含ませている場合、移行先サーバ装置は、その情報を「スタブ化されている」旨の内容に設定する。以上の後、処理はＳ４１１に戻る。
【００４５】
＜実体データ移行処理＞
図５は、オンデマンド移行機能を説明する図であり、移行元ストレージ装置から移行先ストレージ装置への実体データの移行に関して情報処理システム１にて行われる処理（以下、実体データ移行処理Ｓ５００と称する。）を説明するフローチャートである。以下、同図とともに説明する。
【００４６】
同図に示すように、移行先サーバ装置は、クライアント装置２等の要求元からの実体データを必要とするＩ／Ｏ要求の受信をリアルタイムに監視している（Ｓ５１１）。尚、実体データを必要とするＩ／Ｏ要求として、例えば、フォルダを対象としたそのフォルダの直下のフォルダ又はファイルのメタデータへのアクセス要求、ファイルの実体データの読み出し要求、ファイルの更新要求がある。
【００４７】
移行先サーバ装置は、要求元から実体データを必要とするＩ／Ｏ要求を受信すると（Ｓ５１１：Ｙ）、当該実体データに対応するメタデータ（当該実体データを実体データとするフォルダ又はファイルのメタデータ）が移行先ストレージ装置に既に格納されているか否かを判定する（Ｓ５１２）。メタデータが移行先ストレージ装置に既に格納されていた場合（Ｓ５１２：Ｙ）、処理はＳ５１４に進む。一方、メタデータが移行先ストレージ装置に格納されていなかった場合（Ｓ５１２：Ｎ）、移行先サーバ装置は、図４のＳ４１４〜Ｓ４１７、及びＳ４１９と同様の処理を順に実行し、移行元ストレージ装置からメタデータを取得する。その後、処理はＳ５１４に進む。
【００４８】
Ｓ５１４では、移行先サーバ装置は、該当の実体データが移行先ストレージ装置に既に格納されているか否かを判定する。実体データが移行先ストレージ装置に既に格納されていた場合（Ｓ５１４：Ｙ）、移行先サーバ装置は、記憶装置１２から該当の実体データを読み出し、これを用いて受信したＩ／Ｏ要求に指定されるＩ／Ｏ処理を実行する（Ｓ５１５）。尚、移行先サーバ装置は、必要であればＩ／Ｏ処理を実行することにより取得された情報（例えば実体データ）を要求元に送信する。
【００４９】
一方、実体データが移行先ストレージ装置に格納されていなかった場合（Ｓ５１４：Ｎ）、移行先サーバ装置は、移行元サーバ装置に対し、該当の実体データの送信を要求する（Ｓ５１６）。移行元サーバ装置は、上記要求を受信すると（Ｓ５１７）、移行元ストレージ装置から該当の実体データを読み出し、これを移行先サーバ装置に送信する（Ｓ５１８）。
【００５０】
移行先サーバ装置は、移行元サーバ装置から実体データを受信すると（Ｓ５１９）、これを用いてＩ／Ｏ要求に指定されるＩ／Ｏ処理を実行する（Ｓ５２０）。また移行先サーバ装置は、受信した実体データを移行先ストレージ装置に格納するとともに（Ｓ５２１）、当該実体データに対応するメタデータの設定を行う（Ｓ５２２）。
【００５１】
尚、上記メタデータの設定において、移行先サーバ装置は、当該実体データがスタブ化されているフォルダ又はファイルの実体データであった場合、対応するメタデータの実体データの格納先アドレスに、移行先ストレージ装置の記憶装置１２の当該実体データを格納した記憶領域を特定するアドレスを設定する。またメタデータにスタブ化されているか否かを示す情報（例えばフラグ）を含ませている場合、移行先サーバ装置は、その情報を「スタブ化されていない（スタブ化が解除された）」旨の内容に設定する。
【００５２】
＝スタブ化スクリプトの生成＝
＜スタブ化対象リストの生成＞
図６は、前述したスタブ化スクリプトの生成に際してスクリプト生成装置３０が行う処理（スタブ化対象リスト生成処理Ｓ６００）を説明するフローチャートである。以下、同図とともに説明する。
【００５３】
スクリプト生成装置３０は、移行元ストレージ装置に、移行元ストレージ装置に格納されているフォルダの一覧情報（フォルダイメージ）を要求してこれを取得する（Ｓ６１１）。
【００５４】
続いてスクリプト生成装置３０は、取得したフォルダの一覧情報から、スタブ化対象とするか否かの判定の対象となるフォルダ（以下、判定対象フォルダと称する。）を一つ選択する（Ｓ６１２）。
【００５５】
続いてスクリプト生成装置３０は、判定対象フォルダの直下に存在するフォルダの数とファイルの数との合計数を求め（Ｓ６１３）、求めた合計数をスタブ化閾値記憶部３１１が記憶しているスタブ化閾値と比較する（Ｓ６１４）。
【００５６】
図７にスタブ化閾値記憶部３１１が記憶するスタブ化閾値の一例を示す。この例ではスタブ化閾値の値を「３００」としている。
【００５７】
上記比較の結果、合計数がスタブ化閾値を超えている場合（Ｓ６１４：Ｙ）、処理はＳ６１５に進む。一方、合計数がスタブ化閾値未満である場合（Ｓ６１４：Ｎ）、処理はＳ６１７に進む。
【００５８】
Ｓ６１５では、スクリプト生成装置３０は、移行元ストレージ装置に判定対処フォルダの直下に存在するフォルダ及びファイルの夫々の最終アクセス日時を要求してこれを取得し、そのうちの最遅日時を取得する。
【００５９】
続くＳ６１６では、スクリプト生成装置３０は、判定対象フォルダのパス名（後述のスタブ化対象フォルダのパス名８１１）、上記合計数（後述の合計数８１２）、及び最遅日時（後述の最遅日時８１３）を含むレコードをスタブ化対象リストに追記する。
【００６０】
Ｓ６１７では、スクリプト生成装置３０は、Ｓ６１２において、Ｓ６１１で取得したフォルダの一覧情報に含まれている全てのフォルダを選択済であるか否かを判定する。Ｓ６１２において全てのフォルダを選択済でない場合（Ｓ６１７：Ｎ）、処理はＳ６１２に戻り、スクリプト生成装置３０は、未選択のフォルダを判定対象フォルダとして選択し直し、Ｓ６１３からの処理を繰り返す。一方、Ｓ６１２において全てのフォルダを選択済である場合（Ｓ６１７：Ｎ）、スタブ化対象リスト生成処理Ｓ６００は終了する。
【００６１】
図８にスタブ化対象リスト生成処理Ｓ６００によって生成されたスタブ化対象リストの一例を示す。同図に示すように、スタブ化対象リスト８００には、スタブ化対象フォルダ（この例では「／ｍｎｔ」）の直下に存在するフォルダ又はファイルのパス名（スタブ化対象フォルダのパス名８１１）、当該スタブ化対象フォルダについて求めた前述の合計数８１２、及び当該スタブ化対象フォルダについて取得した前述の最遅日時８１３を含む一つ以上のレコードが含まれている。
【００６２】
＜スタブ化スクリプトの生成＞
続いてスクリプト生成装置３０は、スタブ化対象リスト生成処理Ｓ６００によって生成されたスタブ化対象リスト８００を用いて（入力として）スタブ化スクリプトを生成する。
【００６３】
図９はスタブ化スクリプトの生成に際してスクリプト生成装置３０が行う処理（以下、スタブ化スクリプト生成処理Ｓ９００と称する。）を説明するフローチャートである。以下、同図とともに説明する。
【００６４】
まずスクリプト生成装置３０は、スタブ化対象リスト生成処理Ｓ６００によって生成されたスタブ化対象リスト８００をメモリ２２に格納する（Ｓ９１１）。
【００６５】
続いてスクリプト生成装置３０は、スタブ化対象リスト８００の各レコードを、最遅日時８１３の遅い（新しい）順にソートする（Ｓ９１２）。
【００６６】
続いてスクリプト生成装置３０は、最遅日時８１３の遅い移行対象フォルダについてのＩ／Ｏ要求が他の移行対象フォルダのＩ／Ｏ要求に優先して移行先ストレージ装置に送信される実行文が記述されたスタブ化スクリプトを生成し、これをメモリ２２に出力する（Ｓ９１３）。
【００６７】
図１０にスタブ化スクリプト生成処理Ｓ９００によって生成されたスタブ化スクリプト１０００の一例を示す。同図に示すように、このスタブ化スクリプト１０００には、図８のスタブ化対象リスト８００の各レコードに対応して、フォルダ又はファイルのメタデータを必要とするＩ／Ｏ要求を、最遅日時の遅い（新しい）ものから優先して発生させる実行文が記述されている。
【００６８】
以上のようにして生成されたスタブ化スクリプトは、例えば、移行元サーバ装置、移行元ストレージ装置、移行先サーバ装置、及び移行先ストレージ装置がいずれも動作状態にあり、情報処理システム１において少なくともメタデータ移行処理Ｓ４００が動作している状態にあるときに、例えば、スクリプト生成装置３０によって実行される。そしてスタブ化スクリプトが実行されると、移行先サーバ装置に対して、スタブ化対象フォルダの直下に存在するフォルダ及びファイルについてのスタブ化（メタデータ移行処理Ｓ４００によるメタデータの移行）を促すＩ／Ｏ要求が順次送信され、これを移行先サーバ装置が受信することによりオンデマンド移行機能が働き、その結果、スタブ化対象フォルダの直下に存在するフォルダ及びファイルが順次スタブ化されていく。そしてその後にエンドユーザがクライアント装置２からスタブ化対象フォルダの直下に存在するフォルダ及びファイルを対象とするＩ／Ｏ要求を送信しても、そのＩ／Ｏ要求が実体データを必要とするものでない限り、移行元ストレージ装置から移行先ストレージ装置へのメタデータや実体データの移行は発生せず、エンドユーザに対するサービスに与える影響（応答性能の低下等）を防ぐことができる。
【００６９】
またその直下に存在するフォルダの数及びファイルの数の合計数がスタブ化閾値未満であるようなフォルダについてはスタブ化対象フォルダとして選出されないので（Ｓ６１４：Ｎ）、ストレージ装置１０やサーバ装置２０の負荷を不必要に増大させることはない。
【００７０】
また前述したように、スタブ化を促す上記Ｉ／Ｏ要求は、最遅日時の新しいスタブ化対象フォルダの直下に存在するフォルダ又はファイルを対象とするものが優先して送信されるので、スタブ化スクリプトの実行により、クライアント装置２からアクセスされる可能性の高いフォルダやファイルが優先してスタブ化されることとなり、これによりスタブ化されていないフォルダ又はファイルを対象とするＩ／Ｏ要求が発生する可能性が減り、エンドユーザに与える影響を効果的に抑えることができる。尚、この優先機能によって得られる効果は、移行対象となるフォルダやファイルの数が多い程大きくなる。
【００７１】
尚、本発明は以上に説明した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。またある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、またある実施例の構成に他の実施例の構成を加えることも可能である。また各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００７２】
また上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウエアで実現してもよい。また上記の各構成、機能等は、中央処理装置（プロセッサ）がそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウエアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に記憶することができる。
【００７３】
また制御線や情報線は説明上必要と考えられるものを示すものであり、必ずしも本発明が適用される製品の全ての制御線や情報線を示しているとは限らない。  
【００７４】
例えば、スタブ化スクリプトの生成主体や実行主体はスクリプト生成装置３０以外であってもよく、例えば、サーバ装置２０（移行先サーバ装置、移行元サーバ装置）やクライアント装置２をスタブ化スクリプトの生成主体や実行主体としてもよい。
【００７５】
また以上に説明した情報処理システム１では、サーバ装置２０とストレージ装置１０が独立した構成になっているが（図２）、これらは一つのハードウエアとして構成されていてもよい。
【符号の説明】
【００７６】
２  クライアント装置、５  通信ネットワーク、６  通信ネットワーク、１０  ストレージ装置、１１  データコントローラ、１２  記憶装置、２０  サーバ装置、２１１  ファイルシステム、２１２  データ移行処理部、２１２１  メタデータ移行部、２１２２  実体データ移行部、３０  スクリプト生成装置、３１１  スタブ化閾値記憶部、３１２  スタブ化対象選出部、３１３  スタブ化対象リスト生成部、３１４  スタブ化スクリプト生成部、３１５  スタブ化スクリプト実行部
【図１】
2014215686.tif 000003
【図２】
2014215686.tif 000004
【図３】
2014215686.tif 000005
【図４】
2014215686.tif 000006
【図５】
2014215686.tif 000007
【図６】
2014215686.tif 000008
【図７】
2014215686.tif 000009
【図８】
2014215686.tif 000010
【図９】
2014215686.tif 000011
【図１０】
2014215686.tif 000012
【図１１】
2014215686.tif 000013