(57)【要約】【課題】複数の連続したファイルを記憶装置に効率よく蓄積する技術を提供する。【解決手段】ブロック毎にデータを格納する記憶装置に複数の連続したファイルを蓄積するファイル処理装置は、連続した複数のファイルを含む、ブロックサイズの自然数倍であるパッキングサイズのパッキングファイルを作成するパッキングファイル作成処理部と、少なくとも１つのファイルの読み出しを要求するための読み出し要求を要求元クライアントから受けると、要求されたファイルを含むパッキングファイルから、前記要求されたファイルを取り出し、前記要求元クライアントに送信するパッキングファイル分割処理部と、を有している。【選択図】図１
2015135535.tif 000002
【特許請求の範囲】
【請求項１】
ブロック毎にデータを格納する記憶装置に複数の連続したファイルを蓄積するファイル処理装置であって、
連続した複数のファイルを含む、ブロックサイズの自然数倍であるパッキングサイズのパッキングファイルを作成するパッキングファイル作成処理部と、
少なくとも１つのファイルの読み出しを要求するための読み出し要求を要求元クライアントから受けると、要求されたファイルを含むパッキングファイルから、前記要求されたファイルを取り出し、前記要求元クライアントに送信するパッキングファイル分割処理部と、
を有するファイル処理装置。
【請求項２】
前記パッキングファイル作成処理部は、書き込みバッファにファイルを順次書き込んでパッキングファイルとし、次のファイルを追加すると前記パッキングファイルのサイズが前記パッキングサイズを超える場合に、前記パッキングファイルにダミーデータを追加し、前記パッキングサイズのパッキングファイルを作成する、
請求項１に記載のファイル処理装置。
【請求項３】
パッキングファイル管理部とパッキングファイル吐き出し部とを更に有し、
前記パッキングファイル作成処理部は、連続的に入力されるファイルを順次パッキングファイルに追加し、
前記パッキングファイル管理部は、前記パッキングファイルに最後にファイルを追加した時刻である最終書き込み時刻を管理し、
前記パッキングファイル吐き出し部は、前記最終書き込み時刻の後、ファイルがパッキングファイルに追加されない状態で所定時間継続したら、当該パッキングファイルを前記パッキングサイズにして送信する、
請求項２に記載のファイル処理装置。
【請求項４】
前記パッキングファイル分割処理部は、前記記憶装置から読み出したパッキングファイルを読み出しバッファに格納し、読み出しが要求されたファイルを要求元クライアントに送り、その後の読み出し要求で読み出しが要求されたファイルが前記読み出しバッファにあれば、当該ファイルを前記読み出しバッファから読み出して前記要求元クライアントに送る、
請求項１に記載のファイル処理装置。
【請求項５】
前記パッキングファイル作成処理部および前記パッキングファイル分割処理部が、クライアントと通信するミドルウエアとファイル受け渡しを行い、前記記憶装置のデータ書き込みおよび読み出しを行うファイルシステムに組み込まれている、請求項１に記載のファイル処理装置。
【請求項６】
前記パッキングファイル作成処理部および前記パッキングファイル分割処理部が、クライアントと通信するミドルウエアと、前記記憶装置のデータ書き込みおよび読み出しを行うファイルシステムの間に配置される、請求項１に記載のファイル処理装置。
【請求項７】
ブロック毎にデータを格納する記憶装置に複数の連続したファイルを蓄積するためのファイル処理方法であって、
連続した複数のファイルを含む、ブロックサイズの自然数倍であるパッキングサイズのパッキングファイルを作成し、
少なくとも１つのファイルの読み出しを要求するための読み出し要求を要求元クライアントから受けると、要求されたファイルを含むパッキングファイルから、前記要求されたファイルを取り出し、
前記取り出したファイルを前記要求元クライアントに送信する、
ファイル処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、連続した複数のファイルのデータを記憶装置に蓄積する技術に関する。
【背景技術】
【０００２】
特開２００２−１８２９６６号公報（特許文献１)には、複数の連続したファイルに送信先を含む配信ラベルを付加し、その複数の配信ラベル付きファイルをまとめてパッキングする機能を搭載したファイル管理システムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−１８２９６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このように記憶装置に蓄積され、読み出して配信される連続したファイルには、映像および音声を含む動画データファイル、１フレーム／１ファイルの複数のファイルで１つの映像が構成された連番ファイル、サムネイルファイルと呼ばれる映像のカット毎の静止画ファイルで構成されたデータなどがある。
【０００５】
その中で動画データファイルはひとつひとつのファイルのサイズが比較的大きく、連番ファイルとサムネイルファイルはファイルサイズが小さい。
【０００６】
大きなファイルをストレージ等の記憶装置に蓄積する場合、データを所定のブロックサイズに分割してブロックに分けて蓄積する。ひとつひとつのファイルのサイズがブロックサイズよりも小さい連番ファイルあるいはサムネイルファイルを、同じ記憶装置に蓄積する場合、ひとつのブロックにひとつのファイルが格納され、記憶装置の記憶領域が効率よく使用されない。
【０００７】
また、その後、動画データファイルを蓄積するとき、フラグメンテーションにより、ファイルが、連番ファイルあるいはサムネイルファイルが格納されたブロックの残りの領域に分割して格納される場合がある。その場合、記憶装置の記憶領域には、動画データファイルの間に連番ファイルあるいはサムネイルファイルが存在することになる。このように、サイズの異なるファイルを同じ記憶装置に書き込んだり、読み出したりする場合、ファイルのオープン処理やクローズ処理のオーバーヘッドが増大し、処理性能が低下することも考えられる。
【０００８】
本発明の目的は、複数の連続したファイルを記憶装置に効率よく蓄積する技術を提供することである。
【課題を解決するための手段】
【０００９】
本発明の一態様によるファイル処理装置は、ブロック毎にデータを格納する記憶装置に複数の連続したファイルを蓄積するファイル処理装置であって、連続した複数のファイルを含む、ブロックサイズの自然数倍であるパッキングサイズのパッキングファイルを作成するパッキングファイル作成処理部と、少なくとも１つのファイルの読み出しを要求するための読み出し要求を要求元クライアントから受けると、要求されたファイルを含むパッキングファイルから、前記要求されたファイルを取り出し、前記要求元クライアントに送信するパッキングファイル分割処理部と、を有している。
【発明の効果】
【００１０】
本発明によれば、複数の連続したファイルを、ブロックサイズと同じあるいは整数倍のサイズのパッキングファイルにまとめて蓄積するので、複数の連続したファイルを効率よく蓄積することができる。
【図面の簡単な説明】
【００１１】
【図１】実施例１による映像蓄積配信システムのブロック図である。
【図２】ファイルシステム１４０によるパッキングファイル作成処理について説明するための図である。
【図３Ａ】パッキングファイル管理テーブル１４１の具体例を示す図である。
【図３Ｂ】ファイル構成情報２００の具体例を示す図である。
【図４】ファイルを書き込むときのパッキングファイル作成処理部１４２の処理を示すフローチャートである。
【図５】ファイルを読み出すときのパッキングファイル分割処理部１４３の処理を示すフローチャートである。
【図６】実施例２による映像蓄積配信システムのブロック図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施例について図面を用いて説明する。
【実施例１】
【００１３】
図１は、実施例１による映像蓄積配信システムのブロック図である。映像蓄積配信システムは、映像蓄積配信サーバ１１０とストレージ１５０から構成される。
【００１４】
映像蓄積配信サーバ１１０は、ファイル転送ミドルウエア１２０、ファイル共有ミドルウエア１３０およびファイルシステム１４０を有し、ブロック毎にデータを格納する記憶装置であるストレージ１５０に、複数の連続したファイルを蓄積するファイル処理装置である。
【００１５】
ファイル転送ミドル１２０は、大容量のデータ転送に特化したミドルウエアであり、一例として映像の蓄積および配信に特化している。ファイル共有ミドルウエア１３０は、SAMBAなどのファイル共有を実現するミドルウエアであり、一例として映像の蓄積および配信に特化していない、各種ファイルを扱う汎用的なミドルウエアである。ファイル転送ミドルウエア１２０およびファイル共有ミドルウエア１３０は映像蓄積配信サーバ１１０に実装されるミドルウエアの例である。それらに限らず、ストレージ１５０へのファイルの書き込みおよびその読み出しに関わる様々な種類のミドルウエアが映像蓄積配信サーバ１１０に実装されうる。ファイルシステム１４０は、ブロック毎にデータを格納するストレージ１５０へのファイルの入出力を行うファイルシステムである。
【００１６】
ファイルシステム１４０は、本実施例に特徴的な構成であるパッキングファイル管理テーブル１４１、パッキングファイル作成処理部１４２、パッキングファイル分割処理部１４３、およびパッキングファイル吐き出し処理部１４６を有し、更に、書き込みバッファ１４４および読み出しバッファ１４５を有する。書き込みバッファ１４４はパッキングファイルを作成するためのワーク領域であり、読み出しバッファ１４５はパッキングファイルを分割するためのワーク領域である。
【００１７】
クライアント１６１、１６２は、例えばWindows(登録商標)端末などであり、ネットワークを介してファイル転送ミドルウエア１２０およびファイル共有ミドルウエア１３０と接続されており、ストレージ１５０に格納されているファイルを読み出したり、ストレージ１５０にファイルを格納したりできる。
【００１８】
まず、図１に示した映像蓄積配信サーバ１１０の概略動作について説明する。
【００１９】
映像蓄積配信サーバ１１０は、ファイルシステム１４０のパッキングファイル作成処理部１４２により、複数の連続したファイルをパッキングファイルとしてまとめて、ストレージ１５０に蓄積する。複数の連続したファイルは、例えば、連番ファイル又はサムネイルファイルである。
【００２０】
その際、パッキングファイル作成処理部１４２は、ブロックサイズより小さいサイズの連続した複数のファイルを含む、ブロックサイズと同じサイズのパッキングファイル２４０を作成する。例えば、作成されたパッキングファイル２４０は書き込みバッファ１４４を介してストレージ１５０に書き込まれる。なお、ここでは、一例として、複数のファイルをパッキングするパッキングファイル２４０のサイズ（パッキングサイズ）をブロックサイズと同じとしたが、これに限定されることはなく、パッキングサイズをブロックサイズの２以上の整数倍としてもよい。
【００２１】
また、パッキングファイル分割処理部１４３は、少なくとも１つのファイルの読み出しを要求するための読み出し要求を要求元のクライアント１６１、１６２から受けると、要求されたファイルを含むパッキングファイル２４０から、要求されたファイルを取り出し、要求元のクライアント１６１、１６２に送信する。
【００２２】
これによれば、複数の連続したファイルを、ブロックサイズと同じサイズのパッキングファイル２４０にまとめてストレージ１５０に蓄積することができるので、ストレージ１５０に複数の連続したファイルを効率よく蓄積することができる。
【００２３】
また、その際、パッキングファイル作成処理部１４２は、書き込みバッファ１４４にファイルを順次書き込んでパッキングファイル２４０とし、次のファイルを追加するとパッキングファイル２４０のサイズがバッファサイズを超える場合に、そのパッキングファイル２４０にダミーデータを追加し、ブロックサイズと同じサイズのパッキングファイル２４０を作成する。これによれば、複数のファイルの合計のサイズがブロックサイズにうまく適合しない場合でも、ブロックサイズとサイズを合わせたパッキングファイル２４０にまとめて、ファイルをその中に搭載することができる。
【００２４】
また、パッキングファイル作成処理部１４２は、連続的に入力されるファイルを順次、書き込みバッファ１４４のパッキングファイル２４０に追加してもよい。その場合、パッキングファイル管理テーブル１４１は、パッキングファイル２４０に最後にファイルを追加した時刻である最終書き込み時刻を管理するとよい。そして、パッキングファイル吐き出し処理部１４６は、最終書き込み時刻の後、ファイルがパッキングファイル２４０に追加されない状態が所定時間継続したら、必要に応じてパッキングファイル２４０にダミーデータを付加して、ブロックサイズと同じサイズのパッキングファイル２４０にして、ストレージ１５０に送信する。これによれば、複数の連続したファイルの末尾においても全てのファイルをパッキングファイル２４０としてストレージ１５０に格納することができる。
【００２５】
また、パッキングファイル分割処理部１４３は、ストレージ１５０から読み出したパッキングファイル２４０を読み出しバッファ１４５に格納し、読み出しが要求されたファイルを要求元のクライアント１６１、１６２に送り、その後の読み出し要求で読み出しが要求されたファイルが読み出しバッファ１４５にあれば、そのファイルを読み出しバッファ１４５から読み出して要求元のクライアント１６１、１６２に送る。これによれば、要求されたファイルが、読み出しバッファ１４５にあるパッキングファイル２４０に含まれていれば、ストレージ１５０置にアクセスすることなく、読み出しバッファ１４５から読み出して要求元のクライアント１６１、１６２に送信するので、ストレージ１５０へのアクセスを減らし、レスポンス向上とストレージ１５０の長寿命化を実現することができる。
【００２６】
また、本実施例では、パッキングファイル作成処理部１４２およびパッキングファイル分割処理部１４３が、クライアント１６１、１６２と通信するファイル転送ミドルウエア１２０およびパッキングファイル吐き出し処理部１４６とファイル受け渡しを行い、ストレージ１５０のデータ書き込みおよび読み出しを行うファイルシステムに組み込まれている。これによれば、パッキングファイル２４０の作成や分割の機能が、ミドルウエアとは別に共通処理部としてファイルシステム１４０に組み込まれているので、様々なミドルウエアが混在しても、パッキングファイル２４０に関する処理がミドルウエアやアプリケーションに依存せず、共通化できる。
【００２７】
以下、より具体的な各部の処理等について説明する。
【００２８】
図２は、ファイルシステム１４０によるパッキングファイル作成処理について説明するための図である。図２の左側にクライアントから見たファイル構成が示され、右側にストレージ１５０にファイルの実体が格納された様子が示されている。ストレージ１５０内では、連番ファイルやサムネイルファイルのように連続した複数のファイル２１０、２２０、２３０はパッキングファイル２４０にまとめられて格納される。
【００２９】
ファイル２１０〜２３０のファイル名称は、共通ファイル名称と、その後に続く通番とで構成されている。共通ファイル名称は、連続する複数のファイルに共通する部分である。通番は、共通ファイル名称を持ったファイルの中の個々のファイルを一意に特定する連続番号である。同一の共通ファイル名称の複数のファイルが連続的にパッキングファイル２４０にパッキングされ、それらのファイルの先頭にファイル構成情報２００が付加される。ファイル構成情報２００は、パッキングファイル２４０に含まれているファイルを特定できる情報である。
【００３０】
パッキングファイル２４０のファイル名称は、ファイル２１０〜２３０の共通ファイル名称と、パッキングファイルを表すＰＦという文字と、同じ共通ファイル名称を持つパッキングファイルの通番とで構成されている。パッキングファイル２４０のファイル名称に同一の共通ファイル名称を含めることで、同じ共通ファイル名称を含む連続するファイルを共に含んだパッキングファイルが識別可能となっている。
【００３１】
図３Ａは、パッキングファイル管理テーブル１４１の具体例を示す図である。図３Ｂは、ファイル構成情報２００の具体例を示す図である。
【００３２】
図３Ａに示すように、パッキングファイル管理テーブル１４１には、共通ファイル名称５０１、パッキングファイル名称５０２、パッキングファイル格納場所５０３、パッキングファイルサイズ５０４、書き込みフラグ５０５、最終書き込み時刻５０６、パッキングファイル数５０７が含まれている。共通ファイル名称５０１は、連続する複数のパッキングファイルに共通するファイル名称である。同じ共通ファイル名称５０１のパッキングファイル２４０に含まれるファイルは同じ共通ファイル名称を含んでいる。パッキングファイル名称５０２は、パッキングファイルの名称であり、一例として、共通ファイル名称５０１に、パッキングファイルであることを示すＰＦが付加されている。パッキングファイル格納場所５０３は、パッキングファイルが格納されている場所を示す情報である。パッキングファイルサイズ５０４は、パッキングファイルのサイズを示す情報である。書き込みフラグ５０５は、パッキングファイルが作成中であるか否かを示すフラグである。最終書き込み時刻５０６は、作成中のパッキングファイルに最後にファイルを書き込んだ時刻の情報である。パッキングファイル数５０７は、パッキングファイルに含まれているファイルの個数を示す情報である。パッキングファイルが複数ある場合、それぞれのパッキングファイルごとに、パッキングファイル数のフィールドがある。図３Ａの例では、パッキングファイルが１〜ＮまでＮ個あり、各パッキングファイルに含まれているファイル数が、それぞれｎ（１）〜ｎ（Ｎ）である。
【００３３】
図３Ｂに示すように、ファイル構成情報２００は、共通ファイル名称５１１、パッキング対象ファイル数５１２、およびファイル先頭オフセット５１３を含んでいる。共通ファイル名称５１１は、連続する複数のパッキングファイルに共通するファイル名称である。パッキング対象ファイル数５１２は、パッキングファイルに含まれているファイルの個数を示す情報である。ファイル先頭オフセット５１３は、パッキングファイルに含まれている各ファイル１〜ｎの先頭位置を示すオフセット値である。
【００３４】
図４は、ファイルを書き込むときのパッキングファイル作成処理部１４２の処理を示すフローチャートである。
【００３５】
まず、パッキングファイル作成処理部１４２は、ファイル書き込み要求受信待ちの状態で（ステップ３０１）、書き込み要求を受信すると、パッキングファイル管理テーブル１４１を検索し（ステップ３０２）、書き込みを要求されたファイルがパッキングを行う対象のファイル（パッキング対象）であるか否か判定する（ステップ３０３）。パッキング対象のファイルに共通する共通ファイル名称がパッキングファイル管理テーブル１４１に予め登録されており、パッキングファイル作成処理部１４２は、書き込みを要求されたファイルのファイル名称に、そのパッキング対象の共通ファイル名称が含まれているか否かより、書き込みを要求されたファイルがパッキング対象か否か判定することができる。
【００３６】
書き込みを要求されたファイルがパッキング対象でなければ、パッキングファイル作成処理部１４２は、そのファイルをそのままの単独のファイルとしてストレージ１５０に書き込む（ステップ３１６）。
【００３７】
一方、書き込みを要求されたファイルがパッキング対象であれば、パッキングファイル作成処理部１４２は、作成中のパッキングファイルが存在するか否か判定する（ステップ３０４）。
【００３８】
作成中のパッキングファイルが存在しない場合、書き込みを要求されたファイルが新たなパッキングファイルの先頭となるので、パッキングファイル作成処理部１４２は、そのファイルにファイル構成情報２００を付与し（ステップ３０５）、パッキングファイル管理テーブル１４１を更新し（ステップ３０６）、新たなパッキングファイルを書込みバッファ１４４に格納する（ステップ３０７）。
【００３９】
一方、作成中のパッキングファイルが存在する場合、パッキングファイル作成処理部１４２は、その作成中のパッキングファイルのサイズと書き込を要求されたファイルのサイズとの合計がブロックサイズ以下であるか否か判定する（ステップ３０８）。このブロックサイズが、ファイルシステム１４０のアクセス最小単位であり複数ファイルが格納できるサイズである。
【００４０】
合計がブロックサイズ以下の場合、パッキングファイル作成処理部１４２は、ファイル構成情報２００を更新し（ステップ３０９）、パッキングファイル管理テーブル１４１を更新し（ステップ３１０）、書き込みを要求されたファイルを、作成中のパッキングファイルに追加する（ステップ３１１）。
【００４１】
合計がブロックサイズ以下でない場合、パッキングファイル作成処理部１４２は、作成中のパッキングファイルがブロックサイズと同じサイズになるように、パッキングファイルにダミーデータを追加し（ステップ３１２）、パッキングファイルをストレージに書き込む（ステップ３１３）。その後、パッキングファイル作成処理部１４２は、書き込みを要求されたファイルにファイル構成情報２００を付与し（ステップ３０５）、パッキングファイル管理テーブルを更新し（ステップ３０６）、新たなパッキングファイルを書込みバッファ１４４に格納する（ステップ３０７）。
【００４２】
また、最後のパッキングファイルをストレージ１５０へ書込むタイミングを決定するため、パッキングファイル管理テーブル１４１は最終書き込み時刻５０６を保持している。パッキングファイル吐き出し処理部１４６は、最終書き込み時刻５０６からの経過時間を監視しており、最終書き込み時刻５０６から所定時間が経過する間に更新されていないパッキングファイルをストレージ１５０に書き込む。
【００４３】
図５は、ファイルを読み出すときのパッキングファイル分割処理部１４３の処理を示すフローチャートである。
【００４４】
まず、パッキングファイル分割処理部１４３は、ファイル読み出し要求受信待ちの状態で（ステップ４０１）、読み出し要求を受信すると、パッキングファイル管理テーブル１４１を検索し（ステップ４０２）、読み出しを要求されたファイルがパッキング対象であるか否か判定する（ステップ４０３）。そのファイルがパッキング対象であるか否かは、予め登録されている、パッキング対象の共通ファイル名称を、そのファイルのファイル名称が含んでいるか否かで判定できる。
【００４５】
読み出しを要求されたファイルがパッキング対象でない場合、パッキングファイル分割処理部１４３は、そのファイルをストレージ１５０から読み出し（ステップ４０９）、要求元のクライアント１６１、１６２に送信する（ステップ４１０）。
【００４６】
一方、読み出しを要求されたファイルがパッキング対象である場合、パッキングファイル分割処理部１４３は、パッキングファイル管理テーブル１４１から、そのパッキングファイルのパッキングファイル数５０７およびパッキングファイル名称５０２を取得する（ステップ４０４）。パッキングファイル数５０７は、各パッキングファイル２４０に何個のファイルが含まれているかを示している。
【００４７】
各パッキングファイル２４０のパッキングファイル数５０７と、読み出しを要求されたファイルの通番とから、読み出しを要求されたファイルが何番目のパッキングファイル２４０に含まれているか分かる。パッキングファイル分割処理部１４３は、読み出しを要求されたファイルを含むパッキングファイルが、読み出しバッファ１４５に読み込まれているか否か判定する（ステップ４０５）。
【００４８】
読み出しを要求されたファイルを含むパッキングファイル２４０が読み出しバッファ１４５に読み込まれていなければ、パッキングファイル分割処理部１４３は、そのパッキングファイル２４０をストレージ１５０から読み込む（ステップ４０６）。
【００４９】
ステップ４０５にて、読み出しを要求されたファイルを含むパッキングファイル２４０が読み出しバッファ１４５に読み出されていた場合、あるいは、ステップ４０６にてパッキングファイルが読み出しバッファ１４５に読み出された場合、パッキングファイル分割処理部１４３は、当該パッキングファイル２４０のファイル構成情報２００から対象ファイル先頭オフセット５１３を取得し、そのオフセットを用いて、パッキングファイルから、読み出しを要求されたファイルを取得し（ステップ４０７）、要求元に送信する（ステップ４１０）。
【実施例２】
【００５０】
第２の実施例は、第１の実施例と異なり、パッキングファイル作成処理部１４２およびパッキングファイル分割処理部１４３が、クライアント１６１、１６２と通信するファイル転送ミドルウエア１２０およびファイル共有ミドルウエア１３０と、ストレージ１５０のデータ書き込みおよび読み出しを行うファイルシステム１４０の間に配置される。これにより、パッキングファイル２４０の作成や分割の機能が、ミドルウエアとファイルシステムのどちらとも別個に、それらの間に共通処理部として配置されているので、ミドルウエアやアプリケーションに依存せず、かつ、ファイルシステムの変更の影響を受けない。
【００５１】
図６は、実施例２による映像蓄積配信システムのブロック図である。実施例２の映像蓄積配信システムでは、映像蓄積配信サーバ１１０は、ファイル転送ミドルウエア１２０、ファイル共有ミドルウエア１３０、Ｉ／Ｏ中継プログラム１７０、およびファイルシステム１４０を有している。Ｉ／Ｏ中継プログラム１７０は、パッキングファイル管理テーブル１４１、パッキングファイル作成処理部１４２、パッキングファイル分割処理部１４３、書き込みバッファ１４４、および読み出しバッファ１４５を有している。すなわち、実施例１では、パッキングファイル管理テーブル１４１、パッキングファイル作成処理部１４２、パッキングファイル分割処理部１４３、書き込みバッファ１４４、および読み出しバッファ１４５が、ファイルシステム１４０に含まれていたが、実施例２では、それらがＩ／Ｏ中継プログラム１７０に含まれている。パッキングファイル管理テーブル１４１、パッキングファイル作成処理部１４２、パッキングファイル分割処理部１４３、書き込みバッファ１４４、および読み出しバッファ１４５のそれぞれの機能および動作は実施例１のものと同じである。
【００５２】
本実施例の構成によれば、パッキングファイル管理テーブル１４１、パッキングファイル作成処理部１４２、パッキングファイル分割処理部１４３、書き込みバッファ１４４、および読み出しバッファ１４５がファイルシステム１４０の外にあるＩ／Ｏ中継プログラム１７０に配置されているので、ファイルシステム１４０がＯＳ（オペレーティングシステム）のカーネルバージョンに依存して変更されたとしても、ファイルのパッキングに関する処理は、そのままで使用することができる。また、パッキングファイル管理テーブル１４１、パッキングファイル作成処理部１４２、パッキングファイル分割処理部１４３、書き込みバッファ１４４、および読み出しバッファ１４５がミドルウｅアの外にあるので、ミドルウエアやアプリケーションに依存することもない。
【００５３】
なお、上述した実施例１、２は、本発明の説明のための例示であり、本発明の範囲をそれらの実施例にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。例えば、上述した実施例１、２では、同じ共通ファイル名称の複数のファイルを同じパッキングファイルへのパッキング対象とする例を示したが、本発明がこれに限定されることはない。同じパッキングファイルへのパッキング対象を規定する方法の他の例として、同一ディレクトリ内への書き込みが要求された複数のファイルを、同じパッキングファイルへのパッキング対象としてもよい。その場合、例えば、その書き込みが要求された順序がパッキングファイルへ格納順序としてもよい。
【符号の説明】
【００５４】
１１０…映像蓄積配信サーバ、１２０…ファイル転送ミドルウエア、１３０…ファイル共有ミドルウエア、１４０…ファイルシステム、１４１…パッキングファイル管理テーブル、１４２…パッキングファイル作成処理部、１４３…パッキングファイル分割処理部、１４４…バッファ、１４５…バッファ、１４６…パッキングファイル吐き出し処理部、１５０…ストレージ、１６１…要求元クライアント、１７０…Ｉ／Ｏ中継プログラム、２００…ファイル構成情報、２１０〜２３０…ファイル、２４０…パッキングファイル、５０１…共通ファイル名称、５０２…パッキングファイル名称、５０３…パッキングファイル格納場所、５０４…パッキングファイルサイズ、５０５…書き込みフラグ、５０６…最終書き込み時刻、５０７…パッキングファイル数、５１１…共通ファイル名称、５１２…パッキング対象ファイル数、５１３…ファイル先頭オフセット
【図１】
2015135535.tif 000003
【図２】
2015135535.tif 000004
【図３Ａ】
2015135535.tif 000005
【図３Ｂ】
2015135535.tif 000006
【図４】
2015135535.tif 000007
【図５】
2015135535.tif 000008
【図６】
2015135535.tif 000009