(57)【要約】【課題】省電力効果を上げることができるファイルサーバを提供する。【解決手段】ファイルサーバ１００は、ファイルの書込み要求または読出し要求に応じて書込みまたは読出しを開始可能な状態にあるオンラインの記憶媒体と、書込み要求または読出し要求の発生に応じて起動を行う必要があるオフラインの記憶媒体とを有し、ストリームファイルの書込み要求を受理すると、ストリームファイルに含まれるビットレート情報を取得し、取得したビットレート情報とオフラインの記憶媒体の起動所要時間とに基づいてファイルの分割位置を計算し、分割位置までの第一の部分をオンラインの記憶媒体に記憶するとともに、残りの部分である第二の部分をオフラインの記憶媒体に記憶し、ストリームファイルの読出し要求を受理すると、第一の部分の読出しを行うとともに、第二の部分が記憶されているオフラインの記憶媒体を起動し、第二の部分の読出しを行う。【選択図】図１
2010176497.tif 000002
【特許請求の範囲】
【請求項１】
ファイルの書込み要求または読出し要求に応じて書込みまたは読出しを開始可能な状態にあるオンラインの記憶媒体と、前記書込み要求または前記読出し要求の発生に応じて起動を行う必要があるオフラインの記憶媒体とを有するファイルサーバであって、
前記ファイルサーバは、記憶部と処理部とを備え、
前記記憶部に予め前記オフラインの記憶媒体の起動所要時間が記憶されており、
前記処理部は、
ストリームファイルの書込み要求を受理すると、前記ストリームファイルに含まれるビットレート情報を取得し、前記取得したビットレート情報と前記オフラインの記憶媒体の起動所要時間とに基づいて前記ファイルの分割位置を計算し、前記分割位置に基づいて前記ファイルの一部である第一の部分を前記オンラインの記憶媒体に記憶するとともに、残りの部分である第二の部分を前記オフラインの記憶媒体にそれぞれ分割配置して記憶し、
前記ストリームファイルの読出し要求を受理すると、前記第一の部分の読出しを行うとともに、前記第二の部分が記憶されている前記オフラインの記憶媒体を起動し、前記第二の部分の読出しを行う
ことを特徴とするファイルサーバ。
【請求項２】
前記記憶部には、前記ファイルの拡張子と前記ファイルの分割配置が必要か否かを関係付けたファイル分割配置要否情報が記憶されており、
前記処理部は、
受理したファイルの拡張子から前記ファイル分割配置要否情報を参照して前記ファイルの分割配置が必要であるか否かを判定し、
分割配置が必要であると判定した場合、前記受理したファイルを分割配置する
ことを特徴とする請求項１に記載のファイルサーバ。
【請求項３】
前記ファイルは、メタデータ領域およびコンテンツ領域を有するストリームファイルであり、
前記処理部は、前記メタデータ領域を前記オンラインの記憶媒体に配置する
ことを特徴とする請求項１に記載のファイルサーバ。
【請求項４】
前記ファイルは、メタデータ領域および各チャプタコンテンツ領域を有するストリームファイルであり、
前記処理部は、前記各チャプタコンテンツ領域について個別に分割位置を計算し、前記分割位置に基づいて、各チャプタコンテンツ領域の一部を前記オンラインの記憶媒体に配置する
ことを特徴とする請求項１に記載のファイルサーバ。
【請求項５】
前記ストリームファイルは、さらに、索引情報が格納される索引領域を有し、
前記処理部は、前記索引領域を前記オンラインの記憶媒体に配置する
ことを特徴とする請求項３または請求項４に記載のファイルサーバ。
【請求項６】
前記記憶部には、さらに、
複数のオフラインの記憶媒体を含む階層と前記ファイルを該階層に分割配置する場合に許容される読書き頻度とを関係付けるファイル分割配置階層情報と、
前記階層に属する記憶媒体の起動所要時間を関係付ける階層起動性能情報と、が記憶されており、
前記処理部は、
前記ストリームファイルの読書き頻度に応じて再配置先の階層を決定し、
前記再配置先の階層に再配置する際に、前記ファイルの分割位置を、再配置先の階層に属する記憶媒体の起動所要時間に基づいて再計算し、前記再計算の結果に基づいて前記ファイルを再度分割配置する
ことを特徴とする請求項１に記載のファイルサーバ。
【請求項７】
前記オフラインの記憶媒体として、待機時に低回転状態になるよう設定されたハードディスクを有する
ことを特徴とする請求項６に記載のファイルサーバ。
【請求項８】
前記処理部は、前記オフラインの記憶媒体が属する装置に関して、装置全体の電源状態である入り／切りを制御する
ことを特徴とする請求項６に記載のファイルサーバ。
【請求項９】
前記オフラインの記憶媒体として、光ディスクを有する
ことを特徴とする請求項６に記載のファイルサーバ。
【請求項１０】
前記オフラインの記憶媒体として、磁気テープを有する
ことを特徴とする請求項６に記載のファイルサーバ。
【請求項１１】
ファイルの書込み要求または読出し要求に応じて即座に書込みまたは読出しを開始可能な状態にあるオンラインの記憶媒体と、前記書込み要求または前記読出し要求の発生に応じて起動を行う必要があるオフラインの記憶媒体とを有するファイルサーバにおいて、前記ファイルを前記オンラインの記憶媒体および前記オフラインの記憶媒体に分割配置して管理するファイル管理方法であって、
前記ファイルサーバの記憶部には、
予め前記オフラインの記憶媒体の起動所要時間が記憶されており、
前記ファイルサーバの処理部は、
ストリームファイルの書込み要求を受理すると、前記ストリームファイルに含まれるビットレート情報を取得し、前記取得したビットレート情報と前記オフラインの記憶媒体の起動所要時間とに基づいて前記ファイルの分割位置を計算し、前記分割位置に基づいて前記ファイルの一部である第一の部分を前記オンラインの記憶媒体に記憶するとともに、残りの部分である第二の部分を前記オフラインの記憶媒体にそれぞれ分割配置して記憶し、
前記ストリームファイルの読出し要求を受理すると、前記第一の部分の読出しを行うとともに、前記第二の部分が記憶されている前記オフラインの記憶媒体を起動し、前記第二の部分の読出しを行う
ことを特徴とするファイル管理方法。
【請求項１２】
前記記憶部には、ファイルの拡張子と分割配置が必要か否かを関係付けたファイル分割配置要否情報が記憶されており、
前記処理部は、
受理したファイルの拡張子から前記ファイル分割配置要否情報を参照して前記ファイルが分割配置するか否かを判定し、
分割配置が必要であると判定した場合、前記受理したファイルを分割配置する
ことを特徴とする請求項１１に記載のファイル管理方法。
【請求項１３】
前記記憶部には、さらに、
複数のオフラインの記憶媒体を含む階層と前記ファイルを該階層に分割配置する場合に許容される読書き頻度とを関係付けるファイル分割配置階層情報と、
前記階層に属する記憶媒体の起動所要時間を関係付ける階層起動性能情報と、が記憶されており、
前記処理部は、
前記ファイルの読書き頻度に応じて再配置先の階層を決定し、
前記再配置先の階層に再配置する際に、前記ファイルの分割位置を、再配置先の階層に属する記憶媒体の起動所要時間に基づいて再計算し、再計算結果に基づいて前記ファイルを再度分割配置する
ことを特徴とする請求項１１に記載のファイル管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＮＡＳ（Network Attached Storage）などのファイルサーバにおける、記憶装置へのデータ配置方法、および記憶媒体の電源管理の制御方法に関する。
【背景技術】
【０００２】
近年、映像などのストリームコンテンツをインターネット経由で提供するサービス（以下、ストリーミングサービスと称する。）が増加している。このようなサービスが取扱うコンテンツは極めて多種多様である。例えば、映画配信サービスにおいては、個々の利用者の嗜好にきめ細かく適合するため、人気の有無によらず多くの映画を配信することが重要となっている。さらに、利用者が撮影した映像を自由に登録し共有できるサービスが増えてきていることで、コンテンツの多様化、大容量化にさらに拍車がかかっている。
【０００３】
一方で、地球環境保護の気運の高まりに伴い、情報技術業界においても機器の消費電力低減に向けた取組みが盛んになっている。ストレージ装置に関しては、装置を構成する多数のハードディスクを個別に起動・停止可能にする、ＭＡＩＤ（Massive Array of Inactive Disks）と呼ばれる技術が注目されている。
【０００４】
ストリーミングサービスでは、ストリームコンテンツはストレージ装置から読出されて利用者にオン・デマンドで提供される。このような場合にＭＡＩＤを活用してストレージ装置の消費電力を低減する方法が検討されている。
【０００５】
特許文献１では、コンテンツを分割して異なるハードディスクに格納し，コンテンツの再生に応じて各ハードディスクを順次起動することで、コンテンツ再生要求に対する即応性を損なうことなく、消費電力を低減させる方法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−８５８７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１で開示された技術は、管理対象のすべてのファイルに対して、ハードディスクの順次起動のタイミングを一律に制御するため、異なる形式のファイルが混在する場合に適用できないという問題がある。とりわけ、ビットレートの異なるストリームコンテンツが混在する場合には、ハードディスクの順次起動のタイミングが不適切になるという問題がある。
【０００８】
また、特許文献１で開示された技術では、活用している省電力技術はハードディスクのスピンオフ（回転停止）のみである。他に考えられる省電力技術として、ハードディスクのスピンダウン（低回転）や、光ディスク装置や磁気テープ装置の活用があるが、これらについては考慮されていないため、省電力効果を十分に上げているとはいえない。
【０００９】
本発明は、上記の問題を解決するためになされたものであり、多様な形式のストリーミングコンテンツを大量に扱うサービスにおいて、省電力技術を効果的に活用することで、省電力効果を上げることができるファイルサーバおよびファイル管理方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
前記目的を達成するために、ファイルの書込み要求または読出し要求に応じて書込みまたは読出しを開始可能な状態にあるオンラインの記憶媒体（例えば、オンライン階層５１０のハードディスク２１０）と、書込み要求または読出し要求の発生に応じて起動を行う必要があるオフラインの記憶媒体（例えば、オフライン階層５８０のハードディスク２１０、光ディスク３１０、磁気テープ４１０）とを有するファイルサーバ（例えば、ファイルサーバ１００）は、記憶部と処理部とを備え、記憶部に予めオフラインの記憶媒体の起動所要時間が記憶されており、処理部は、ストリームファイルの書込み要求を受理すると、ストリームファイルに含まれるビットレート情報を取得し、取得したビットレート情報とオフラインの記憶媒体の起動所要時間とに基づいてファイルの分割位置を計算し、分割位置に基づいてファイルの一部である第一の部分をオンラインの記憶媒体に記憶するとともに、残りの部分である第二の部分をオフラインの記憶媒体にそれぞれ分割配置して記憶し、ストリームファイルの読出し要求を受理すると、第一の部分の読出しを行うとともに、第二の部分が記憶されているオフラインの記憶媒体を起動し、第二の部分の読出しを行うことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、多様な形式のストリーミングコンテンツを大量に扱うサービスにおいて、省電力効果を上げることができる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態のシステムの構成を示す図である。
【図２】本実施形態の記憶媒体の階層構造を示す図である。
【図３】ストリームファイルの構造の一例を示す図である。
【図４】データ、プログラム、装置の間の依存関係を示す図である。
【図５】ファイル分割配置要否定義表に格納されるデータを示す図である。
【図６】ファイル分割配置ポリシ定義表に格納されるデータを示す図である。
【図７】装置起動性能表に格納されるデータを示す図である。
【図８】ファイル分割格納状態管理表に格納されるデータを示す図である。
【図９】ファイル読書き回数管理表に格納されるデータを示す図である。
【図１０】ブロック書込みプログラムの処理の流れを示す図である。
【図１１】ブロック読出しプログラムの処理の流れを示す図である。
【図１２】分割配置プログラムの処理の流れを示す図である。
【図１３】データ再配置プログラムの処理の流れを示す図である。
【図１４】ストリームファイルの分割配置状態の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための形態（以下、実施形態と称する。）について、図面を参照しながら詳細に説明する。
図１は、本実施形態のシステムの構成を示す図である。本実施形態のシステムは、ファイルサーバ１００、複数の磁気ディスク装置２００、複数の光ディスク装置３００、複数の磁気テープ装置４００、メディアサーバ８００、複数のクライアント計算機９００、ＳＡＮ５００、ＬＡＮ７１０、ＷＡＮ７２０を含んでなる。磁気ディスク装置２００、光ディスク装置３００、磁気テープ装置４００は、ＳＡＮ５００、ＳＡＮアダプタ１５０を介してファイルサーバ１００に接続されている。また、ファイルサーバ１００は、ＬＡＮアダプタ１６０、ＬＡＮ７１０を介して、メディアサーバ８００に接続されている。メディアサーバ８００は、ＷＡＮ７２０を介してクライアント計算機９００に接続されている。なお、ＳＡＮは、Storage Area Networkの略、ＬＡＮは、Local Area Networkの略、ＷＡＮは、Wide Area Networkの略である。
【００１４】
ファイルサーバ１００に接続される磁気ディスク装置２００、光ディスク装置３００、磁気テープ装置４００に、後述する複数のストリームファイル６００（図３参照）が格納され、メディアサーバ８００を経由してクライアント計算機９００にオン・デマンドで配信される。メディアサーバ８００によるストリームファイル６００の配信は、従来技術の範囲内で実現可能であるため、以下ではファイルサーバ１００の内部の構成・動作に限って説明する。
【００１５】
ファイルサーバ１００は、ＣＰＵ１１０（処理部）と、メモリ１２０と、データベース１２６（記憶部）と、ＳＡＮアダプタ１５０と、ＬＡＮアダプタ１６０と、システムバス１６５とを有する。ＣＰＵ１１０、メモリ１２０、データベース１２６、ＳＡＮアダプタ１５０、ＬＡＮアダプタ１６０は、システムバス１６５を介して互いに接続されている。なお、ＣＰＵはCentral Processing Unitの略である。
【００１６】
ファイルサーバ１００上のメモリ１２０には、読書き要求処理プログラム１２１、データ再配置プログラム１２２、ブロック書込みプログラム１２３、ブロック読出しプログラム１２４、電源制御プログラム１２５が配置され、ＣＰＵ１１０によって実行される。なお、各プログラムの内容については、図４を参照して後述する。
【００１７】
データベース１２６には、ファイル分割配置要否定義表１８０（ファイル分割配置要否情報）（図５参照）と、ファイル分割配置ポリシ定義表１３０（ファイル分割配置階層情報）（図６参照）と、ファイル読書き回数管理表１９０（図９参照）と、ファイル分割格納状態管理表１４０（図８参照）と、階層起動性能表１７０（階層起動性能情報）（図７参照）とが記憶されている。なお、データベース１２６内の定義表、管理表、性能表については、図４から図９を参照して後述する。
【００１８】
磁気ディスク装置２００は、複数のハードディスク２１０と、ディスクコントローラ２２０を有する。ディスクコントローラ２２０は、ハードディスク２１０に対する読書き機能および電源制御機能を有し、ＳＡＮ５００を介してファイルサーバ１００から受付けた命令に従って処理を実行する。
【００１９】
光ディスク装置３００は、複数の光ディスク３１０と、光ディスクコントローラ３２０を有する。光ディスクコントローラ３２０は、光ディスク３１０に対する読書き機能および電源制御機能を有し、ＳＡＮ５００を介してファイルサーバ１００から受付けた命令に従って処理を実行する。
【００２０】
磁気テープ装置４００は、複数の磁気テープ４１０と、磁気テープコントローラ４２０を有する。磁気テープコントローラ４２０は、磁気テープ４１０に対する読書き機能および電源制御機能を有し、ＳＡＮ５００を介してファイルサーバ１００から受付けた命令に従って処理を実行する。
【００２１】
次に、ディスクコントローラ２２０、光ディスクコントローラ３２０、磁気テープコントローラ４２０の電源制御機能について具体的に説明する。
【００２２】
ディスクコントローラ２２０の電源制御機能は、磁気ディスク装置２００全体の電源状態（入／切）を制御する機能と、個々のハードディスク２１０の電源状態を制御する機能からなる。ハードディスク２１０の電源状態として、オンライン状態、スピンダウン状態（低回転状態）、スピンオフ状態（回転を停止した状態）の三種類から選択することができる。
【００２３】
ハードディスクの消費電力は、スピンオフ状態が最も低く、スピンダウン状態、オンライン状態の順に高くなるが、逆に、読書き命令に対する反応時間はオンライン状態が最も短く、スピンダウン状態、スピンオフ状態の順に長くなる。スピンダウン状態・スピンオフ状態のハードディスク２１０に対しては即座に読書き処理を行うことができず、読書き処理の前にオンライン状態に移行させる必要がある。スピンダウン状態からの移行時間はスピンオフ状態からの移行時間に比べて短い。
【００２４】
光ディスクコントローラ３２０の電源制御機能とは、光ディスク装置３００全体の電源状態（入／切）を制御する機能である。磁気テープコントローラ４２０の電源制御機能とは、磁気テープ装置４００全体の電源状態（入／切）を制御する機能である。
【００２５】
図２は、本実施形態の記憶媒体の階層構造を示す図である。本実施形態では、ハードディスク２１０と、光ディスク３１０と、磁気テープ４１０を、記憶媒体と総称する。また、階層とは、記憶媒体の種類および電源制御設定に基づいた分類であり、格納するデータの種類や読書き頻度に応じた使い分けを目的とするものである。
【００２６】
なお、以下の説明では、オンライン階層５１０以外の階層、すなわち、スピンダウン階層５２０、スピンオフ階層５３０、電源停止磁気ディスク装置階層５４０、光ディスク階層５５０、磁気テープ階層５６０の総称として、オフライン階層５８０という用語を用いる。
【００２７】
複数の磁気ディスク装置２００は、異なる階層に属する二つのグループ（２００Ａ，２００Ｂ）に分類される。第一のグループに属する磁気ディスク装置２００（２００Ａ）では、内部のハードディスク２１０が、オンライン階層５１０、スピンダウン階層５２０、スピンオフ階層５３０、磁気テープデータ復元領域５７０に分類される。オンライン階層５１０、スピンダウン階層５２０、スピンオフ階層５３０では、装置全体の電源は常に入状態に設定され、かつ、待機時のハードディスク２１０の電源状態が、それぞれオンライン状態、スピンダウン状態、スピンオフ状態に設定される。また、磁気テープデータ復元領域５７０は、磁気テープ４１０のデータの読出しに際して、読出したデータを一時的に格納する領域である。磁気テープデータ復元領域５７０では、待機時のハードディスクの電源状態がオンライン状態に設定される。
【００２８】
第二のグループに属する磁気ディスク装置２００（２００Ｂ）は、装置全体が電源停止磁気ディスク装置階層５４０に属する。該階層では、待機時には磁気ディスク装置２００全体の電源が切状態に設定される。
【００２９】
光ディスク装置３００は、光ディスク階層５５０に属する。光ディスク階層５５０では、待機時には光ディスク装置３００全体の電源が切状態に設定される。
【００３０】
磁気テープ装置４００は、磁気テープ階層５６０に属する。磁気テープ階層５６０では、待機時には磁気テープ装置４００全体の電源が切状態に設定される。磁気テープ階層５６０のデータの読取り時には、読取り対象の磁気テープ４１０の内容を、前記の磁気テープデータ復元領域５７０に復元した上で読取りを実行する。
【００３１】
オンライン階層５１０とオフライン階層５８０とは、それぞれ、「オンラインの記憶媒体」からなる階層、「オフラインの記憶媒体」からなる階層と換言することもできる。ここで、「オンラインの記憶媒体」とは、読書き要求に応じて即座に読書きを開始可能な状態にある記憶媒体を指し、本実施形態ではオンライン状態のハードディスク２１０が該当する。一方、「オフラインの記憶媒体」とは、待機時は省電力状態にあり、読書き要求の発生に応じて起動を行う必要がある記憶媒体を指し、本実施形態ではスピンダウン状態またはスピンオフ状態のハードディスク２１０と、光ディスク３１０と、磁気テープ４１０が該当する。
【００３２】
次に、本実施形態のファイルサーバ１００が主として取り扱うストリームファイル６００の構造について説明する。
【００３３】
図３は、ストリームファイルの構造の一例を示す図である。ストリームファイル６００は、メタデータ領域６１０とコンテンツ領域６２０を有し、さらに必要に応じて索引領域６３０も有する場合がある。メタデータ領域６１０には、ストリームファイル６００のビットレート６１１（ビットレート情報）、サイズ（不図示）などのメタデータが格納される。コンテンツ領域６２０には、映像や音声などのデータが格納される。索引領域６３０は、コンテンツ領域６２０の映像や音声などのデータに対してランダムアクセス（途中の任意の部分からの再生）を行うための索引データ（索引情報）が格納される。
【００３４】
コンテンツ領域６２０は、複数のチャプタコンテンツ領域６２１からなる場合がある。この場合、各チャプタコンテンツ領域は、複数部から構成される映像や音声などの各部に該当する。本実施形態では、この各部をチャプタと称する。
【００３５】
なお、図３に示す構造はあくまで一例であって、ストリームファイルの形式によっては構造が異なる場合がある。また、各領域の詳細な書式は、ストリームファイル６００の形式に応じて異なる。
【００３６】
次に、以上の説明の内容を踏まえて、本実施形態のファイルサーバ１００の重要な機能である、ストリームファイル６００を複数の断片に分割して配置する分割配置、各チャプタコンテンツ領域６２１のチャプタ分割配置、索引領域６３０をオンライン階層に配置する索引オンライン配置、ストリームファイル６００の再配置について説明する。なお、各機能（分割配置、チャプタ分割配置、索引オンライン配置、再配置）について説明した後、図１４を参照して具体例について説明する。
【００３７】
分割配置とは、ストリームファイル６００の一部のうち、迅速に読込む必要のある部分（例えば、図１４に示すチャプタコンテンツ領域６２１の第一の部分）をオンライン階層５１０（図２参照）に格納し、それ以外の部分（例えば、図１４に示すチャプタコンテンツ領域６２１の第二の部分）はオフライン階層５８０（図２参照）に格納することである。読出し時には、オンライン階層５１０からの読出しが行われている間にオフライン階層５８０の起動処理を行う。ここで、最大限に消費電力を低減させるため、ストリームファイル６００のビットレート６１１とオフライン階層５８０の起動所要時間に基づき、必要最低限の部分だけをオンライン階層に格納するようにする。なお、本実施形態では、分割配置されたストリームファイル６００の断片を、ファイル断片と称する。
【００３８】
チャプタ分割配置とは、分割配置に加えて、各チャプタコンテンツ領域６２１の冒頭部分をオンライン階層に格納することである。チャプタが選択的に再生される可能性がある場合には、分割配置を行うことで、任意のチャプタの再生を迅速に開始することができる。
【００３９】
索引オンライン配置とは、分割配置に加えて、索引領域６３０をオンライン階層５１０に格納することである。ストリームファイル６００のランダムアクセスが行われる可能性がある場合には、索引オンライン配置を行うことで、ランダムアクセスの性能を向上させることができる。
【００４０】
分割配置、チャプタ分割配置、索引オンライン配置を行うか否かは、ファイルの拡張子ごとに利用者がポリシとして指定することができる。なお、ファイルには、ストリームファイルと、非ストリームファイルとの両者を含み、ストリームファイルは、ファイル固有の一定速度（ビットレート）でシーケンシャルに読み出されるという特徴を有する。
【００４１】
再配置とは、ファイルへの読書き頻度に応じた構成の最適化であり、分割配置されていなかったファイルを分割配置したり、分割配置されていたファイルの分割配置を中止したり、異なる階層のオフライン階層５８０に新たに分割配置したりすることである。読書き頻度が大きなファイルは、オンライン階層５１０または起動時消費電力の低い階層のオフライン階層５８０に配置し、逆に、読書き頻度が小さなファイルは、待機時の消費電力が低い階層のオフライン階層５８０に配置するようにすることで、消費電力のさらなる低減が可能になる。
【００４２】
再配置を実施するか否かの判断基準となるアクセス頻度の閾値は、ファイルの拡張子および分割配置先のオフライン階層５８０の種類ごとに、利用者がポリシとして指定することができる。
【００４３】
図１４は、ストリームファイルの分割配置状態の一例を示す図である。図１４に、ストリームファイル６００が、メタデータ領域６１０と、二つのチャプタコンテンツ領域６２１と、索引領域６３０とを有する場合の分割配置状態の一例を示す。ストリームファイル６００がチャプタ分割配置を実施され、索引オンライン配置を実施しないポリシが適用された場合の、分割配置状態の一例を示すものである。
【００４４】
この分割配置状態の一例では、該ストリームファイルは四個のファイル断片に分割される。第一のファイル断片は、メタデータ領域６１０と、第一のチャプタコンテンツ領域６２１（６２１Ａ）の先頭から始まる一部分（以下、第一の部分と称する。）からなり、オンライン階層に格納される。
【００４５】
第二のファイル断片は、第一のチャプタコンテンツ領域６２１（６２１Ａ）に属し，かつ前記の第一の部分を除く領域（以下、第二の部分と称する。）からなり、オフライン階層５８０に格納される。なお、第一の部分と第二の部分の分割位置は、後述する図８に示す終了アドレス１４５（分割位置）による。
【００４６】
第三のファイル断片は、第二のチャプタコンテンツ領域６２１（６２１Ｂ）の第一の部分からなり、オンライン階層に格納される。第四のファイル断片は、第二のチャプタコンテンツ領域６２１（６２１Ｂ）の第二の部分と、索引領域６３０からなり、オフライン階層５８０に格納される。
【００４７】
この分割配置状態の一例を用いて、再配置によって分割配置先のオフライン階層が変更された場合の、分割配置状態の変化について説明する。再配置時に、オンライン階層への格納対象となる、各チャプタコンテンツ領域６２１の第一の部分のサイズが再計算され、結果として、第一のファイル断片と第二のファイル断片との間の境界の位置、および第三のファイル断片と第四のファイル断片との境界の位置は、それぞれ再配置前と異なる位置に変更される。
【００４８】
次に、本実施形態の処理の概要について説明する。
図４は、データベース１２６を中心として、データ、プログラム、装置の間の依存関係を示す図である。データベース１２６には、図１に示したように、ファイル分割配置要否定義表１８０（図５参照）と、ファイル分割配置ポリシ定義表１３０（図６参照）と、ファイル読書き回数管理表１９０（図９参照）と、ファイル分割格納状態管理表１４０（図８参照）と、階層起動性能表１７０（図７参照）とを有する。
【００４９】
ファイル分割配置要否定義表１８０（図５参照）は、ファイルサーバ１００で管理するファイルの形式ごとに、分割配置を実施するか否かを定義した表である。ファイル分割配置ポリシ定義表１３０（図６参照）は、ファイルサーバ１００で管理するファイルの形式と、格納先のストレージ装置の階層ごとに、分割配置および再配置のポリシを定義した表である。ファイル読書き回数管理表１９０（図９参照）は、ファイルサーバ１００で管理するファイルごとに、読書き回数を保持する表である。ファイル分割格納状態管理表１４０（図８参照）は、分割配置されたファイルの各ファイル断片についての格納先を管理する表である。階層起動性能表１７０（図７参照）は、ストレージ装置の各階層についての起動所要時間（読書きを実行できるようになるまでの時間）を管理する表である。
【００５０】
読書き要求処理プログラム１２１は、ＮＦＳやＣＩＦＳなどのファイルシステムプロトコルに従った入力インタフェースを、メディアサーバ８００に対して提供する。該プログラムは、ＬＡＮアダプタ１６０を介して、メディアサーバ８００から読書き命令を受取り、命令の内容に応じてブロック書込みプログラム１２３またはブロック読出しプログラム１２４に制御を移す。なお、ＮＦＳはNetwork File Systemの略、ＣＩＦＳはCommon Internet File Systemの略である。
【００５１】
データ再配置プログラム１２２は、ファイルサーバ１００が管理するデータを、読書き頻度に応じた適切な階層に移動する。該プログラムは、各ファイルについて、ファイル読書き回数管理表１９０を参照して読書き頻度を算出し、結果が現在の格納先階層において許容されない値の場合は、ブロック書込みプログラム１２３およびブロック読出しプログラム１２４を利用して再配置処理を実行する。
【００５２】
ブロック書込みプログラム１２３は、ファイルサーバ１００に対する書込み要求を処理するプログラムで、ファイルの形式に応じた複数の分割配置プログラム１２９を有する。ブロック書込みプログラム１２３は、ファイル分割配置要否定義表１８０とファイル分割配置ポリシ定義表１３０と階層起動性能表１７０に基づいて、処理中のファイルの形式に応じた分割配置プログラム１２９を選択し、ファイルの分割配置を行う。ブロック書込みプログラム１２３は、クローズ命令の受信を契機として、電源制御プログラム１２５を用いて格納先装置の電源を入状態にしたのち、次にＳＡＮアダプタ１５０を介してディスクコントローラ２２０または光ディスクコントローラ３２０または磁気テープコントローラ４２０に対して記憶媒体への書込み命令を発行し、さらにファイル読書き回数管理表１９０を更新したのち、最後に電源制御プログラム１２５を用いて格納先装置の電源を切状態にする。
【００５３】
なお、分割配置プログラム１２９はプラグインとして作成する。従って、例えば新しいファイル形式を採用する場合、当該ファイル形式に対応した分割配置プログラム１２９を作成して、本実施形態に適用することが可能である。
【００５４】
ブロック読出しプログラム１２４は、ファイルサーバ１００に対する読出し要求を処理する。該プログラムは、ファイル分割格納状態管理表１４０に基づいて、電源制御プログラム１２５を用いて格納先の装置の電源を入状態にしたのち、次にＳＡＮアダプタ１５０を介して記憶媒体に対して読出し命令を発行し、さらにファイル読書き回数管理表１９０を更新したのち、最後に電源制御プログラム１２５を用いて格納先装置の電源を切状態にする。
【００５５】
電源制御プログラム１２５は、ＳＡＮアダプタ１５０経由で、ディスクコントローラ２２０、光ディスクコントローラ３２０、磁気テープコントローラ４２０に対して装置または記憶媒体の電源を制御する命令を発行する。
【００５６】
以下では、図４に示した表（テーブル）・プログラムについて、テーブルへのデータの格納内容およびプログラムの処理内容をそれぞれ説明する。
【００５７】
図５は、ファイル分割配置要否定義表に格納されるデータを示す図である。ファイル分割配置要否定義表１８０には、拡張子名１８１、分割配置要否１８２、デフォルト階層１８３が格納される。拡張子名１８１は、該表の主キーであり、該表の各列は、特定の拡張子を持つファイルに対して適用される、分割配置ポリシを意味する。
【００５８】
分割配置要否１８２は、ファイルの分割配置を行う必要があるか否かを示すもので、「必要」と「不要」とのいずれかが格納される。デフォルト階層１８３は、ファイルの分割配置を行う場合に、ファイルの書込み先として選択されるオフライン階層５８０を示すもので、分割配置要否１８２に「必要」が格納されている行についてのみ格納される。
【００５９】
ファイル分割配置要否定義表１８０には、メディアサーバ８００の機能および性能要件に応じて、メディアサーバ８００の管理者が好適な値を設定する。図５に記載の設定値は、メディアサーバ８００が、拡張子「ｍｐｇ」および「ｗｍｖ」で示される二種類のストリームファイル形式を扱い、拡張子「ｅｘｅ」および「ｔｘｔ」で示される二種類の非ストリームファイル形式を扱うことを想定した場合の、設定値の一例である。
【００６０】
なお、本実施形態ではデータベース１２６内にファイル分割配置要否定義表１８０の設定情報を管理しているが、設定を容易にするため設定ファイルによる設定機能を提供してもよい。具体的には、メディアサーバ８００の管理者が、メディアサーバ８００で稼動するＯＳ（Operating System）上で稼動するファイル編集プログラム（不図示）を、モニタを参照しながらキーボードを用いて操作することで、メディアサーバ８００の内蔵ハードディスク（不図示）に格納された設定ファイルに、所定の書式で好適な設定値を書込む。ブロック書込みプログラム１２３（図１参照）は、データベース１２６内のテーブルを読み込む代わりに、設定ファイルから設定値を読取るようにするとよい。
【００６１】
図６は、ファイル分割配置ポリシ定義表に格納されるデータを示す図である。ファイル分割配置ポリシ定義表１３０には、拡張子名１３１、格納先装置階層名１３２、分割配置プログラム名１３３、チャプタ分割配置要否１３４、索引オンライン分割要否１３５、断片サイズ算出用安全係数１３６、読書き頻度上限閾値１３７、読書き頻度下限閾値１３８が格納される。拡張子名１３１、格納先装置階層名１３２は、該表の主キーであり、該表の各列は、特定の拡張子を持つファイルを特定のオフライン階層５８０に分割配置する場合に適用される、分割配置ポリシを意味する。なお、読書き頻度上限閾値１３７の上限閾値は指定回数を含まないものとし、読書き頻度下限閾値１３８の下限閾値は指定回数を含むものとする。例えば、行１３９の場合、２０回／日 ≦ 読書き頻度 ＜ ５０回／日の場合に、スピンオフ階層にあることが好ましい。
【００６２】
ファイル分割配置ポリシ定義表１３０には、メディアサーバ８００の機能および性能要件に応じて、メディアサーバ８００の管理者が好適な値を設定する。図６に記載の設定値は、拡張子「ｍｐｇ」で示されるストリームファイルの形式についての設定値の一例である。本実施形態ではデータベース１２６内にファイル分割配置ポリシ定義表１３０の設定情報を管理しているが、設定を容易にするため設定ファイルによる設定機能を提供してもよい。
【００６３】
分割配置プログラム名１３３は、ブロック書込みプログラム１２３が有する複数の分割配置プログラム１２９のうち、該拡張子のファイルを該階層に分割配置する場合に適用される分割配置プログラム１２９の名称である。
【００６４】
チャプタ分割配置要否１３４は、該拡張子のファイルを該階層に分割配置する場合に、チャプタ分割配置を実施するか否かを示すフラグであり、「必要」と「不要」とのいずれかが格納される。本フラグは、メディアサーバ８００がチャプタ単位の再生機能を利用者に提供する場合に、「必要」に設定することで、任意のチャプタを迅速に再生することができるようになる。
【００６５】
索引オンライン分割要否１３５は、該拡張子のファイルを該階層に分割配置する場合に、索引オンライン配置を実施するか否かを示すフラグであり、「必要」と「不要」とのいずれかが格納される。本フラグは、メディアサーバ８００がストリームの早送り、巻戻し、ジャンプ機能などを提供する場合に、「必要」に設定することで、左記機能に対する反応時間を短縮することができる。
【００６６】
断片サイズ算出用安全係数１３６は、該拡張子のファイルを該階層に分割配置する場合に、オンライン階層に格納するファイル断片のサイズを決定する際に乗じる安全係数を示す。本安全係数は、コンテンツ領域内のビットレートが一様でない場合や、記憶媒体の起動所要時間に揺らぎがある場合において、オフライン階層５８０の記憶媒体の起動が完了する前にオンライン階層に格納されたファイル断片の再生が完了してしまうことを防止するためのものである。
【００６７】
読書き頻度上限閾値１３７および読書き頻度下限閾値１３８は、該拡張子のファイルを該階層に分割配置する場合に許容される読書き頻度の範囲を示すものであり、読書き頻度が許容範囲外となった場合には該データを再配置の対象とすることを示すものである。図６に記載の設定値の一例では、行１３９に示すスピンオフ階層５３０に分割配置された、拡張子が「ｍｐｇ」を持つファイルの読書き頻度が５０回／日以上であると、該ファイルを別の階層へ再配置する、というポリシが定義されている。同様に、拡張子が「ｍｐｇ」を持つファイルの読書き頻度が２０回／日未満であると該ファイルを別の階層へ再配置する、というポリシが定義されている。
【００６８】
図７は、階層起動性能表に格納されるデータを示す図である。階層起動性能表１７０には、階層名１７１、起動所要時間１７２が格納される。階層名１７１は該表の主キーであり、起動所要時間１７２は階層名１７１で特定される階層の記憶媒体が、待機状態から読書き可能になるまでの時間を示している。
【００６９】
階層起動性能表１７０には、記憶装置（磁気ディスク装置２００、光ディスク装置３００、磁気テープ装置４００）の製造者が開示する起動性能値に基づき、ファイルサーバ１００の管理者が値を設定する。本実施形態ではデータベース１２６内に階層起動性能表１７０の設定情報を管理しているが、設定を容易にするため設定ファイルによる設定機能を提供してもよい。
【００７０】
図８は、ファイル分割格納状態管理表に格納されるデータを示す図である。ファイル分割格納状態管理表１４０には、パス名１４１、ファイル名１４２、ファイル断片番号１４３、開始アドレス１４４、終了アドレス１４５（分割位置）、格納先階層名１４９、格納先装置名１４６、格納先記憶媒体番号１４７、格納先アドレス１４８が格納される。パス名１４１、ファイル名１４２およびファイル断片番号１４３は、該表の主キーであり、該表の各列は、パス名１４１およびファイル名１４２で特定されるファイルを分割格納する際の、ファイル断片の格納先を表現している。
【００７１】
図８に記載の値は一例であり、スピンオフ階層５３０に分割配置されたファイル「ｃｏｍｅｔｓ．ｍｐｇ」と、分割配置されていないファイル「ｑｕａｒｋｓ．ｍｐｇ」の格納状態を示すものである。なお、「ｃｏｍｅｔｓ．ｍｐｇ」についての値は、図１４に示した分割配置状態の一例に対応する値となっている。具体的には、図１４に示した第一のファイル断片から第四のファイル断片は、ファイル断片番号１４３の列欄に示す４つのファイル断片（ファイル断片番号１からファイル断片番号４）に対応している。
【００７２】
開始アドレス１４４および終了アドレス１４５は、ファイル断片の開始アドレスおよび終了アドレスに該当し、ファイルの論理アドレスの範囲を示すものである。格納先階層名１４９は、ファイル断片が格納された階層を示すものである。格納先装置名１４６は、ファイル断片が格納された記憶媒体の名称（磁気ディスク装置２００の名称、光ディスク装置３００の名称、もしくは磁気テープ装置４００の名称）を示すものである。格納先記憶媒体番号１４７は、ファイル断片が格納されたハードディスク２１０の名称、光ディスク３１０の名称、もしくは磁気テープ４１０の名称を示すものである。格納先アドレス１４８は、ハードディスク２１０、光ディスク３１０、もしくは磁気テープ４１０における、ファイル断片の先頭の物理アドレスを示すものである。
【００７３】
なお、本実施形態では、ファイル分割格納状態管理表１４０をファイルサーバ１００が有するデータベース１２６に配置したが、磁気ディスク装置２００のハードディスク２１０内に配置してもよい。
【００７４】
図９は、ファイル読書き回数管理表に格納されるデータを示す図である。ファイル読書き回数管理表１９０には、パス名１９１と、ファイル名１９２と、読書き回数１９３が格納される。パス名１９１およびファイル名１９２は、該表の主キーであり、読書き回数１９３は、パス名１９１およびファイル名１９２で特定されるファイルに対する読書き回数のカウント結果を示すものである。
【００７５】
図９に記載の値は一例であり、ファイル「ｃｏｍｅｔｓ．ｍｐｇ」の読書き回数のカウント結果が３０回、ファイル「ｑｕａｒｋｓ．ｍｐｇ」については１５０回であることを示すものである。
【００７６】
なお、本実施形態では、ファイル読書き回数管理表１９０をファイルサーバ１００が有するデータベース１２６に配置したが、磁気ディスク装置２００のハードディスク２１０内に配置してもよい。
【００７７】
次に、読書き要求処理プログラム１２１の処理について図４を参照して説明する。
読書き要求処理プログラム１２１は、ＬＡＮアダプタ１６０を介して、メディアサーバ８００から読書き命令を受取る。書込みモードの命令を受付けた場合、該ファイルに対する以後の命令はブロック書込みプログラム１２３を呼出して処理する。また、読書き要求処理プログラム１２１は、読出しモードの命令を受付けた場合、該ファイルに対する以後の命令はブロック読出しプログラム１２４を呼出して処理する。
【００７８】
読書き要求処理プログラム１２１からブロック書込みプログラム１２３を呼出す際に渡すパラメタについて補足説明する。ファイル分割配置要否定義表１８０（図５参照）から、拡張子名１８１が書込み対象のファイル名の拡張子と一致する行を抽出し、該行の分割配置要否１８２とデフォルト階層１８３の値を取得する。ブロック書込みプログラム１２３を呼出す際には、前記で取得した分割配置要否１８２を渡す。さらに、前記で取得した分割配置要否１８２の値が「必要」であれば、分割配置先のオフライン階層５８０の名称として前記で取得したデフォルト階層１８３の値をも渡すようにする。
【００７９】
なお、本実施形態では既存のストリームファイル６００に対する追記命令を受付けない。これは、ストリーム再生用途では追記の必要性がないためである。また、読書き要求処理プログラム１２１では、ファイルの読書き以外に、ファイル作成、ファイル削除、ファイル一覧取得などの命令を受信する可能性があるが、これらの処理に対してはファイル読書き回数管理表１９０およびファイル分割格納状態管理表１４０に対する追記・削除・参照処理にて実現するが、従来技術の範囲内で実現可能であるため、詳細な説明は省略する。
【００８０】
図１０は、ブロック書込みプログラムの処理の流れを示す図である。図４に示すブロック書込みプログラム１２３の詳細な処理の流れを、図１０を用いて説明する。ブロック書込みプログラム１２３では、呼出し元からのパラメタとして、パス名と、ファイル名と、ファイルサーバ１００が受信した書込み命令と、ファイル分割配置の要否を受取る。ファイルの分割配置が「必要」である場合は、追加のパラメタとしてオフライン階層５８０の階層名をも受取る。なお、ブロック書込みプログラム１２３は、ＣＰＵ１１０によって実行される。
【００８１】
ステップＳ１２３００において、ブロック書込みプログラム１２３は、ファイルサーバ１００が受信した命令がオープン命令（オープン命令を受信）であるか否かを判定する。判定結果が真であれば（ステップＳ１２３００，Ｙｅｓ）、ステップＳ１２３１１に進み、判定結果が偽であれば（ステップＳ１２３００，Ｎｏ）、ステップＳ１２３０１に進む。ステップＳ１２３１１では、オンライン階層５１０にあるハードディスク２１０の中で、ファイル分割格納状態管理表１４０の格納先装置名１４６および格納先記憶媒体番号１４７に登録されていないものを一つ選択し、一時書込み領域として確保したのち、プログラムの実行を終了する。
【００８２】
ステップＳ１２３０１では、ファイルサーバ１００が受信した命令がクローズ命令以外（クローズ命令以外を受信）であるか否かを判定する。判定結果が真であれば（ステップＳ１２３０１，Ｙｅｓ）、ステップＳ１２３０２に進み、判定結果が偽であれば（ステップＳ１２３０１，Ｎｏ）、ステップＳ１２３０３に進む。ステップＳ１２３０２では、ステップＳ１２３１１で確保した一時書込み領域に対して、ファイルサーバ１００が受信した命令に従って書込みを行ったのち、プログラムの実行を終了する。
【００８３】
ステップＳ１２３０３では、分割配置しないか否かを判定する。判定結果（呼出し元から受取ったファイルの分割配置の要否）に応じて分岐する。分割配置が「必要」であれば（ステップＳ１２３０３，Ｎｏ）、ステップＳ１２３０４に進み、分割配置が「不要」であれば（ステップＳ１２３０３，Ｙｅｓ）、ステップＳ１２３１０に進む。
【００８４】
ステップＳ１２３０４では、ファイル分割配置ポリシ定義表１３０から、拡張子名１３１が呼出し元から受取ったファイル名の拡張子と一致し、かつ格納先装置階層名１３２が呼出し元から受取った格納先階層と一致する行を抽出する。次に、該行の分割配置プログラム名１３３と一致する分割配置プログラム１２９を選択して呼出し、オフライン装置への格納対象領域を決定したのち、ステップＳ１２３０５に進む。
【００８５】
分割配置プログラム１２９の呼出し時に渡すパラメタについて補足説明する。ステップＳ１２３０１およびステップＳ１２３０２で述べた一時書込み領域のデータを、ストリームファイル６００の内容として分割配置プログラム１２９に渡すようにする。
【００８６】
ステップＳ１２３０５では、呼出し元から受取った階層名に対応する階層に属する記憶媒体の中で、ファイル分割格納状態管理表１４０の格納先装置名１４６および格納先記憶媒体番号１４７に登録されていないものを一つ選択し、これをオフライン領域格納部分の格納先記憶媒体と定めたのち、ステップＳ１２３０６に進む。
【００８７】
ステップＳ１２３０６では、ステップＳ１２３０５で決定した再配置先記憶媒体を起動するための指示を、電源制御プログラム１２５に対して発行したのち、ステップＳ１２３０７に進む。ステップＳ１２３０７では、ステップＳ１２３０５で決定した再配置先記憶媒体の起動が完了しているか否か（未起動か否か）を、電源制御プログラム１２５を介して確認する。完了していなければ（未起動）（ステップＳ１２３０７，Ｙｅｓ）、ステップＳ１２３０７に戻り、起動が完了するまで待機する。起動完了を確認したのち（ステップＳ１２３０７，Ｎｏ）、ステップＳ１２３０８に進む。
【００８８】
ステップＳ１２３０８では、オンライン階層５１０に一時書込みされたデータのうち、ステップＳ１２３０３で決定したオフライン階層格納対象領域に該当する部分について、ステップＳ１２３０４で決定した再配置先記憶媒体に順次コピーする。コピー完了後、ステップＳ１２３０９に進む。ステップＳ１２３０９では、ステップＳ１２３０５で決定した再配置先記憶媒体を停止するための指示を、電源制御プログラム１２５に対して発行したのち、ステップＳ１２３１０に進む。
【００８９】
ステップＳ１２３１０では、ファイル分割格納状態管理表１４０に、オンライン階層５１０に格納されたファイル断片と、オフライン階層５８０に格納されたファイル断片に対応する行を追加したのち、プログラムを終了して呼出し元に復帰する。なお、ファイル断片番号１４３については、ファイル断片ごとに異なる番号を付与する。
【００９０】
図１１は、ブロック読出しプログラムの処理の流れを示す図である。図４に示すブロック読出しプログラム１２４の詳細な処理の流れを、図１１を用いて説明する。ブロック読出しプログラム１２４では、呼出し元からのパラメタとして、パス名と、ファイル名と、ファイルサーバ１００が受信した読出し命令を受取る。なお、ブロック読出しプログラム１２４は、ＣＰＵ１１０によって実行される。
【００９１】
ステップＳ１２７０１では、ブロック読出しプログラム１２４は、ファイルサーバ１００が受信した命令がオープン命令（オープン命令を受信）であるか否かを判定する。判定結果が真であれば（ステップＳ１２７０１，Ｙｅｓ）、ステップＳ１２７０２に進み、判定結果が偽であれば（ステップＳ１２７０１，Ｎｏ）、ステップＳ１２７０５に進む。
【００９２】
ステップＳ１２７０２では、ファイル分割格納状態管理表１４０から、パス名１４１およびファイル名１４２が、呼出し元から受取ったパス名およびファイル名とそれぞれ一致する行を抽出する。次に、該行の格納先装置名１４６および格納先記憶媒体番号１４７を取得し、該当する記憶媒体を起動する指示を、電源制御プログラム１２５に発行したのち、ステップＳ１２７０３に進む。
【００９３】
ステップＳ１２７０３では、ステップＳ１２７０２で抽出した行の格納先階層名１４９が磁気テープ階層５６０であるか否かを判定する。判定結果が真であれば（ステップＳ１２７０３，Ｙｅｓ）、ステップＳ１２７０４に進み、判定結果が偽であれば（ステップＳ１２７０３，Ｎｏ）、プログラムを終了して呼出し元に復帰する。
【００９４】
ステップＳ１２７０４では、ステップＳ１２７０２で取得した格納先装置名１４６に該当する磁気テープ装置４００の、ステップＳ１２７０２で取得した格納先記憶媒体番号１４７に該当する磁気テープ４１０のデータを、磁気ディスク装置２００の磁気テープデータ復元領域５７０に復元する指示を発行したのち、プログラムを終了して呼出し元に復帰する。
【００９５】
ステップＳ１２７０５では、受信した命令がクローズ命令（クローズ命令を受信）であるか否かを判定する。判定結果が真であれば（ステップＳ１２７０５，Ｙｅｓ）、ステップＳ１２７０６に進み、判定結果が偽であれば（ステップＳ１２７０５，Ｎｏ）、ステップＳ１２７０８に進む。ステップＳ１２７０６では、ファイル分割格納状態管理表１４０から、パス名１４１およびファイル名１４２が、呼出し元から受取ったパス名およびファイル名とそれぞれ一致する行を抽出する。次に、該行の格納先装置名１４６および格納先記憶媒体番号１４７を取得し、該当する装置および記憶媒体を停止する指示を、電源制御プログラム１２５に発行したのち、ステップＳ１２７０７に進む。
【００９６】
ステップＳ１２７０７では、ファイル読書き回数管理表１９０から、パス名１９１およびファイル名１９２が、呼出し元から受取ったパス名およびファイル名とそれぞれ一致する行を抽出し、該行の読書き回数１９３の値を、元の値に１を加えた値で更新したのち、プログラムを終了して呼出し元に復帰する。
【００９７】
ステップＳ１２７０８では、ファイル分割格納状態管理表１４０から、パス名１４１およびファイル名１４２が、呼出し元から受取ったパス名およびファイル名とそれぞれ一致し、かつ、開始アドレス１４４と終了アドレス１４５で決定づけられる領域内に、呼出し元から受取った読出し命令で指定された読取対象ブロックの論理アドレスが含まれる、という条件を満たす行を抽出する。次に、該行の格納先階層名１４９がオフライン階層５８０に属するかを判定する。判定結果が真であれば（ステップＳ１２７０８，Ｙｅｓ）、ステップＳ１２７０９に進み、判定結果が偽であれば（ステップＳ１２７０８，Ｎｏ）、ステップＳ１２７１２に進む。
【００９８】
ステップＳ１２７０９では、ステップＳ１２７０８で取得した行の格納先装置名１４６および格納先記憶媒体番号１４７を取得し、該当の装置および記憶媒体が未起動であるか否かを、電源制御プログラム１２５を介して確認する。起動済でなければ（ステップＳ１２７０９，Ｙｅｓ）、ステップＳ１２７０９に戻り、起動するまで待機する。起動済であることを確認したのち（ステップＳ１２７０９，Ｎｏ）、ステップＳ１２７１０に進む。
【００９９】
ステップＳ１２７１０では、ステップＳ１２７０８で抽出した行の格納先階層名１４９が磁気テープ階層５６０であるか否かを判定する。判定結果が真であれば（ステップＳ１２７１０，Ｙｅｓ）、ステップＳ１２７１１に進み、判定結果が偽であれば（ステップＳ１２７１０，Ｎｏ）、ステップＳ１２７１２に進む。
【０１００】
ステップＳ１２７１１では、ステップＳ１２７０４で指示した、磁気テープ４１０のデータの復元が未完了か否かを確認する。完了していない場合（未完了）は（ステップＳ１２７１１，Ｙｅｓ）、ステップＳ１２７１１に戻り、完了するまで待機する。データの復元完了を確認したのち（ステップＳ１２７１１，Ｎｏ）、ステップＳ１２７１２に進む。
【０１０１】
ステップＳ１２７１２では、ステップＳ１２７０８で取得した行の格納先装置名１４６および格納先記憶媒体番号１４７で指定される記憶媒体（ハードディスク２１０、光ディスク３１０、磁気テープ４１０のいずれか）から、ファイルサーバ１００が受信した命令に従ってデータの読出しを行う。読出しの際には、読出し命令に含まれるファイルの論理アドレスと、記憶媒体の物理アドレスとを、ステップＳ１２７０８で取得した行の開始アドレス１４４と格納先アドレス１４８とを用いて対応付ける。読出しが完了したのち、プログラムを終了して呼出し元に復帰する。
【０１０２】
図１２は、分割配置プログラムの処理の流れを示す図である。図４に示す分割配置プログラム１２９の詳細な処理の流れを、図１２を用いて説明する。分割配置プログラム１２９では、呼出し元からのパラメタとして、分割配置対象のストリームファイル６００の内容と、分割配置先のオフライン階層名を受取る。なお、分割配置プログラム１２９は、ＣＰＵ１１０によって実行される。
【０１０３】
ステップＳ１２９０１では、分割配置プログラム１２９は、分割配置プログラム１２９が対応するファイル形式の仕様に従って、呼出し元から受取ったストリームファイル６００の内容の構文解析を行い、メタデータ領域６１０、コンテンツ領域６２０を特定したのち、ステップＳ１２９０２に進む。ステップＳ１２９０２では、ステップＳ１２９０１で特定したメタデータ領域６１０の内容の構文解析を行い、ビットレート６１１を取得したのち、ステップＳ１２９０３に進む。
【０１０４】
ステップＳ１２９０３では、記憶媒体の起動時間に対応するデータサイズを決定する。具体的には、階層起動性能表１７０から、階層名１７１が呼出し元から受取った階層名と一致する行を抽出し、該行の起動所要時間１７２を取得する。次に、ファイル分割配置ポリシ定義表１３０から、拡張子名１３１が当該プログラムが対応するファイル形式の拡張子と一致し、かつ格納先装置階層名１３２が呼出し元から受取った階層名と一致する行を抽出し、チャプタ分割配置要否１３４と索引オンライン分割要否１３５と断片サイズ算出用安全係数１３６を取得する。最後に、記憶媒体の起動所要時間に対応するデータサイズとして、ステップＳ１２９０２で取得したビットレート６１１に、前記処理で取得した起動所要時間１７２を乗じ、さらに前記処理で取得した断片サイズ算出用安全係数１３６を乗じた値を求める。次に、ステップＳ１２９０４に進む。
【０１０５】
ステップＳ１２９０３におけるデータサイズの算出処理の具体例を示す。図６および図７に示す設定値の一例が適用されている場合において、拡張子が「ｍｐｇ」でビットレートが「０．１メガバイト／秒」であるファイルを、スピンオフ階層５３０に分割配置する場合、ビットレートの値である「０．１メガバイト／秒」に、図７の設定値から得られる起動所要時間「１０秒」を乗じ、さらに、図６の設定値から得られる安全係数の値「１．２５０」を乗じることで、データサイズは「１．２５メガバイト（１３１０７２０バイト）」と算出される。なお、算出されたデータサイズに基づいて、図８に示す終了アドレス１４５（分割位置）が決定される。
【０１０６】
ステップＳ１２９０４では、チャプタ分割格納が必要か否かを判定する。すなわち、ステップＳ１２９０３で取得したチャプタ分割配置要否１３４に応じて分岐する。「要」の場合は（ステップＳ１２９０４，Ｙｅｓ）、ステップＳ１２９０５に進み、「不要」の場合は（ステップＳ１２９０４，Ｎｏ）、ステップＳ１２９０６に進む。
【０１０７】
ステップＳ１２９０５では、ステップＳ１２９０１で得られたコンテンツ領域６２０の構文解析を行い、該コンテンツ領域に含まれるすべてのチャプタコンテンツ領域６２１を特定する。次に、各チャプタコンテンツ領域６２１について、先頭からステップＳ１２９０３で求めたサイズの領域を除いた領域を求め、得られた各領域の和集合を算出したのち、ステップＳ１２９０７に進む。
【０１０８】
ステップＳ１２９０６では、ステップＳ１２９０１で得られたコンテンツ領域６２０について、先頭からステップＳ１２９０３で求めたサイズの領域を除いた領域を求めたのち、ステップＳ１２９０７に進む。
【０１０９】
ステップＳ１２９０７では、索引領域をオンライン装置に格納する必要があるか否かを判定する。すなわち、ステップＳ１２９０３で取得した索引オンライン分割要否１３５に応じて分岐する。格納しない場合は（ステップＳ１２９０７，Ｎｏ）、ステップＳ１２９０８に進む。格納する場合は（ステップＳ１２９０７，Ｙｅｓ）、ステップＳ１２９０５またはステップＳ１２９０６で算出した領域を、オフライン階層５８０への格納対象と定め、プログラムを終了して呼出し元に復帰する。
【０１１０】
ステップＳ１２９０８では、分割配置プログラム１２９が対応するファイル形式の仕様に従って、呼出し元から受取ったストリームファイル６００の内容を構文解析し、索引領域６３０を特定する。得られた索引領域６３０と、ステップＳ１２９０５またはステップＳ１２９０６で得られた領域の和集合を、オフライン階層５８０への格納対象と定め、プログラムを終了して呼出し元に復帰する。
【０１１１】
図１３は、データ再配置プログラムの処理の流れを示す図である。図４に示すデータ再配置プログラム１２２の詳細な処理の流れを、図１３を用いて説明する。なお、データ再配置プログラム１２２は、ＣＰＵ１１０によって実行される。
【０１１２】
ステップＳ１２２０１では、データ再配置プログラム１２２は、次の再配置予定時刻になるまで待機する処理を行う。本実施形態では、再配置予定時刻はプログラムに記述された一定の再配置時間間隔に従って設定するが、時間間隔を設定ファイルなどでユーザが指定できるような手段を提供してもよい。
【０１１３】
ステップＳ１２２０２では、ファイル読書き回数管理表１９０に格納されているすべての行について、ステップＳ１２２０２とステップＳ１２２１０で挟まれた部分の処理を実行する。ステップＳ１２２０３では、分割不要のファイル形式であるか否かを判定する。具体的には、処理対象行からパス名１９１およびファイル名１９２を取得する。ファイル分割配置要否定義表１８０から、拡張子名１８１が前記のファイル名１９２の拡張子と一致する行を抽出し、該行から分割配置要否１８２を取得する。分割配置要否１８２が「不要」ならば（ステップＳ１２２０３，Ｙｅｓ）、ステップＳ１２２１０に進み、「要」ならば（ステップＳ１２２０３，Ｎｏ）、ステップＳ１２２０４に進む。ステップＳ１２２０４では、処理対象行の読書き回数１９３の値を、前記の再配置時間間隔で除算して読書き頻度を求め、ステップＳ１２２０５に進む。
【０１１４】
ステップＳ１２２０５では、読書き頻度が基準範囲内か否かを判定する。具体的には、ファイル分割格納状態管理表１４０から、パス名１４１およびファイル名１４２が、ステップＳ１２２０３で取得したパス名１９１およびファイル名１９２にそれぞれ一致し、かつ格納先階層名１４９がオフライン階層５８０に属する行を抽出する。次に、ファイル分割配置ポリシ定義表１３０から、拡張子名１３１がステップＳ１２２０３で取得したファイル名１９２の拡張子と一致し、かつ格納先装置階層名１３２が前記でファイル分割格納状態管理表から抽出された行の格納先階層名１４９と一致する、という条件を満たす行を抽出する。続いて、『読書き頻度下限閾値１３８ ≦ ステップＳ１２２０４で算出した読書き頻度 ＜ 読書き頻度上限閾値１３７』という条件が満たされるか否かを判定する。判定結果が真ならば（ステップＳ１２２０５，Ｙｅｓ）、ステップＳ１２２１０に進み、判定結果が偽なら（ステップＳ１２２０５，Ｎｏ）、ステップＳ１２２０６に進む。
【０１１５】
なお、ステップＳ１２２０５の前記処理において、ファイル分割格納状態管理表１４０から行を抽出する際に、前記条件を満たす行が存在しない場合（該ファイルが分割配置されておらず、ファイル全体がオンライン階層５１０に配置されている場合）は、読書き頻度が基準範囲内か否かの判定を次に示す方法で行う。まず、ファイル分割配置ポリシ定義表１３０から、拡張子名１３１がステップＳ１２２０３で取得したファイル名１９２の拡張子と一致する行をすべて抽出する。次に、抽出された各行について、『読書き頻度下限閾値１３８ ≦ ステップＳ１２２０４で算出した読書き頻度 ＜ 読書き頻度上限閾値１３７』という条件が満たされるか否かを判定する。すべての行について偽である場合には、読書き頻度は基準範囲内であると判断し（ステップＳ１２２０５，Ｙｅｓ）、ステップＳ１２２１０に進む。真である行が少なくとも一行存在する場合には、読書き頻度は基準範囲内でないと判断し（ステップＳ１２２０５，Ｎｏ）、ステップＳ１２２０６に進む。
【０１１６】
ステップＳ１２２０６では、ファイル分割配置ポリシ定義表１３０から、拡張子名１３１がステップＳ１２２０３で取得したファイル名１９２の拡張子名と一致し、かつ、『読書き頻度下限閾値１３８ ≦ ステップＳ１２２０４で算出した読書き頻度 ＜ 読書き頻度上限閾値１３７』という条件を満たす行を抽出する。該行が存在する場合は、該行から格納先装置階層名１３２を取得して、これを再配置後の分割配置先のオフライン階層５８０と定める。該行が存在しない場合は、再配置後には分割配置を行わないと定める。次に、ステップＳ１２２０７に進む。
【０１１７】
ステップＳ１２２０７では、ブロック読出しプログラム１２４を利用して、再配置元ファイルの次の１ブロックを読込んだのち、ステップＳ１２２０８に進む。
【０１１８】
ステップＳ１２２０８では、ブロック書込みプログラム１２３を利用して、ステップＳ１２２０７で読込んだ１ブロックを、ステップＳ１２２０６で決定した再配置先階層に書込んだのち、ステップＳ１２２０９に進む。
【０１１９】
なお、ステップＳ１２２０８から呼出されるブロック書込みプログラム１２３の処理で、オフライン階層５８０への格納範囲は、再配置先の階層の起動所要時間に基づいて再計算される。再計算の詳細については、具体例を挙げて説明する。
【０１２０】
図６および図７に示す設定値の一例が適用されている場合において、拡張子が「ｍｐｇ」でビットレートが「０．１メガバイト／秒」であるファイルが、スピンオフ階層５３０からスピンダウン階層５２０に再配置される場合を例にとる。
【０１２１】
再配置前においては、各チャプタコンテンツ領域６２１の第一の部分のサイズは、分割配置プログラム１２９のステップＳ１２９０３（図１２参照）の説明で示した計算例と同様、ビットレート「０．１メガバイト／秒」と起動所要時間「１０秒」を乗じ、さらに安全係数「１．２５」を乗じた結果である、「１．２５メガバイト（１３１０７２０バイト）となっている。該サイズは、スピンダウン階層５２０への再配置時に、起動所要時間として「１０秒」の代わりに「５秒」を、安全係数として「１．２５０」の代わりに「１．１２５」を使用して再計算され、再配置後には「０．５６２５メガバイト（５８９８２４バイト）に変更される。
【０１２２】
図１３に戻り、ステップＳ１２２０９では、再配置が完了していないブロックが存在するか否かを判定する。ファイルに次に処理すべきブロックが存在すれば（ステップＳ１２２０９，Ｙｅｓ）、ステップＳ１２２０７に戻る。次のブロックがなければ（ステップＳ１２２０９，Ｎｏ）、ステップＳ１２２１０に進む。ステップＳ１２２１０では、ファイル読書き回数管理表１９０に未処理の行が残っていれば、ステップＳ１２２０２に戻って次の行について処理を行う。
【０１２３】
ステップＳ１２２１１では、ファイル読書き回数管理表のすべての行について、読書き回数１９３の値を「０」で更新し、ステップＳ１２２０１に戻り、次に再配置予定時刻まで待機して処理を繰り返す。
【０１２４】
本実施形態のファイル管理方法は、ファイルの書込み要求または読出し要求に応じて即座に書込みまたは読出しを開始可能な状態にあるオンラインの記憶媒体（例えば、オンライン階層５１０にあるハードディスク２１０）と、書込み要求または読出し要求の発生に応じて起動を行う必要があるオフラインの記憶媒体（例えば、オフライン階層５８０にあるハードディスク２１０、光ディスク３１０、磁気テープ４１０）とを有するファイルサーバ１００において、ファイルをオンラインの記憶媒体およびオフラインの記憶媒体に分割配置して管理するファイル管理方法である。
【０１２５】
ファイルサーバ１００のデータベース１２６（記憶部）に、予めオフラインの記憶媒体の起動所要時間(例えば、階層起動性能表１７０の起動所要時間１７２)が記憶されており、ファイルサーバ１００のＣＰＵ１１０（処理部）は、ストリームファイルの書込み要求を受理すると、ストリームファイルに含まれるビットレート情報を取得し、取得したビットレート情報とオフラインの記憶媒体の起動所要時間とに基づいてファイルの分割位置を計算し、分割位置に基づいて（分割位置までの）ファイルの一部である第一の部分をオンラインの記憶媒体に記憶するとともに、残りの部分である第二の部分をオフラインの記憶媒体にそれぞれ分割配置して記憶し、ストリームファイルの読出し要求を受理すると、第一の部分の読出しを行うとともに、第二の部分が記憶されているオフラインの記憶媒体を予め起動し、第二の部分の読出しを行うことを特徴とする。本実施形態によれば、ストリームファイルの多くの情報を、オフライン記憶媒体に配置でき、省電力効果を上げることができる。
【０１２６】
本実施形態のファイル管理方法は、記憶部に、ファイルの拡張子と分割配置が必要か否かを関係付けたファイル分割配置要否定義表１８０（ファイル分割配置要否情報）を記憶し、処理部は、受理したファイルの拡張子からファイル分割配置要否情報を参照してファイルが分割配置するか否かを判定し、分割配置が必要であると判定した場合、受理したファイルを分割配置することを特徴とする。
【０１２７】
本実施形態のファイル管理方法は、記憶部に、さらに、複数のオフラインの記憶媒体を含む階層とファイルを該階層に分割配置する場合に許容される読書き頻度とを関係付けるファイル分割配置ポリシ定義表１３０（ファイル分割配置階層情報）と、階層に属する記憶媒体の起動所要時間を関係付ける階層起動性能表１７０（階層起動性能情報）と、が記憶されており、処理部は、ファイルの読書き頻度に応じて再配置先の階層を決定し、再配置先の階層に再配置する際に、ファイルの分割位置を、再配置先の階層に属する記憶媒体の起動所要時間に基づいて再計算し、再計算結果に基づいてファイルを再度分割配置することを特徴とする。
【符号の説明】
【０１２８】
１００    ファイルサーバ
１１０    ＣＰＵ（処理部）
１２０    メモリ
１２１    読書き要求処理プログラム
１２２    データ再配置プログラム
１２３    ブロック書込みプログラム
１２４    ブロック読出しプログラム
１２５    電源制御プログラム
１２６    データベース（記憶部）
１２９    分割配置プログラム
１３０    ファイル分割配置ポリシ定義表（ファイル分割配置階層情報）
１４０    ファイル分割格納状態管理表
１５０    ＳＡＮアダプタ
１６０    ＬＡＮアダプタ
１６５    システムバス
１７０    階層起動性能表（階層起動性能情報）
１８０    ファイル分割配置要否定義表（ファイル分割配置要否情報）
１９０    ファイル読書き回数管理表
２００    磁気ディスク装置
２１０    ハードディスク
２２０    ディスクコントローラ
３００    光ディスク装置
３１０    光ディスク
３２０    光ディスクコントローラ
４００    磁気テープ装置
４１０    磁気テープ
４２０    磁気テープコントローラ
５００    ＳＡＮ
５１０    オンライン階層
５２０    スピンダウン階層
５３０    スピンオフ階層
５４０    電源停止磁気ディスク装置階層
５５０    光ディスク階層
５６０    磁気テープ階層
５７０    磁気テープ復元領域
５８０    オフライン階層
６００    ストリームファイル
６１０    メタデータ領域
６２０    コンテンツ領域
６２１    チャプタコンテンツ領域
６３０    索引領域
７１０    ＬＡＮ
７２０    ＷＡＮ
８００    メディアサーバ
９００    クライアント計算機
【図１】
2010176497.tif 000003
【図２】
2010176497.tif 000004
【図３】
2010176497.tif 000005
【図４】
2010176497.tif 000006
【図５】
2010176497.tif 000007
【図６】
2010176497.tif 000008
【図７】
2010176497.tif 000009
【図８】
2010176497.tif 000010
【図９】
2010176497.tif 000011
【図１０】
2010176497.tif 000012
【図１１】
2010176497.tif 000013
【図１２】
2010176497.tif 000014
【図１３】
2010176497.tif 000015
【図１４】
2010176497.tif 000016