(57)【要約】【課題】記録媒体への複数ファイルの連続書き込みを高速に完了できるようにする。【解決手段】  情報処理装置２０のファイラーは、例えばハードディスク装置３０に記録されている複数ファイルを光ディスク装置４０の光ディスク４５に連続コピーする。光ディスクファイルシステムドライバは、光ディスク４５に記録するファイルのバッファへの格納をファイルの光ディスクへの記録と見なしてファイルに対する仮想的な管理情報を生成する。また、光ディスクファイルシステムドライバは、バッファに所定量のファイルのデータが格納される毎に該所定量のデータを記録媒体にバースト記録する。さらに、光ディスクファイルシステムドライバは、光ディスクへのファイルの記録完了後に仮想的な管理情報を光ディスクにおけるファイルの記録位置を含む情報を用いて更新して光ディスクに記録する。【選択図】        図１
2016012382.tif 000002
【特許請求の範囲】
【請求項１】
記録媒体に記録するファイルのバッファへの格納を前記ファイルの前記記録媒体への記録と見なして前記ファイルに対する仮想的な管理情報を生成し、前記バッファに所定量の前記ファイルのデータが格納される毎に該所定量のデータを前記記録媒体にバースト記録して、前記記録媒体への前記ファイルの記録完了後に前記仮想的な管理情報を前記記録媒体における前記ファイルの記録位置を含む情報を用いて更新して前記記録媒体に記録する記録制御部
を備える情報処理装置。
【請求項２】
前記記録制御部は、前記仮想的な管理情報として前記記録媒体における前記ファイルの記録位置を示す情報を有していない管理情報を生成して、前記記録媒体への前記ファイルの記録完了後に前記記録媒体における前記ファイルの記録位置を示す情報を用いて前記管理情報を更新する
請求項１記載の情報処理装置。
【請求項３】
前記記録制御部は、所定時間が経過してもファイルの書き込み指示がない場合に、前記バッファに格納されている前記記録媒体に記録されていない前記所定量未満のデータを前記記録媒体に記録する
請求項１記載の情報処理装置。
【請求項４】
前記記録制御部は、メモリ上に前記仮想的な管理情報を生成して、前記メモリ上の仮想的な管理情報を更新して前記記録媒体に記録する
請求項１記載の情報処理装置。
【請求項５】
前記記録媒体を用いるデバイスを制御するデバイスドライバと、ファイルシステムを制御するファイルシステムドライバを備え、
前記記録制御部は、前記ファイルシステムドライバにより実現する
請求項１記載の情報処理装置。
【請求項６】
前記記録制御部は、ファイル操作を行うアプリケーションからの指示に応じて生成する前記ファイルに対する管理情報として前記仮想的な管理情報の生成を行い、前記ファイルの前記記録媒体への記録完了前でも前記バッファへの格納が完了したことに応じて前記アプリケーションで前記記録媒体への前記ファイルの記録完了と判別させる
請求項５記載の情報処理装置。
【請求項７】
前記記録制御部は、前記記録媒体に記録するファイルを、前記バッファを介して前記記録媒体に記録する処理と、前記バッファを介することなく前記記録媒体に記録する処理を、ユーザの指示に基づき選択的に行う
請求項１記載の情報処理装置。
【請求項８】
前記記録媒体への前記ファイルの記録は、複数チャンネルの記録ヘッドを用いて行われており、
前記記録制御部は、前記ファイルのデータを前記チャンネル毎に設けられている前記バッファに格納する
請求項１記載の情報処理装置。
【請求項９】
記録制御部で、記録媒体に記録するファイルのバッファへの格納を前記ファイルの前記記録媒体への記録と見なして前記ファイルに対する仮想的な管理情報を生成する工程と、
前記記録制御部で、前記バッファに所定量の前記ファイルのデータが格納される毎に該所定量のデータを前記記録媒体にバースト記録する工程と、
前記記録制御部で、前記記録媒体への前記ファイルの記録完了後に前記仮想的な管理情報を前記記録媒体における前記ファイルの記録位置を含む情報を用いて更新して前記記録媒体に記録する工程と
を含む情報処理方法。
【請求項１０】
複数ファイルを連続して記録媒体に記録する処理をコンピュータで実行させるプログラムであって、
記録媒体に記録するファイルのバッファへの格納を前記ファイルの前記記録媒体への記録と見なして前記ファイルに対する仮想的な管理情報を生成する手順と、
前記バッファに所定量の前記ファイルのデータが格納される毎に該所定量のデータを前記記録媒体にバースト記録する手順と、
前記記録媒体への前記ファイルの記録完了後に前記仮想的な管理情報を前記記録媒体における前記ファイルの記録位置を含む情報を用いて更新して前記記録媒体に記録する手順と
を前記コンピュータで実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この技術は、情報処理装置と情報処理方法およびプログラムに関し、記録媒体への複数ファイルの書き込みを高速に完了できるようにする。
【背景技術】
【０００２】
従来、光ディスク用のファイル記録方式として、ライブファイルシステム方式やマスター方式等が用いられている。
【０００３】
ライブファイルシステム方式は、ファイル単位で光ディスクにファイルデータを書き込める方式であり、ファイル記録要求に対して即座にファイルデータの記録が開始されて、記録の完了と同時にファイルシステム情報が光ディスクに記録される。また、ライブファイルシステム方式では、記録したファイルの削除や移動、ファイル名の変更などが可能であり使い勝手がよい。
【０００４】
マスター方式は、小さいデータサイズのファイルをまとめた連続的イメージを光ディスクへ一度に記録するため、バースト記録を行うことができるので、ファイルサイズの小さい多数のファイルを一度にコピーする際に記録速度の低下を防ぐことができる。
【０００５】
また、特許文献１で開示されているファイル記録方式では、ファイルの断片化を抑制するために一度ディスクにダミーファイルを記録することが行われている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−２７１４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、ライブファイルシステム方式では、ファイルサイズの小さい多数のファイルを一度にコピーする際に、１ファイルずつファイルシステム情報を記録する必要がある。また、最適な記録速度となるバースト記録のデータ量（以下「バースト記録量」という）にファイルサイズが満たない場合はバースト記録を行うことが困難であるため転送速度が落ちる。
【０００８】
マスター方式は、一度記録された複数のファイルから一部のファイルの削除や移動、ファイル名の変更が行えないなど、使い勝手に問題が生じる。
【０００９】
さらに、特許文献１で開示されているファイル記録方式では、データ記録中にダミーファイルおよびダミーデータをディスクに実際に記録してしまうため、ファイルサイズの小さい多数のファイルを連続記録する際に、２度の記録が発生して転送速度が低下する。
【００１０】
そこで、この技術では記録媒体への複数ファイルの連続書き込みを高速に完了できる情報処理装置と情報処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
この技術の第１の側面は、
記録媒体に記録するファイルのバッファへの格納を前記ファイルの前記記録媒体への記録と見なして前記ファイルに対する仮想的な管理情報を生成し、前記バッファに所定量の前記ファイルのデータが格納される毎に該所定量のデータを前記記録媒体にバースト記録して、前記記録媒体への前記ファイルの記録完了後に前記仮想的な管理情報を前記記録媒体における前記ファイルの記録位置を含む情報を用いて更新して前記記録媒体に記録する記録制御部を備える情報処理装置にある。
【００１２】
この技術において、情報処理装置は、例えば記録媒体を用いるデバイスを制御するデバイスドライバと、ファイルシステムを制御するファイルシステムドライバを備えている。ファイルシステムドライバは、ファイル操作を行うアプリケーションからの指示に応じて生成する管理情報として仮想的な管理情報の生成を行う。ファイルシステムドライバは、記録媒体に記録するファイルのバッファへの格納をファイルの記録媒体への記録と見なして、記録媒体におけるファイルの記録位置を示す情報を有していない管理情報をメモリ上に仮想的な管理情報として生成する。ファイルシステムドライバは、このように仮想的な管理情報を生成することで、ファイルの記録媒体への記録完了前でもバッファへの格納が完了したことに応じてアプリケーションで記録媒体へのファイルの記録完了と判別させる。さらにファイルシステムドライバは、バッファに所定量のファイルのデータが格納される毎に所定量のデータを記録媒体にバースト記録する処理や、記録媒体へのファイルの記録完了後にメモリ上の仮想的な管理情報を記録媒体におけるファイルの記録位置を示す情報を用いて更新して記録媒体に記録する処理を行う。また、ファイルシステムドライバは、所定時間が経過してもファイルの書き込み指示がない場合に、バッファに格納されている記録媒体に記録されていない所定量未満のデータを記録媒体に記録する処理を行う。また、記録媒体に記録するファイルを、バッファを介して記録媒体に記録する処理とバッファを介することなく記録媒体に記録する処理が、ユーザの指示に基づき選択的に行われる。記録媒体へのファイルの記録は、複数チャンネルの記録ヘッドを用いて行われており、ファイルシステムドライバは、ファイルのデータをチャンネル毎に設けられているバッファに格納する。
【００１３】
この技術の第２の側面は、
記録制御部で、記録媒体に記録するファイルのバッファへの格納を前記ファイルの前記記録媒体への記録と見なして前記ファイルに対する仮想的な管理情報を生成する工程と、
前記記録制御部で、前記バッファに所定量の前記ファイルのデータが格納される毎に該所定量のデータを前記記録媒体にバースト記録する工程と、
前記記録制御部で、前記記録媒体への前記ファイルの記録完了後に前記仮想的な管理情報を前記記録媒体における前記ファイルの記録位置を含む情報を用いて更新して前記記録媒体に記録する工程と
を含む情報処理方法にある。
【００１４】
この技術の第３の側面は、
複数ファイルを連続して記録媒体に記録する処理をコンピュータで実行させるプログラムであって、
記録媒体に記録するファイルのバッファへの格納を前記ファイルの前記記録媒体への記録と見なして前記ファイルに対する仮想的な管理情報を生成する手順と、
前記バッファに所定量の前記ファイルのデータが格納される毎に該所定量のデータを前記記録媒体にバースト記録する手順と、
前記記録媒体への前記ファイルの記録完了後に前記仮想的な管理情報を前記記録媒体における前記ファイルの記録位置を含む情報を用いて更新して前記記録媒体に記録する手順と
を前記コンピュータで実行させるプログラムにある。
【００１５】
なお、本技術のプログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、光ディスクや磁気ディスク、半導体メモリなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ上でプログラムに応じた処理が実現される。
【発明の効果】
【００１６】
この技術によれば、記録媒体に記録するファイルのバッファへの格納がファイルの記録媒体への記録と見なされてファイルに対する仮想的な管理情報の生成が行われる。また、バッファに所定量のファイルのデータが格納される毎に所定量のデータが記録媒体にバースト記録される。さらに、記録媒体へのファイルの記録完了後に仮想的な管理情報が記録媒体におけるファイルの記録位置を含む情報を用いて更新されて記録媒体に記録される。したがって、記録媒体への複数ファイルの連続書き込みを高速に完了できるようになる。なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また付加的な効果があってもよい。
【図面の簡単な説明】
【００１７】
【図１】記録システムの構成を例示した図である。
【図２】光ディスク装置で２チャンネルの記録ベッドが用いられている場合の動作を例示した図である。
【図３】複数ファイルの連続コピーにおけるファイラーの動作を示したフローチャートである。
【図４】複数ファイルの連続コピーにおける光ディスクファイルシステムドライバの動作を示したフローチャートである。
【図５】ファイルデータの連続コピー中の処理動作を例示した図である。
【図６】ファイルデータの記録完了後の処理動作を例示した図である。
【図７】複数ファイルの連続コピーのシーケンス図（その１）を示している。
【図８】複数ファイルの連続コピーのシーケンス図（その２）を示している。
【図９】コピー処理の設定画面を例示した図である。
【発明を実施するための形態】
【００１８】
以下、本技術を実施するための形態について説明する。なお、説明は以下の順序で行う。
１．記録システムの構成
２．情報処理装置の動作
【００１９】
＜１．記録システムの構成＞
図１は、本技術の情報処理装置を用いた記録システムの構成を例示している。記録システム１０では、情報処理装置２０に例えばハードディスク装置３０と光ディスク装置４０が接続されている。情報処理装置２０とハードディスク装置３０、および情報処理装置２０と光ディスク装置４０は、それぞれ所定のインタフェース規格で接続されている。
【００２０】
情報処理装置２０で動作するオペレーティングシステムを構成するソフトウェアは、ユーザ（ｕｓｅｒ）モードレイヤとカーネル（Ｋｅｒｎｅｌ）モードレイヤに区分されている。ユーザモードレイヤには、アプリケーションソフトウェア例えばファイル操作を行うためのファイラー（Ｆｉｌｅｒ）が設けられている。また、カーネルモードレイヤは、ハードディスクデバイスドライバ、光ディスクデバイスドライバ、ハードディスクファイルシステムドライバ、光ディスクシステムドライバが設けられている。なお、図１に示すソフトウェアは、オペレーティングシステムの一部であって、ユーザモードレイヤとカーネルモードレイヤには、種々の動作を行うために必要とされるソフトウェアが設けられている。
【００２１】
ファイラーは、ユーザモードで動作するアプリケーションソフトウェアであり、ファイルの閲覧やコピー、削除、移動などを行うためのソフトウェアである。ファイラーは、例えばマイクロソフト・コーポレーションが提供するWindows（登録商標）オペレーティングシステムに設けられているExplorer、アップル・コンピュータ・インコーポレイテッドが提供するMac OS（登録商標）等に設けられているFinderなどである。
【００２２】
ハードディスクデバイスドライバと光ディスクデバイスドライバは、ストレージクラスドライバである。ハードディスクデバイスドライバは、ハードディスク装置への記録／再生を抽象化し、光ディスクデバイスドライバは、光ディスク装置への記録／再生を抽象化する。このように、デバイスドライバは、ドライブへの記録／再生を抽象化することで、特定のデバイスに依存した違いを吸収して、デバイスに依存しないインタフェースを上位のソフトウェアに提供する。
【００２３】
ハードディスクファイルシステムドライバと光ディスクファイルシステムドライバは、ユーザモードで動作するファイラーからのファイルアクセスを抽象化して、下位のデバイスドライバのインタフェースに置き換える。したがって、ファイラーからのファイルアクセスに応じて、ハードディスク装置３０や光ディスク装置４０でファイルの記録／再生が可能となる。
【００２４】
ハードディスクファイルシステムドライバは、オペレーティングシステムに標準的に組み込まれているＮＴＦＳ／ＦＡＴなどのファイルシステムドライバである。ハードディスクファイルシステムドライバは、ハードディスクデバイスドライバを介して、ハードディスク装置にファイルデータおよびファイルシステムを記録する処理、および記録されているファイルデータやファイルシステムを読み出す処理を行う。
【００２５】
光ディスクファイルシステムドライバは、光ディスクデバイスドライバを介して光ディスクに所定のファイルシステムフォーマット例えばＵＤＦなどでファイルデータおよびファイルシステムを記録する処理、および記録されたファイルデータやファイルシステムを読み出する処理を行う。さらに、情報処理装置２０にはメモリが設けられており、光ディスクファイルシステムドライバは、コピー元から読み出したファイルデータをメモリ上に設けたプロキシファイル用のバッファに格納する。また、光ディスクファイルシステムドライバは、バッファに格納したファイルデータを光ディスクに対してバースト記録する。さらに、光ディスクファイルシステムドライバは、光ディスクに記録するファイルのバッファへの格納をファイルの光ディスクへの記録と見なして、ファイルデータが全て光ディスクに記録される前であっても、次のファイルのコピー処理を開始できるようにする。なお、光ディスクが追記型である場合、ファイルは追記的に記録されるので、一度記録されたファイルのデータは、例えそのファイルが消去されても、光ディスクの同じアドレスを読むと記録されたデータを読むことができる。
【００２６】
ハードディスク装置３０は、情報処理装置２０で実行するアプリケーションソフトウェアやアプリケーションソフトウェアで利用する各種のファイルを記憶している。
【００２７】
光ディスク装置４０は、例えば複数チャンネルの光ヘッドを用いて構成されており、例えばチャンネル毎に振り分けられたファイルデータを各チャンネルの光ヘッドを用いて記録することで、１つのチャンネルの光ヘッドを用いる場合よりも高速に記録を行う。また、光ディスク装置４０は、バースト記録を行い、チャンネル毎に振り分けられたファイルデータを高速に光ディスクに記録する。図２は、光ディスク装置で２チャンネルの記録ベッドが用いられている場合の動作を例示している。光ディスク４５に記録するファイルデータはバースト記録量である記録用データＣＨａ_ｆと記録用データＣＨｂ_ｆに振り分けられる。記録用データＣＨａ_ｆは記録ヘッドのチャンネルＣＨａ、記録用データＣＨｂ_ｆはチャンネルＣＨｂで、光ディスク４５に対してバースト記録されて、光ディスク４５には、記録用データＣＨａ_ｗと記録用データＣＨｂ_ｗが連続して記録された状態となる。
【００２８】
＜２．情報処理装置の動作＞
次に、情報処理装置の動作として、複数ファイルを光ディスクに連続コピーする場合のファイラーとファイルシステムドライバの動作について説明する。
【００２９】
情報処理装置では、コピー元から読み出したファイルデータをメモリ上に設けたプロキシファイル用のバッファに格納する。また、情報処理装置は、格納したファイルデータのデータ量がバースト記録量となった場合、プロキシファイル用のバッファに格納したファイルデータを光ディスクに記録する。さらに、情報処理装置は、格納されたファイルデータのデータ量がバースト記録量となる前にコピー対象の全ファイルのファイルデータが完了した場合、プロキシファイル用のバッファに格納したファイルデータを光ディスクに記録する。
【００３０】
なお、以下の説明では、情報処理装置においてマイクロソフト・コーポレーションが提供するWindows（登録商標）オペレーティングシステムが用いられているとする。
【００３１】
ファイラーは、コピー元例えばハードディスク装置３０に記録されたファイルを複数選択して、コピー先である光ディスク４５にそれらのファイルを連続コピーする処理を行う。ファイラーは、一つのファイルのコピーが完了した後に、次のファイルのコピーを開始して、逐次的にファイルをハードディスク装置３０から光ディスク装置４０の光ディスク４５にコピーする。また、１ファイルのコピー完了後に、コピー先ファイルに対してコピー元ファイルと同じファイル属性の設定などを行う。なお、ファイル属性では、例えばファイルを作成したアプリケーションに関する情報、ファイルの作成日時や更新日時、読み取り専用であるか否か等の情報が示されている。
【００３２】
図３は、複数ファイルの連続コピーにおけるファイラーの動作を示したフローチャートである。ステップＳＴ１でファイラーは、コピー元ファイルを開く。ファイラーは、コピー元のファイル名やファイルの扱い等を示したCreateFile()関数をハードディスクファイルシステムドライバに送出してステップＳＴ２に進む。ここで、ファイラーは、コピー元のファイルが存在していることから、CreateFile()関数におけるファイルの扱いを指定するパラメータdwCreationDispositionの値を「OPEN_EXISTIN」とする
ステップＳＴ２でファイラーは、コピー先ファイルを開く。ファイラーは、コピー先ファイルのファイル名やファイルの扱い等を示したCreateFile()関数を光ディスクファイルシステムドライバに送出してステップＳＴ３に進む。ここで、ファイラーは、コピー先ファイルを新たに作成する場合、CreateFile()関数におけるファイルの扱いを指定するパラメータdwCreationDispositionの値を「CREATE_NEW」とする。
【００３３】
ステップＳＴ３でファイラーは、コピー元ファイルからデータの読み出しを行う。ファイラーは、コピー元のファイルのハンドルや読み取り対象のバイト数、読み取ったデータの格納位置を示すポインタ等を示したReadFile()関数をハードディスクファイルシステムドライバに送出してステップＳＴ４に進む。
【００３４】
ステップＳＴ４でファイラーは、データの読み出しが完了したか判別する。ファイラーは、ReadFile()関数に対するハードディスクファイルシステムドライバからの戻り値に基づき、コピー元のファイルのデータ読み出しが完了したか否かを判別する。ファイラーは、データの読み出しが完了していないと判別した場合はステップＳＴ５に進み、データの読み出しが完了したと判別した場合はステップＳＴ６に進む。
【００３５】
ステップＳＴ５でファイラーは、コピー先ファイルへデータの書き込みを行う。ファイラーは、コピー先ファイルのハンドルや上述の読み取り対象のバイト数と等しい書き込み対象のバイト数、書き込むデータの格納位置を示すポインタ等を示したWriteFile()関数を光ディスクファイルシステムドライバに送出してステップＳＴ３に戻る。
【００３６】
すなわち、ファイラーは、ステップＳＴ３からステップＳＴ５までの処理を繰り返すことで、コピー元ファイルのデータを読み取り対象（＝書き込み対象）のバイト数単位で順次コピー先ファイルに書き込む。その後、コピー元ファイルのデータが全てコピー先ファイルに書き込まれると、ファイラーはステップＳＴ６の処理を行う。
【００３７】
ステップＳＴ６でファイラーは、コピー先ファイルを閉じる。ファイラーは、コピー先ファイルのハンドルを示したCloseHandle()関数を光ディスクファイルシステムドライバに送出してステップＳＴ７に進む。
【００３８】
ステップＳＴ７でファイラーは、コピー元ファイルを閉じる。ファイラーは、コピー元のファイルのハンドルを示したCloseHandle()関数をハードディスクファイルシステムドライバに送出してステップＳＴ８に進む。
【００３９】
ステップＳＴ８でファイラーは、コピー元ファイル属性をコピー先ファイルに設定する。ファイラーは、コピー先ファイルに対してコピー元ファイルと同じファイル属性の設定を行いステップＳＴ９に進む。
【００４０】
ステップＳＴ９でファイラーは、連続コピーの完了であるか判別する。ファイラーは、コピーされていないファイルが残っていると判別した場合、コピーされていないファイルを次のコピー元ファイルに設定してステップＳＴ１に戻る。また、ファイラーは、コピー対象の全てのファイルについてコピーが完了したと判別した場合、連続コピーの処理を終了する。
【００４１】
図４は、複数ファイルの連続コピーにおける光ディスクファイルシステムドライバの動作を示したフローチャートである。
【００４２】
光ディスクファイルシステムドライバ（以下、単に「ファイルシステムドライバ」という）は、光ディスクに記録するファイルのバッファへの格納をファイルの光ディスクへの記録と見なしてファイルに対する仮想的な管理情報をメモリ上に生成する。また、ファイルシステムドライバは、バッファにバースト記録量のファイルのデータが格納される毎にバースト記録量のファイルデータを光ディスクにバースト記録する。さらに、ファイルシステムドライバは、光ディスクへの複数ファイルの記録完了後に、メモリ上の仮想的な管理情報を光ディスクにおけるファイルの記録位置を含む情報を用いて更新して光ディスクに記録する。
【００４３】
ステップＳＴ２１でファイルシステムドライバは、ファイルを開く指示を受領する。ファイルシステムドライバは、図３のステップＳＴ２でファイラーから送出されたCreateFile()関数を受領してステップＳＴ２２に進む。
【００４４】
ステップＳＴ２２でファイルシステムドライバは、プロキシ（Proxy）ファイルのファイルエントリ（FileEntry）が存在するか判別する。プロキシファイルのファイルエントリは、プロキシファイルの領域位置や領域サイズを示す情報であり、ファイルシステムドライバは、ファイルエントリがメモリ上に存在していない場合はステップＳＴ２３に進み、存在している場合はステップＳＴ２４に進む。
【００４５】
ステップＳＴ２３でファイルシステムドライバは、メモリ上にプロキシファイルのファイルエントリを作成する。ファイルシステムドライバは、プロキシファイルのファイルエントリを作成することで、コピー元ファイルから読み出したファイルデータをプロキシファイル用のバッファに書き込めるようにしてステップＳＴ２４に進む。
【００４６】
ステップＳＴ２４でファイルシステムドライバは、メモリ上にコピー先ファイルの仮想的なファイルエントリ（以下「仮想ファイルエントリ」という）を作成する。ファイルシステムドライバは、上述のように、コピー対象のファイルのファイルデータをメモリ上に設けたプロキシファイル用のバッファに格納して、格納されたファイルデータを光ディスクにバースト記録する。したがって、ファイラーでファイルの書き込みを指示しても、ファイルデータがバースト記録量となるまでは光ディスクに記録されない。このため、ファイルシステムドライバは、仮想ファイルエントリを作成して、この仮想ファイルエントリはファイルの実記録情報（光ディスク上の記録位置や記録領域サイズ）を示していないファイルエントリとする。なお、仮想ファイルエントリの情報は、上述の仮想的な管理情報に相当する。ファイルシステムドライバは、仮想ファイルエントリを作成してステップＳＴ２５に進む。
【００４７】
ステップＳＴ２５でファイルシステムドライバは、書き込み指示を受領したか判別する。ファイルシステムドライバは、図３のステップＳＴ５でファイラーから送出されたWriteFile()関数を受領した場合にステップＳＴ２６に進み、受領していない場合はステップＳＴ３０に進む。
【００４８】
ステップＳＴ２６でファイルシステムドライバは、ダミー領域をコピー先ファイル領域として確保する。ファイルシステムドライバは、WriteFile()関数で示された書き込み対象のバイト数分の領域をダミー領域として、このダミー領域をコピー先ファイル領域として確保してステップＳＴ２７に進む。
【００４９】
ステップＳＴ２７でファイルシステムドライバは、プロシキファイル用のバッファにデータを格納する。ファイルシステムドライバは、WriteFile()関数で示された書き込み対象のファイルデータを、プロシキファイル用としてメモリ上に設けたバッファに格納してステップＳＴ２８に進む。
【００５０】
ステップＳＴ２８でファイルシステムドライバは、バースト記録量のデータを格納したか判別する。ファイルシステムドライバは、バッファに格納したファイルデータがバースト記録量となった場合はステップＳＴ２９に進む。また、ファイルシステムドライバは、バッファに格納したファイルデータがバースト記録量未満である場合はステップＳＴ２５に戻る。
【００５１】
ステップＳＴ２９でファイルシステムドライバは、プロシキファイル用のバッファに格納されているデータを光ディスクにバースト記録する。また、ファイルシステムドライバは、プロシキファイル用のバッファにおいて記録の完了したデータの領域を空き領域として、新たなデータを書き込めるようにしてステップＳＴ２５に戻る。
【００５２】
ステップＳＴ２５からステップＳＴ３０に進むと、ステップＳＴ３０でファイルシステムドライバは、ファイルを閉じる指示を受領したか判別する。ファイルシステムドライバは、図３のステップＳＴ６でファイラーから送出されたCloseHandle()関数を受領した場合にステップＳＴ３１に進み、CloseHandle()関数を受領していない場合にステップＳＴ２５に戻る。
【００５３】
ステップＳＴ３１でファイルシステムドライバは、コピー先ファイルの仮想ファイルエントリに属性を設定する。ファイルシステムドライバは、コピー先ファイルを閉じる指示を受領したことから、コピー先ファイルへのコピーが完了したとして、コピー元ファイルの属性情報を利用して、コピー先ファイルの仮想ファイルエントリに属性を設定してステップＳＴ３２に進む。
【００５４】
ステップＳＴ３２でファイルシステムドライバは、指示待ちが所定時間経過したか判別する。情報処理装置２０では、複数ファイルの連続コピーの終了を判別するための所定時間が予め設定されている。ファイルシステムドライバは、所定時間（例えば５秒）が経過する前にファイラーからのファイルを開く指示がある場合はステップＳＴ２１に戻り、ファイルを開く指示を受領して、次のファイルのコピー処理を行う。また、ファイルシステムドライバは、所定時間が経過してもファイラーからのファイルを開く指示がない場合はステップＳＴ３３に進む。
【００５５】
ステップＳＴ３３でファイルシステムドライバは、プロキシファイル用のバッファの残データを光ディスクに記録する。ファイルシステムドライバは、プロキシファイル用のバッファの残データ、すなわちバースト記録量未満であって光ディスクにまだ記録されていないファイルデータを光ディスクに記録してステップＳＴ３４に進む。
【００５６】
ステップＳＴ３４でファイルシステムドライバは、各コピー先ファイルのファイルエントリを更新する。ファイルシステムドライバは、ステップＳＴ３３までの処理を行うことによってコピー対象のファイルを全て光ディスクに記録したことから、光ディスクにおけるファイルの記録位置を含む情報を用いて仮想ファイルエントリを更新する。すなわち、ファイルシステムドライバは、コピー先ファイル毎に、割り当てたダミー領域の合計値である領域サイズとプロキシファイル用のバッファを介して光ディスクに記録したファイルの記録位置を含む情報を用いて、メモリ上に作成されている各コピー先ファイルの仮想ファイルエントリを、実記録情報を示すファイルエントリに更新してステップＳＴ３５に進む。
【００５７】
ステップＳＴ３５でファイルシステムドライバは、プロキシファイルのファイルエントリを削除する。ファイルシステムドライバは、コピー対象の全ファイルのファイルデータを光ディスクに記録する処理が完了したことでプロキシファイルが不要であることから、プロキシファイルのファイルエントリを削除してステップＳＴ３６に進む。
【００５８】
ステップＳＴ３６でファイルシステムドライバは、コピー先ファイルのファイルエントリの情報を光ディスクに記録する。ファイルシステムドライバは、メモリ上にコピー先ファイル毎に作成されている更新後のファイルエントリの情報を含むファイルシステム情報を光ディスクに記録してステップＳＴ２１に戻る。
【００５９】
図５は、ファイルデータの連続コピー中の処理動作を例示している。なお、図５では、バースト記録量が例えば６４ＭＢとされており、Ｆｉｌｅ［０］〜Ｆｉｌｅ［２］の各ファイルのデータ量が６４ＭＢ未満で、各ファイルの合計データ量が６４ＭＢ以上である。
【００６０】
ファイラーは、Ｆｉｌｅ［０］〜Ｆｉｌｅ［２］について、ハードディスクボリュームから光ディスクボリュームへのコピーを行う。また、ファイルシステムドライバは、WriteFile()関数によって供給されたファイルデータをプロキシファイル用のバッファに順次格納してバースト記録量毎に光ディスクに記録できるようにする。すなわち、ファイルシステムドライバは、Ｆｉｌｅ［０］〜Ｆｉｌｅ［２］のファイルデータが連結された連結データを、バースト記録量毎に区分する処理と同等の処理を行う。ファイルシステムドライバは、プロキシファイル用のバッファにバースト記録量のファイルデータが格納される毎に、このバースト記録量のファイルデータを光ディスクにバースト記録する。
【００６１】
ファイルシステムドライバは、プロキシファイルエントリとＦｉｌｅ［０］〜Ｆｉｌｅ［２］に対する実記録情報のない仮想ファイルエントリを作成する処理、ファイラーからの書き込み指示に基づき、コピー元ファイルのファイルデータをプロキシファイル用のバッファに格納する処理を行う。さらに、ファイルシステムドライバは、書き込み指示の終了後にファイラーから送出された属性設定指示に基づき仮想ファイルエントリを完結させる処理等を行う。また、ファイラーは、仮想ファイルエントリに対してコピー完了後の存在確認や、ファイル属性の設定を行い、その後次のファイルのコピーを開始する。したがって、例えばＦｉｌｅ［０］のデータを光ディスクに記録する処理が完了していなくとも、次のＦｉｌｅ［１］のデータのコピーを開始できる。なお、仮想ファイルエントリに基づき光ディスクからＦｉｌｅ［０］のデータを読み出した場合、例えば「０」で埋められたデータが得られることになる。この時点で転送元と転送先のデータ比較などは行えないが、光ディスクから実際のデータの読み出しは行われないので、転送性能の低下は発生しない。
【００６２】
また、プロキシファイルは隠しファイル（例えば内部システムファイル）としてファイルシステムドライバはファイラーや他のアプリケーションからプロキシファイルを認識できないようにする。プロキシファイル用のバッファは、例えば記録ヘッドのチャンネルＣＨａに対応するバッファ−ＡとチャンネルＣＨｂに対応するバッファ−Ｂを有している。ファイルシステムドライバは、バッファにバースト記録量のファイルデータを格納すると、バッファに格納されているファイルデータを光ディスクにバースト記録する。なお、図５では、バッファ−Ａに格納されたＦｉｌｅ［０］のファイルデータＤＴ０とＦｉｌｅ［１］の一部のファイルデータＤＴ１-1が光ディスクに記録ヘッドのチャンネルＣＨａを用いてバースト記録される場合を示している。また、図示せずも、バッファ−Ａに格納されたファイルデータのバースト記録中に、バースト記録量のファイルデータがバッファ−Ｂに格納された場合、ファイルシステムドライバは、バッファ−Ｂに格納されたファイルデータのバースト記録を並行して行う。また、ファイルシステムドライバは、バッファ−Ａとバッファ−Ｂにバースト記録量のファイルデータが格納されたとき、バースト記録を行うようにしてもよい。さらに、ファイルシステムドライバは、バースト記録中であっても新たなファイルデータをバッファに格納できるように、バッファ容量の設定や光ディスクに記録済みのデータの消去を行う。このようにすれば、ファイルデータをバッファに格納しながら格納されているファイルデータを光ディスクに記録することが可能となり、さらに効率よく複数ファイルを光ディスクに記録できるようになる。
【００６３】
図６は、ファイルデータの記録完了後の処理動作を例示している。ファイルシステムドライバは、図４のステップＳＴ３２で所定時間が経過したと判別するとステップＳＴ３３で光ディスクにプロキシファイル用のバッファの残データを記録する。したがって、光ディスクにはＦｉｌｅ［０］のファイルデータＤＴ０とＦｉｌｅ［１］のファイルデータＤＴ１とＦｉｌｅ［２］のファイルデータＤＴ２の記録が完了する。その後、ファイルシステムドライバは、Ｆｉｌｅ［０］〜Ｆｉｌｅ［２］にファイルデータの光ディスクにおける記録領域を割り当てることで、各ファイルの仮想ファイルエントリを、実記録情報を示すファイルエントリに更新する。また、ファイルシステムドライバは、不要となったプロキシファイルのファイルエントリを削除する。さらにファイルシステムドライバは、Ｆｉｌｅ［０］〜Ｆｉｌｅ［２］の更新後のファイルエントリを含むファイルシステム情報を光ディスクに記録する。ファイルシステムドライバは、以上のような処理を行うことで、Ｆｉｌｅ［０］〜Ｆｉｌｅ［２］のファイルデータとＦｉｌｅ［０］〜Ｆｉｌｅ［２］に関するファイルシステム情報を光ディスクに記録できる。
【００６４】
図７および図８は、複数ファイルの連続コピーのシーケンス図を示している。なお、図７および図８では、図５および図６に示すようにＦｉｌｅ［０］〜Ｆｉｌｅ［２］を連続コピーする場合を例示している。また、図７および図８では、プロキシファイルライターを用いて、プロキシファイル用のバッファのデータを光ディスク装置に送出する場合を例示している。
【００６５】
ファイラーは、Ｆｉｌｅ［０］のコピー処理を開始して、ステップＳＴ１０１でコピー先ファイルであるＦｉｌｅ［０］を開く指示であるCreateFile("\File[0]")関数をファイルシステムドライバに送出する。
【００６６】
ステップＳＴ１０２でファイルシステムドライバは、プロキシファイルエントリをメモリ上に作成する。ステップＳＴ１０３でファイルシステムドライバは、Ｆｉｌｅ［０］のファイルエントリをメモリ上に仮想ファイルエントリとして作成して、ステップＳＴ１０４でファイルシステムドライバは、Ｆｉｌｅ［０］を開いたことを示す戻り値をファイラーに送出する。
【００６７】
次に、Ｆｉｌｅ［０］が開いていることから、ステップＳＴ１０５-1でファイラーは、コピー先ファイルへデータの書き込み指示であるWriteFile("\File[0]")関数をファイルシステムドライバに送出する。
【００６８】
この書き込み指示に基づきステップＳＴ１０６-1aでファイルシステムドライバは、WriteFile("\File[0]")関数で示された書き込み対象のバイト数であるダミー領域を確保する。また、ファイルシステムドライバは書き込み指示に基づきプロキシファイルライターを制御して、ステップＳＴ１０６-1bでプロキシファイル用のバッファに書き込み対象のバイト数であるファイルデータを格納する。ステップＳＴ１０７-1でファイルシステムドライバは、書き込み指示の処理が完了したことを示す戻り値をファイラーに送出する。
【００６９】
その後、書き込み指示および書き込み指示に基づいた処理を繰り返し行い、ステップＳＴ１０５-pでファイラーは、Ｆｉｌｅ［０］の最後のファイルデータをコピー先ファイルに書き込むため、WriteFile("\File[0]")関数をファイルシステムドライバに送出する。
【００７０】
この書き込み指示に基づきステップＳＴ１０６-paでファイルシステムドライバは、WriteFile("\File[0]")関数で示された書き込み対象のバイト数であるダミー領域を確保する。また、ファイルシステムドライバは書き込み指示に基づきプロキシファイルライターを制御して、ステップＳＴ１０６-pbでプロキシファイル用のバッファに書き込み対象のバイト数であるファイルデータを格納する。ステップＳＴ１０７-pでファイルシステムドライバは、書き込み指示の処理が完了したことを示す戻り値をファイラーに送出する。
【００７１】
ステップＳＴ１０９でファイラーは、Ｆｉｌｅ［０］の全ファイルデータの書き込み完了であるとして、Ｆｉｌｅ［０］を閉じる指示であるCloseHandle("\File[0]")関数をファイルシステムドライバに送出する。ステップＳＴ１１０でファイルシステムドライバは、Ｆｉｌｅ［０］を閉じて戻り値をファイラーに送出する。
【００７２】
ステップＳＴ１１１でファイラーは、Ｆｉｌｅ［０］の属性の設定指示であるSetFileAttributes("\File[0]")関数をファイルシステムドライバに送出する。ステップＳＴ１１２でファイルシステムドライバは、Ｆｉｌｅ［０］のファイルエントリに属性を設定して、ステップＳＴ１１３で属性の設定が完了したことファイラーに送出する。
【００７３】
ファイラーは、Ｆｉｌｅ［０］のコピー処理が完了したとして、Ｆｉｌｅ［１］のコピー処理を開始し、ステップＳＴ１２１でコピー先ファイルであるＦｉｌｅ［１］を開く指示であるCreateFile("\File[1]")関数をファイルシステムドライバに送出する。
【００７４】
ステップＳＴ１２３でファイルシステムドライバは、Ｆｉｌｅ［１］のファイルエントリをメモリ上に仮想ファイルエントリとして作成して、ステップＳＴ１２４でファイルシステムドライバは、Ｆｉｌｅ［１］を開いたことを示す戻り値をファイラーに送出する。
【００７５】
次に、Ｆｉｌｅ［１］が開いていることから、ステップＳＴ１２５-1でファイラーは、コピー先ファイルへデータの書き込み指示であるWriteFile("\File[1]")関数をファイルシステムドライバに送出する。
【００７６】
この書き込み指示に基づきステップＳＴ１２６-1aでファイルシステムドライバは、WriteFile("\File[1]")関数で示された書き込み対象のバイト数であるダミー領域を確保する。また、ファイルシステムドライバは書き込み指示に基づきプロキシファイルライターを制御して、ステップＳＴ１２６-1bでプロキシファイル用のバッファに書き込み対象のバイト数であるファイルデータを格納する。ステップＳＴ１２７-1でファイルシステムドライバは、書き込み指示の処理が完了したことを示す戻り値をファイラーに送出する。
【００７７】
その後、書き込み指示および書き込み指示に基づいた処理を繰り返し行い、ステップＳＴ１２５-jでファイラーは、Ｆｉｌｅ［１］のファイルデータをコピー先ファイルに書き込むために、WriteFile("\File[0]")関数をファイルシステムドライバに送出する。この書き込み指示に基づきステップＳＴ１２６-jaでファイルシステムドライバは、WriteFile("\File[0]")関数で示された書き込み対象のバイト数であるダミー領域を確保する。また、ファイルシステムドライバは書き込み指示に基づきプロキシファイルライターを制御して、ステップＳＴ１２６-jbでプロキシファイル用のバッファに書き込み対象のバイト数であるファイルデータを格納する。ステップＳＴ１２７-jでファイルシステムドライバは、書き込み指示の処理が完了したことを示す戻り値をファイラーに送出する。
【００７８】
ここで、プロキシファイル用のバッファにファイルデータを格納することで、バッファに格納されたファイルデータがバースト記録量となると、ステップＳＴ１２８でファイルシステムドライバはプロキシファイルライターと光ディスク装置を制御して、バッファに格納されているバースト記録量分のファイルデータを光ディスクにバースト記録する。
【００７９】
書き込み指示および書き込み指示に基づいた処理を繰り返し行い、ステップＳＴ１２５-qでファイラーは、Ｆｉｌｅ［１］の最後のファイルデータをコピー先ファイルに書き込むために、WriteFile("\File[1]")関数をファイルシステムドライバに送出する。
【００８０】
この書き込み指示に基づきステップＳＴ１２６-qaでファイルシステムドライバは、WriteFile("\File[1]")関数で示された書き込み対象のバイト数であるダミー領域を確保する。また、ファイルシステムドライバは書き込み指示に基づきプロキシファイルライターを制御して、ステップＳＴ１２６-qbでプロキシファイル用のバッファに書き込み対象のバイト数であるファイルデータを格納する。ステップＳＴ１２７-qでファイルシステムドライバは、書き込み指示の処理が完了したことを示す戻り値をファイラーに送出する。
【００８１】
ステップＳＴ１２９でファイラーは、Ｆｉｌｅ［１］の全ファイルデータの書き込み完了であるとして、Ｆｉｌｅ［１］を閉じる指示であるCloseHandle("\File[1]")関数をファイルシステムドライバに送出する。ステップＳＴ１３０でファイルシステムドライバは、Ｆｉｌｅ［１］を閉じて戻り値をファイラーに送出する。
【００８２】
ステップＳＴ１３１でファイラーは、Ｆｉｌｅ［１］の属性の設定指示であるSetFileAttributes("\File[1]")関数をファイルシステムドライバに送出する。ステップＳＴ１３２でファイルシステムドライバは、Ｆｉｌｅ［１］のファイルエントリに属性を設定して、ステップＳＴ１３３で属性の設定が完了したことファイラーに送出する。
【００８３】
ファイラーは、Ｆｉｌｅ［１］のコピー処理が完了したとして、Ｆｉｌｅ［２］のコピー処理を開始し、ステップＳＴ１４１でコピー先ファイルであるＦｉｌｅ［２］を開く指示であるCreateFile("\File[2]")関数をファイルシステムドライバに送出する。
【００８４】
ステップＳＴ１４３でファイルシステムドライバは、Ｆｉｌｅ［２］のファイルエントリをメモリ上に仮想ファイルエントリとして作成して、ステップＳＴ１４４でファイルシステムドライバは、Ｆｉｌｅ［２］を開いたことを示す戻り値をファイラーに送出する。
【００８５】
次に、Ｆｉｌｅ［２］が開いていることから、ステップＳＴ１４５-1でファイラーは、コピー先ファイルへデータの書き込み指示であるWriteFile("\File[2]")関数をファイルシステムドライバに送出する。
【００８６】
この書き込み指示に基づきステップＳＴ１４６-1aでファイルシステムドライバは、WriteFile("\File[2]")関数で示された書き込み対象のバイト数であるダミー領域を確保する。また、ファイルシステムドライバは書き込み指示に基づきプロキシファイルライターを制御して、ステップＳＴ１４６-1bでプロキシファイル用のバッファに書き込み対象のバイト数であるファイルデータを格納する。ステップＳＴ１４７-1でファイルシステムドライバは、書き込み指示の処理が完了したことを示す戻り値をファイラーに送出する。
【００８７】
その後、書き込み指示および書き込み指示に基づいた処理を繰り返し行い、ステップＳＴ１４５-rでファイラーは、Ｆｉｌｅ［２］の最後のファイルデータをコピー先ファイルに書き込むために、WriteFile("\File[2]")関数をファイルシステムドライバに送出する。
【００８８】
この書き込み指示に基づきステップＳＴ１４６-raでファイルシステムドライバは、WriteFile("\File[2]")関数で示された書き込み対象のバイト数であるダミー領域を確保する。また、ファイルシステムドライバは書き込み指示に基づきプロキシファイルライターを制御して、ステップＳＴ１４６-rbでプロキシファイル用のバッファに書き込み対象のバイト数であるファイルデータを格納する。ステップＳＴ１４７-rでファイルシステムドライバは、書き込み指示の処理が完了したことを示す戻り値をファイラーに送出する。
【００８９】
ステップＳＴ１４９でファイラーは、Ｆｉｌｅ［２］の全ファイルデータの書き込み完了であるとして、Ｆｉｌｅ［２］を閉じる指示であるCloseHandle("\File[2]")関数をファイルシステムドライバに送出する。ステップＳＴ１５０でファイルシステムドライバは、Ｆｉｌｅ［２］を閉じて戻り値をファイラーに送出する。
【００９０】
ステップＳＴ１５１でファイラーは、Ｆｉｌｅ［２］の属性の設定指示であるSetFileAttributes("\File[2]")関数をファイルシステムドライバに送出する。ステップＳＴ１５２でファイルシステムドライバは、Ｆｉｌｅ［２］のファイルエントリに属性を設定して、ステップＳＴ１５３で属性の設定が完了したことファイラーに送出する。
【００９１】
ファイルシステムドライバは、指示待ちが所定時間経過すると、ステップＳＴ１６１でプロキシファイル用のバッファの残データを光ディスクに記録する。
【００９２】
ステップＳＴ１６２でファイルシステムドライバは、Ｆｉｌｅ［０］〜Ｆｉｌｅ［３］の各ファイルエントリを更新する。ファイルシステムドライバは、実記録情報を有していない仮想ファイルエントリを、実記録情報を示すファイルエントリに更新する。また、ステップＳＴ１６３でファイルシステムドライバは、プロキシファイルのファイルエントリを削除する。さらにステップＳＴ１６４でファイルシステムドライバは、Ｆｉｌｅ［０］〜Ｆｉｌｅ［３］のファイルエントリの情報を光ディスクに記録する。ファイルシステムドライバは、Ｆｉｌｅ［０］〜Ｆｉｌｅ［３］の更新後のファイルエントリの情報を含むファイルシステム情報を光ディスクに記録してステップＳＴ２１に戻る。
【００９３】
以上のようにして、複数の小サイズのファイルを連続的にコピーする場合に、光ファイルシステムドライバは、プロキシファイルを生成して、プロキシファイル用のバッファにファイルデータを順次格納して、バースト記録量毎に光ディスクにバースト記録する。また、プロキシファイル用のバッファにファイルデータを順次格納する処理が完了したことによって、ファイラーでは次のファイルのコピーが開始される。したがって、連続してコピーする複数ファイルの各ファイルサイズが例えばバースト記録量未満であっても、バースト記録を行うことができるようになり、高速にコピー処理を行うことが可能となる。また、光ディスクに記録されたファイルデータはファイルシステム情報によってファイル単位で管理されているため、記録後のファイル名の変更や、削除、属性変更などが可能であり、ライブファイルシステム方式と同等の使い勝手が得られる。さらに、ファイルデータが連結されてバースト記録されるので、マスター方式相当の記録性能が得られる。さらに、アンチウィルスソフトウェアを用いたリアルタイム保護時など、記録直後のファイルに対して読み出しが行われる場合も、プロキシファイル用のバッファからファイルデータを読み出すようにすれば、記録転送速度の低下が発生しない。
【００９４】
また、光ファイルシステムドライバでプロキシファイルを生成して、プロキシファイル用のバッファにファイルデータを順次格納して、バースト記録量毎に光ディスクにバースト記録することから、ファイラー等では処理を変更する必要がない。したがって、光ファイルシステムドライバを更新するだけで、ファイルの連続記録を高速化することが可能となり、例えば従来の情報処理装置のコピー性能を容易に向上させることができる。
【００９５】
ところで、ファイルの連続記録を高速化する上述の処理は、ユーザの指示に基づいて行うようにしてもよい。図９は、情報処理装置におけるコピー処理の設定画面を例示している。設定画面には、ボリュームタイプを設定するためのドロップダウンボタンＧＵ１が設けられている。このドロップダウンボタンを操作すると、設定可能なボリュームタイプがドロップダウンリストとして表示されて、リストから所望のボリュームタイプが選択される。
【００９６】
また、設定画面には、ベリファイ記録を行うか否かを設定するためのチェックボックスＧＵ２、ドライブを記録禁止とするか否かを設定するためのチェックボックスＧＵ３、ファイルの連続記録を高速化するか否かのチェックボックスＧＵ４が設けられている。さらに、設定画面には、ユーザ設定を適用するためのボタンＧＵ５、設定を出荷時の設定に戻すためのボタンＧＵ６が設けられている。
【００９７】
ここで、ファイルの連続記録を高速化するか否かのチェックボックスＧＵ４に対してチェックが行われている場合、情報処理装置は、光ファイルシステムドライバでコピー対象の複数ファイルのデータを連結して、光ディスクドライバで最適なバースト記録を行う。また、チェックボックスＧＵ４に対してチェックが行われていない場合、情報処理装置は従来と同様にコピー処理をファイル毎に順次行う。
【００９８】
なお、複数ファイルを連続コピーする記録媒体は、光ディスクに限られない。例えば、記録媒体として磁気ディスクやテープ状記録媒体等を用いる場合であってもよい。また上述の実施の形態では、ハードディスク装置のファイルを光ディスクにコピーする場合について説明したが、コピーするファイルは、ハードディスク装置に限らず他の装置に記録されているファイルやネットワークを介して取得したファイルであってもよい。または、ファイルのコピー処理に限らずファイルの移動処理に本技術を適用すれば、複数ファイルの移動を従来よりも高速に完了できる。また、情報処理装置は、オペレーティングシステムとしてWindows（登録商標）を用いる場合に限らず、Mac OS（登録商標）等の他のオペレーティングシステムを用いる構成であってもよい。
【００９９】
さらに、明細書中において説明した一連の処理を実行する場合、ファイルシステムドライバのプログラムを、コンピュータ内のメモリにインストールして実行させる。プログラムは、例えば記録媒体としてのハードディスクやＳＳＤ（Solid State Drive）、ＲＯＭ（Read Only Memory）に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory），ＭＯ（Magneto optical）ディスク，ＤＶＤ（Digital Versatile Disc）、ＢＤ（Blu-Ray Disc（登録商標））、磁気ディスク、半導体メモリカード等のリムーバブル記録媒体に、一時的または永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
【０１００】
また、プログラムは、リムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトからＬＡＮ（Local Area Network）やインターネット等のネットワークを介して、コンピュータに無線または有線で転送してもよい。コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０１０１】
なお、本明細書に記載した効果はあくまで例示であって限定されるものではなく、記載されていない付加的な効果があってもよい。また、本技術は、上述した実施の形態に限定して解釈されるべきではない。この技術の実施の形態は、例示という形態で本技術を開示しており、本技術の要旨を逸脱しない範囲で当業者が実施の形態の修正や代用をなし得ることは自明である。すなわち、本技術の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【０１０２】
また、本技術の情報処理装置は以下のような構成も取ることができる。
（１）  記録媒体に記録するファイルのバッファへの格納を前記ファイルの前記記録媒体への記録と見なして前記ファイルに対する仮想的な管理情報を生成し、前記バッファに所定量の前記ファイルのデータが格納される毎に該所定量のデータを前記記録媒体にバースト記録して、前記記録媒体への前記ファイルの記録完了後に前記仮想的な管理情報を前記記録媒体における前記ファイルの情報を用いて更新して前記記録媒体に記録する記録制御部を備える情報処理装置。
（２）  前記記録制御部は、前記仮想的な管理情報として前記記録媒体における前記ファイルの記録位置を示す情報を有していない管理情報を生成して、前記記録媒体への前記ファイルの記録完了後に前記記録媒体における前記ファイルの記録位置を示す情報を用いて前記管理情報を更新する（１）に記載の情報処理装置。
（３）  前記記録制御部は、所定時間が経過してもファイルの書き込み指示がない場合に、前記バッファに格納されている前記記録媒体に記録されていない前記所定量未満のデータを前記記録媒体に記録する（１）または（２）に記載の情報処理装置。
（４）  前記記録制御部は、メモリ上に前記仮想的な管理情報を生成して、前記メモリ上の仮想的な管理情報を更新して前記記録媒体に記録する（１）乃至（３）の何れかに記載の情報処理装置。
（５）  前記記録媒体を用いるデバイスを制御するデバイスドライバと、ファイルシステムを制御するファイルシステムドライバを備え、
前記記録制御部は、前記ファイルシステムドライバにより実現する（１）乃至（４）の何れかに記載の情報処理装置。
（６）  前記記録制御部は、ファイル操作を行うアプリケーションからの指示に応じて生成する前記ファイルに対する管理情報として前記仮想的な管理情報の生成を行い、前記ファイルの前記記録媒体への記録完了前でも前記バッファへの格納が完了したことに応じて前記アプリケーションで前記記録媒体への前記ファイルの記録完了と判別させる（５）に記載の情報処理装置。
（７）  前記記録制御部は、前記記録媒体に記録するファイルを、前記バッファを介して前記記録媒体に記録する処理と、前記バッファを介することなく前記記録媒体に記録する処理を、ユーザの指示に基づき選択的に行う（１）乃至（６）の何れかに記載の情報処理装置。
（８）  前記記録媒体への前記ファイルの記録は、複数チャンネルの記録ヘッドを用いて行われており、
前記記録制御部は、前記ファイルのデータを前記チャンネル毎に設けられている前記バッファに格納する（１）乃至（７）の何れかに記載の情報処理装置。
【産業上の利用可能性】
【０１０３】
この技術の情報処理装置と情報処理方法およびプログラムでは、記録媒体に記録するファイルのバッファへの格納がファイルの記録媒体への記録と見なされてファイルに対する仮想的な管理情報の生成が行われる。また、バッファに所定量のファイルのデータが格納される毎に所定量のデータが記録媒体にバースト記録される。さらに、記録媒体へのファイルの記録完了後に仮想的な管理情報が記録媒体におけるファイルの記録位置を含む情報を用いて更新されて記録媒体に記録される。このため、記録媒体への複数ファイルの連続書き込みを高速に完了できるようになる。したがって、映像や音声等の多数のファイルを光ディスク等に記録するアーカイブシステム等に適している。
【符号の説明】
【０１０４】
１０・・・記録システム
２０・・・情報処理装置
３０・・・ハードディスク装置
４０・・・光ディスク装置
４５・・・光ディスク
【図１】
2016012382.tif 000003
【図２】
2016012382.tif 000004
【図３】
2016012382.tif 000005
【図４】
2016012382.tif 000006
【図５】
2016012382.tif 000007
【図６】
2016012382.tif 000008
【図７】
2016012382.tif 000009
【図８】
2016012382.tif 000010
【図９】
2016012382.tif 000011