(57)【要約】【課題】コンパクトディスクメディアにデータファイルを書き込むための方法を提供する。【解決手段】この方法は、コンパクトディスクメディアに書き込むために、ファイルの第１の部分を受信する工程から開始する。この第１の部分は、ファイルの任意の部分で良い。第１の部分は、受信されると複数のチャンクに分割される。次に、ファイルデータと、コンパクトディスクメディアに書き込まれる予定の複数のチャンクと、を相互に関係付けるための情報を含むマップデータセクタが、複数のチャンクの組のために生成される。すると、マップデータセクタがコンパクトディスクメディアに書き込まれ、ひきつづき、ファイルの第１の部分の複数のチャンクも描き込まれる。【選択図】図１
2006073196.tif 000002
【特許請求の範囲】
【請求項１】
コンパクトディスクメディアへのデータファイルの書き込み方法であって、
前記コンパクトディスクメディアに書き込むために、前記ファイルの第１の部分を受信する工程と、
前記ファイルの前記第１の部分を複数のチャンクに分割する工程と、
前記コンパクトディスクメディアに書き込まれる予定の前記複数のチャンクと、前記ファイルデータとを相互に関係付けるための情報を含むマップデータセクタを、前記複数のチャンクの組のために生成する工程と、
前記コンパクトディスクメディアに前記マップデータセクタを書き込む工程と、
前記ファイルの前記第１の部分の前記複数のチャンクを、前記コンパクトディスクメディアに書き込む工程と、
を備えるデータファイルの書き込み方法。
【請求項２】
請求項１記載のコンパクトディスクメディアへのデータファイルの書き込み方法であって、さらに、
追加の前記複数のチャンクの組のために、追加のマップデータセクタを生成する工程を備える、データファイルの書き込み方法。
【請求項３】
請求項１記載のコンパクトディスクメディアへのデータファイルの書き込み方法であって、さらに、
前記コンパクトディスクメディアに書き込むために、前記ファイルの第２の部分を受信する工程と、
前記ファイルの前記第２の部分を複数のチャンクに分割する工程と、
前記複数のチャンクの組のためにマップデータセクタを生成する工程と、
前記第２の部分に関連付けられた前記複数のチャンクの組のための前記マップデータセクタを、前記コンパクトディスクメディアの、前記第１の部分に関連付けられた前記複数のチャンクの組のための前記マップデータセクタに続く論理位置に書き込む工程と、
前記ファイルの前記第２の部分の前記複数のチャンクを、前記コンパクトディスクメディアの、前記ファイルの前記第１の部分の前記複数のチャンクに続く論理位置に書き込む工程と、
を備えるデータファイルの書き込み方法。
【請求項４】
請求項１記載のコンパクトディスクメディアへのデータファイルの書き込み方法であって、さらに、
前記第１の部分の前記複数のチャンクの書き込みに先だって、前記複数のチャンクを圧縮する工程を備える、データファイルの書き込み方法。
【請求項５】
請求項１記載のコンパクトディスクメディアへのデータファイルの書き込み方法であって、
前記複数のチャンクの各々は、約６４キロバイトである、データファイルの書き込み方法。
【請求項６】
請求項５記載のコンパクトディスクメディアへのデータファイルの書き込み方法であって、
前記複数のチャンクの組の長さは、４８チャンクを超えない、データファイルの書き込み方法。
【請求項７】
請求項１記載のコンパクトディスクメディアへのデータファイルの書き込み方法であって、さらに、
前記書き込まれたデータファイルを読み取る工程を含み、
前記読み取り工程は、
前記複数のチャンクの正しいファイルの順序を特定するために、前記マップデータセクタを読み取る工程と、
前記複数のチャンクを前記正しいファイルの順序に配列する工程と、
前記配列された複数のチャンクを要求元のアプリケーションに転送する工程と、
を備えるデータファイルの書き込み方法。
【請求項８】
請求項１記載のコンパクトディスクメディアへのデータファイルの書き込み方法であって、
前記コンパクトディスクは、ＣＤリライタブルディスク（ＣＤ−ＲＷ）またはＣＤレコーダブルディスク（ＣＤ−Ｒ）のいずれかである、データファイルの書き込み方法。
【請求項９】
請求項１記載のコンパクトディスクメディアへのデータファイルの書き込み方法であって、
前記マップデータセクタは、元のデータのファイルオフセットと、書き込まれたデータのファイルオフセットとを含み、前記元のデータのファイルオフセットと前記書き込まれたデータのファイルオフセットとの間にポインタが設けられている、データファイルの書き込み方法。
【請求項１０】
再書き込み可能なコンパクトディスクメディアへのファイルデータの書き込み方法であって、
前記再書き込み可能なコンパクトディスクメディアに書き込むために、前記ファイルデータを不規則な順序で受信する工程と、
前記ファイルデータの第１の部分を受信する工程と、
前記ファイルデータの前記第１の部分を複数のチャンクに分割する工程と、
１つのマップデータセクタが前記複数のチャンクの１つの組に関連付けられ、前記複数のチャンクは１またはそれ以上の組の前記複数のチャンクを含むように、複数のマップデータセクタを生成する工程と、
前記複数のマップデータセクタを、ゼロファイルオフセットを起点として前記再書き込み可能なコンパクトディスクメディアに書き込む工程と、
前記ファイルデータの前記第１の部分の前記複数のチャンクを、前記再書き込み可能なコンパクトディスクメディアの、前記複数のマップデータセクタに続く論理位置に書き込む工程と、
を備えるファイルデータの書き込み方法。
【請求項１１】
請求項１０記載の再書き込み可能なコンパクトディスクメディアへのファイルデータの書き込み方法であって、さらに、
前記再書き込み可能なコンパクトディスクメディアへの書き込みに先立って、前記ファイルデータの前記第１の部分の前記複数のチャンクを圧縮する工程を備える、ファイルデータの書き込み方法。
【請求項１２】
請求項１０記載の再書き込み可能なコンパクトディスクメディアへのファイルデータの書き込み方法であって、
前記複数のチャンクの各々の長さは、６４キロバイトであり、前記複数のチャンクの組の長さは、４８チャンクを超えない、ファイルデータの書き込み方法。
【請求項１３】
請求項１０記載の再書き込み可能なコンパクトディスクメディアへのファイルデータの書き込み方法であって、
前記各マップデータセクタは、関連付けられた前記複数のチャンクの組に対する元のデータのファイルオフセットと、書き込まれたデータのファイルオフセットとを含み、前記元のデータのファイルオフセットから前記書き込まれたデータのファイルオフセットへのポインタが設けられている、ファイルデータの書き込み方法。
【請求項１４】
請求項１０記載の再書き込み可能なコンパクトディスクメディアへのファイルデータの書き込み方法であって、さらに、
前記再書き込み可能なコンパクトディスクメディアに書き込まれた前記ファイルデータを読み取る工程を備え、
前記読み取り工程は、
前記複数のチャンクの正しいファイルの順序を特定するために、前記マップデータセクタを読み取る工程と、
前記複数のチャンクを前記正しいファイルの順序に配列させる工程と、
前記配列された複数のチャンクを要求元のアプリケーションに転送する工程と、
を備えるファイルデータの書き込み方法。
【請求項１５】
請求項１０記載の再書き込み可能なコンパクトディスクメディアへのファイルデータの書き込み方法であって、さらに、
前記ファイルデータの第２の部分を受信する工程と、
前記ファイルデータの前記第２の部分を複数のチャンクに分割する工程と、
複数のマップデータセクタを生成する工程と、
前記第２の部分に関連付けられた前記複数のマップデータセクタを、前記再書き込み可能なコンパクトディスクメディアの、前記第１の部分の前記マップデータセクタに続く論理位置に書き込む工程と、
前記再書き込み可能なコンパクトディスクメディアの、前記第１の部分の前記複数のチャンクに続く別の論理位置に、前記ファイルデータの前記第２の部分の前記複数のチャンクを書き込む工程と、
を備えるファイルデータの書き込み方法。
【請求項１６】
請求項１５記載の再書き込み可能なコンパクトディスクメディアへのファイルデータの書き込み方法であって、さらに、
前記再書き込み可能なコンパクトディスクメディアに書き込むに先立ち、前記ファイルデータの前記第２の部分の前記複数のチャンクを圧縮する工程を備える、ファイルデータの書き込み方法。
【請求項１７】
再書き込み可能なコンパクトディスクメディアにファイルデータを書き込むためのプログラム命令を記録したコンピュータ読取り可能な記録媒体であって、
前記コンピュータ読取り可能な記録媒体の操作は、
前記再書き込み可能なコンパクトディスクメディアに書き込むために、前記ファイルデータを不規則な順序で受信するためのプログラム命令と、
前記ファイルデータの第１の部分を受信するためのプログラム命令と、
前記ファイルデータの前記第１の部分を、複数のチャンクに分割するためのプログラム命令と、
１つのマップデータセクタが前記複数のチャンクの１組に関連付けられ、前記複数のチャンクは１またはそれ以上の組の前記複数のチャンクを含むように、複数のマップデータセクタを生成するためのプログラム命令と、
前記複数のマップデータセクタを、前記再書き込み可能なコンパクトディスクメディアに、ゼロファイルオフセットを起点として書き込むためのプログラム命令と、
前記ファイルデータの前記第１の部分の前記複数のチャンクを、前記再書き込み可能なコンパクトディスクメディアの、前記複数のマップデータセクタに続く論理位置に、書き込むためのプログラム命令と、
を備えたコンピュータ読取り可能な記録媒体。
【請求項１８】
請求項１７記載のコンピュータ読取り可能な記録媒体であって、さらに、
前記再書き込み可能なコンパクトディスクメディアへの書き込みに先立って、前記ファイルデータの前記第１の部分の前記複数のチャンクを圧縮するためのプログラム命令を備える、コンピュータ読取り可能な記録媒体。
【請求項１９】
請求項１７記載のコンピュータ読取り可能な記録媒体であって、
前記複数のチャンクの各々の長さは６４キロバイトであり、前記複数のチャンクの組の長さは４８チャンクを超えない、コンピュータ読取り可能な記録媒体。
【請求項２０】
請求項１７記載のコンピュータ読取り可能な記録媒体であって、
前記各マップデータセクタは、前記関連付けられた組の前記複数のチャンクのために、元のデータのファイルオフセットと、書き込まれたデータのファイルオフセットとを含み、前記元のデータのファイルオフセットから前記書き込まれたデータのファイルオフセットへのポインタが設けられている、コンピュータ読取り可能な記録媒体。
【請求項２１】
請求項１７記載のコンピュータ読取り可能な記録媒体であって、さらに、
前記再書き込み可能なコンパクトディスクメディアに書き込まれた前記ファイルデータを読み取るためのプログラム命令を備え、
前記読み取り工程は、
前記複数のチャンクの正しいファイルの順序を特定するために、前記複数のマップデータセクタを読み取るためのプログラム命令と、
前記複数のチャンクを前記正しいファイルの順序で配列させるためのプログラム命令と、
前記配列された複数のチャンクを要求元のアプリケーションに転送するためのプログラム命令と、
を備えたコンピュータ読取り可能な記録媒体。
【請求項２２】
光記憶メディアへのファイルデータの書き込み方法であって、
前記光記憶メディアに書き込むために、前記ファイルデータを不規則な順序で受信する工程と、
前記ファイルデータの第１の部分を受信する工程と、
前記ファイルデータの前記第１の部分を複数のチャンクに分割する工程と、
１つのマップデータセクタが前記複数のチャンクの１組に関連付けられ、前記複数のチャンクは１またはそれ以上の組の前記複数のチャンクを含むように、複数のマップデータセクタを生成する工程と、
前記複数のマップデータセクタを、ゼロファイルオフセットを起点として、前記光記憶メディアに書き込む工程と、
前記ファイルデータの前記第１の部分の前記複数のチャンクを、前記光記憶メディアの、前記複数のマップデータセクタに続く論理位置に書き込む工程と、
を備えるファイルデータの書き込み方法。
【請求項２３】
請求項２２記載の光記憶メディアへのファイルデータの書き込み方法あって、
前記光記憶メディアは、ＣＤリライタブルまたはＣＤレコーダブルのいずれかである、ファイルデータの書き込み方法。
【請求項２４】
請求項２２記載の光記憶メディアへのファイルデータの書き込み方法であって、さらに、
前記ＣＤリライタブルメディアへの書き込みに先立って、前記ファイルデータの前記第１の部分の前記複数のチャンクを圧縮する工程を備える、ファイルデータの書き込み方法。
【請求項２５】
請求項２２記載の光記憶メディアへのファイルデータの書き込み方法であって、
前記複数のチャンクの各々の長さは、６４キロバイトであり、前記複数のチャンクの組の長さは、４８チャンクを超えない、ファイルデータの書き込み方法。
【請求項２６】
請求項２２記載の光記憶メディアへのファイルデータの書き込み方法であって、
前記各マップデータセクタは、関連付けられた前記複数のチャンクの組のために、元のデータのファイルオフセットと、書き込まれたデータのファイルオフセットとを含み、前記元のデータのファイルオフセットから前記書き込まれたデータのファイルオフセットへのポインタが設けられている、ファイルデータの書き込み方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、一般にコンピュータシステムに関し、特に、コンパクトディスク（ＣＤ）メディアのデータの読み書きのための方法とコンピュータ読取り可能メディアに関する。
【背景技術】
【０００２】
近年、コンパクトディスク（ＣＤ）の記録技術は目覚しい発展を遂げており、一般のコンピュータユーザが、あらゆるタイプのデジタルデータをデジタル方式でＣＤメディアに記録できるようになった。周知のように、ＣＤメディアの記録標準および関連のメディアには、数種類のタイプが存在する。通常に使用されるＣＤメディアの記録標準には、ＣＤレコーダブル（ＣＤ−Ｒ：compact disc recordable）標準とＣＤリライタブル（ＣＤ−ＲＷ：compact disc rewritable）標準の２タイプがある。ＣＤ−Ｒ標準を使用する場合、ユーザは、ＣＤ−Ｒディスク上に一度だけデータを記録することができる。これは、ＣＤ−Ｒ上にデジタル方式で書き込まれたデータが、ＣＤ−Ｒの特性に永久的な変化を生じさせるためである。この特性の変化は、ＣＤへのデータの焼き付けと呼ばれることが多い。
【０００３】
一方のＣＤ−ＲＷ技術は、ＣＤメディア上に事前に格納されたデータの再書き込みを可能にする。ＣＤ−ＲＷはＣＤ−Ｒと異なり、記録層内の相変化材料を活用して記録を行うものである。この相変化材料にレーザ光線を照射することで、データの消去（結晶質相）と記録（非晶質相）を可能としている。そして、結晶質相と非晶質相の反射率の違いが、メディア上に格納されたデータの読み取りを可能としている。こうして、１つのＣＤメディアでデータに消去と記録を繰り返すことが可能となる。ＣＤ−ＲＷ技術を使用して記録されたＣＤメディアは、標準的なＣＤ−ＲＯＭドライブでは読むことができないのが通常である。読むためには、それにはマルチリード（MultiRead）と呼ばれるプログラムをコンピュータにインストールする必要がある。これが、標準的なＣＤ−ＲＯＭドライブで読むことができる、ＣＤ−Ｒ技術を使用して記録されたＣＤメディアとは異なる点である。
【０００４】
当業者には周知のように、ＣＤ−ＲＷ技術およびＣＤ−Ｒ技術を使用して書き込まれたデータは、ユニバーサルディスクフォーマット（ＵＤＦ：Universal Disk Format）と呼ばれる標準によって書き込みが達成される。ＵＤＦ標準に従ってデータを書き込むと、ＣＤメディアと、ハードディスクやフロッピィディスク等の他の記憶装置との間で行われるデータ転送において、大きな柔軟性を得ることができる。ただ残念なことに、ファイルを書き込む際、ファイルシステムは、ファイル全体を、連続して提供したり同時に提供したりすることがほとんどない。例えば、ファイルのうち最初に書き込まれる部分は、多くの場合、ファイルの中間または終わりの部分に関連したデータである可能性がある。
【０００５】
ＣＤメディアからのファイルの読み取りを容易にするため、通常は、ソフトウェアのアルゴリズムを使用することにより、ＣＤメディアへの書き込みが開始される前に、ファイルシステムから受信されるデータを正しい順序に配列させる。しかしながら、この配列技術には、ソフトウェアアルゴリズムが極めて複雑になるという問題点がともなう。この複雑性に加え、ＣＰＵも付加的な処理のために呼び出され、これによりメディアへの書き込み操作も減速されるというマイナス面もある。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
以上から、ファイルシステムからファイルデータを受信する順序でファイルをＣＤメディアに書き込めるような、コンピュータに実行される方法が必要であることがわかる。これによって、書き込みの複雑性および書き込みに先立つ処理を、大きく軽減することができる。
【課題を解決するための手段】
【０００７】
本発明は概して、ファイルデータをそれが受信された順序でＣＤメディアに書き込むための、方法およびコンピュータ読取り可能メディアを提供することにより、上述したニーズを満たすものである。そして、正しいファイルの順序にデータを再構成できるマップデータを使用することにより、書き込まれたデータの読み取りを容易にする。ここで、本発明が、プロセスや装置、システム、コンピュータ読取り可能メディア、デバイスとして等々の多くの形で実現できる点に注意が必要である。以下では、本発明の幾つかの実施形態に関して説明を行う。
【０００８】
一実施形態では、コンパクトディスクメディアにデータのファイルを書き込むための方法が開示されている。この方法は、コンパクトディスクメディアに書き込むために、ファイルの第１の部分を受信することからスタートする。この第１の部分は、受信されると複数のチャンク（「塊」あるいは「ブロック」とも呼ぶ）に分割される。すると、この複数のチャンクの組のためにマップデータセクタが１つ生成される。マップデータセクタは、データファイルと、コンパクトディスクメディアに書き込まれる予定の複数のチャンクと、を相互に関係付けるための情報を含む。そして、マップデータセクタがコンパクトディスクメディアに書き込まれ、続いてファイルの第１の部分の複数のチャンクも書き込まれる。複数のチャンクは、もし圧縮が可能であれば先ず圧縮してからコンパクトディスクメディアに書き込まれる。本実施形態において、コンパクトディスクメディアはＣＤ−ＲＷメディアまたはＣＤ−Ｒメディアのいずれかで良い。
【０００９】
第１の部分が多数のチャンクの組を満たすのに十分な長さを有する場合は、それら追加の組に対しても関連のマップデータセクタが生成される。一実施形態において、各マップデータセクタは多数の組のマップデータを含むことができる。コンパクトディスクメディアに書き込まれたファイルの読み取りは、次の工程を含む。
（１）そのファイルのマップデータを読み取り、
（２）解凍が必要な場合はファイルを解凍し、
（３）マップデータによって提供される情報に従ってデータのチャンクを配列させること、
を備える。そしてファイルを、配列されたファイルの順序で要求元のアプリケーションに転送する。
【００１０】
別の実施形態では、再書き込み可能なコンパクトディスクメディアにファイルデータを書き込むための方法が開示されている。この方法は、（ａ）再書き込み可能なコンパクトディスクメディアに書き込むために、不規則な順序でファイルデータを受信し、（ｂ）ファイルデータの第１の部分を受信し、（ｃ）ファイルデータの第１の部分を複数のチャンクに分割し、（ｄ）１つのマップデータセクタが１組の複数のチャンクに関連付けられ、複数のチャンクが１またはそれ以上の組の複数のチャンクを含むように、複数のマップデータセクタを生成し、（ｅ）複数のマップデータセクタを、ゼロファイルオフセットから開始して再書き込み可能なコンパクトディスクメディアに書き込み、（ｆ）ファイルデータの第１の部分の複数のチャンクを、再書き込み可能なコンパクトディスクメディアの、複数のマップデータセクタに続く論理位置に書き込むこと、を備える。
【００１１】
さらに別の実施形態では、再書き込み可能なコンパクトディスクメディアにファイルデータを書き込むためのプログラム命令を記録するコンピュータ読取り可能メディアが開示されている。このコンピュータ読取り可能メディアの操作は、（ａ）再書き込み可能なコンパクトディスクメディアに書き込むために、不規則な順序でファイルデータを受信し、（ｂ）ファイルデータの第１の部分を受信し、（ｃ）ファイルデータの第１の部分を複数のチャンクに分割し、（ｄ）１つのマップデータセクタが１組の複数のチャンクに関連付けられ、複数のチャンクが１またはそれ以上の組の複数のチャンクを含むように、複数のマップデータセクタを生成し、（ｅ）複数のマップデータセクタを、ゼロファイルオフセットから開始して再書き込み可能なコンパクトディスクメディアに書き込み、（ｆ）ファイルデータの第１の部分の複数のチャンクを、再書き込み可能なコンパクトディスクメディアの、複数のマップデータセクタに続く論理位置に書き込む、ためのプログラム命令を含む。
【００１２】
コンパクトディスクメディアへのデータの書き込みは、データが受信された順序が適切なファイル順序でなかった場合でも、その受信された順序通りに書き込みを行うことができる。そして、生成されたマップデータは、コンパクトディスクメディアからファイルデータを読み取り、そのファイルデータを、要求元のアプリケーションに転送する前に正しい連続したファイルの順序で配列させること、を可能とするために使用される。こうして、システムを減速させ、プログラミングを非常に複雑にする書き込み前の配列アルゴリズムを単純化させることにより、コンパクトディスクへのデータの書き込みをより高速に行うことが可能となる。以下では、本発明の基本原理を一例として示す添付図面と関連させた説明を行い、本発明の他の特徴および利点を明らかにする。
【発明を実施するための最良の形態】
【００１３】
本発明では、ファイルデータをそれが受信された順序でＣＤメディアに書き込むための、方法およびコンピュータ読取り可能媒体が開示されている。ファイルデータの読み取りは、正しいファイル順序にデータを再構成できるマップデータの使用により容易にされている。しかしながら、当業者にとっては、本発明がこれらの事項の一部または全部を特定しなくても実施できることは明らかである。また、本発明を不必要に不明瞭化するのを避けるため、周知の処理操作の詳述は省略した。
【００１４】
図１は、ファイルデータをＣＤ−ＲＷディスクに書き込むために実施される処理操作を、本発明の一実施形態に従って示した上位の流れ図である。ただし、使用するメディアがＣＤリコーダブル（ＣＤ−Ｒ）でも良いことに注意が必要である。この方法は、操作１０２において、ファイルをＣＤ−ＲＷディスクに書き込むためにリクエストを受信することからスタートする。操作１０２においてリクエストが受信されると、方法は操作１０４に進み、ファイルの部分を任意の順序でファイルシステムから受信する。
【００１５】
上述したように、たとえば、他の書き込み要求に応じてファイルシステムが転送中の他のデータ等が原因で、ファイルシステムからのデータは、ランダムな順序で、非連続的に受信されるのが通常である。書き込みリクエストに応じたデータの部分が受信されると、方法は操作１０６に進み、受信したファイルの部分を複数のチャンクのデータに分割する。本実施形態において、データのチャンクは６４キロバイトのチャンクである。もちろん、受信されたデータの部分の分割を、他のサイズのチャンクを使用して行うこともできる。データの部分が分割されたら、方法は操作１０８に進み、複数のチャンクのデータ用にマップデータセクタを生成する。以下で詳述するように、マップデータは、要求されたファイルの受信された複数のチャンクのデータをＣＤメディアに書き込まれたデータに関連付けることにより、ＣＤメディアからの読み取りにおいて、正しい順序のファイルの取り出しを可能とするものである。
【００１６】
例えば、複数の組のチャンクのデータは、４８チャンクの組からなることが好ましい。なお、本明細書においては各チャンクが６４Ｋである。ファイルの残りの部分が４８チャンク分を完全に満たさない場合は、４８チャンクより少ない組があっても良い。操作１０８において、複数のチャンクのデータからなる各組のためにマップセクタが生成されると、方法は操作１１０に進み、ディスクメディア上のマップデータ論理位置にマップデータセクタを書き込む。
【００１７】
ユニバーサルディスクフォーマット（ＵＤＦ）仕様によって定義されているように、書き込みはゼロファイルオフセットから開始する。光記憶技術協会（ＯＳＴＡ：Optical Storage Technology Association）によって管理されているＵＤＦ仕様の改訂版１．０、１．０１、１．０２、１．５、および２．０を、引用により本明細書中に含めている。マップデータセクタがディスク上のマップデータ論理位置に書き込まれると、方法は操作１１２に進み、圧縮が可能であればデータのチャンクを圧縮する。周知のように、全てのデータタイプが圧縮可能なわけではないため、圧縮エンジンはデータのチャンクを圧縮しても圧縮しなくても良い。
【００１８】
方法は続いて操作１１４に進み、複数のチャンクのデータを、ディスク上のマップデータ論理位置に続く位置に書き込む。データのチャンクがディスクに書き込まれると、方法は判断操作１１６に進む。この判断操作１１６では、ファイルシステムからそのファイルの別の部分が受信中かどうかを決定する。別の部分が受信中の場合は、方法は操作１０６に戻り、ファイルの受信された部分をデータのチャンクに分割する。続く操作１０８では、そのデータのチャンクの組のためにマップデータクタが生成される。そして、そのファイルの受信された部分に対して、操作１１０、１１２、および１１４が実施される。
【００１９】
ファイルの別の部分を受信中でない場合は、方法は操作１１８に進み、ファイルが完全であるかどうかを決定する。ファイルが完全でない場合は、方法は操作１１６に戻り、ファイルの次の部分が受信されるまで待機する。操作１１８においてファイルが完全であると決定された場合は、この方法は終了する。
【００２０】
図２は、図１で説明した技術を使用してＣＤメディアに書き込まれたデータを読み取る際に実施される処理操作を、本発明の一実施形態に従って詳述した流れ図である。この処理操作は、操作２０２において、ＣＤ−ＲＷディスクに書き込まれたファイルを読み取るために、呼び出し元のアプリケーションからリクエストを受信することからスタートする。リクエストが受信されると、マップデータが読み取られ、図１の書き込み方法に従ってＣＤ−ＲＷに書き込まれた複数のチャンクの正しい順序が特定される。
【００２１】
マップデータを参照することにより正しい順序が特定されると、方法は操作２０６に進み、解凍が必要であればファイルの複数のチャンクを解凍する。上述したように、データの中には圧縮できないタイプもあり、その場合に解凍は不要である。続いて、方法は操作２０８に進み、複数のチャンクを正しい連続的な順序で配列させる。
【００２２】
正しい連続的な順序は、データがディスクに書き込まれた順序とは異なるのが通常である。すなわち、図１で説明した技術に従ってディスクにデータを書き込んだ場合、データは任意の順序で、かつ、異なる時間にファイルシステムから受信される。しかしながら、ファイルを読み取りたい場合は、データを正しい連続的したファイル順序で呼び出し元のアプリケーションに返さなければならない。操作２０８において、複数のチャンクが正しい連続的したファイル順序で配列されると、方法は操作２１０に進み、ファイルを呼び出し元のアプリケーションに転送する。この方法は、操作２１０において転送が完了すると共に終了する。
【００２３】
図３は、要求されたファイルを、本発明の一実施形態に従って示した絵図である。要求されたファイル３００は、部分Ａ３０２、部分Ｂ３０４、および部分Ｃ３０６で識別される別々の部分を有する。要求されたファイル３００は、部分Ａから開始して次に部分Ｂが続き最後に部分Ｃで終了するという順序で書き込まれるのが最適だが、ファイルシステムは、通常、要求されたファイル３００を書き込みのために正しい順序で送信しない。例えば図４は、ファイルシステム３１０から送信された要求されたファイル３００の順序を、具体例として示したものである。
【００２４】
図示されているように、先ず部分Ｂ３０４が受信され、書き込みを要求された別のファイルに対応する部分３１２が次に続く。このため、部分Ｂ３０４が先ず受信され、その後一定時間を経た後に部分Ｃ３０６が受信される。次に、ファイルシステムは、やはり書き込みを要求された別のファイルに対応する部分３１２を送信する。最終的には、最後に受信された部分Ａ３０２によって、要求されたファイル３００が完了する。
【００２５】
図５Ａは、要求されたファイルの部分の分割、およびディスクメディアへのその書き込みを、本発明の一実施形態に従って示したブロック図である。上述したように、部分Ｂ３０４は、ファイルシステムから受信されて複数のチャンクに分割される。一実施形態において、各複数のチャンクの各々の長さは６４Ｋである。部分Ｂ３０４は、１組当たり４８チャンクを有するような組に分割されることが好ましい。各チャンクの組は、マップデータ（ＭＤ）に関連付けられている。図示されるように、部分Ｂ３０４は、チャンクＢ１、Ｂ２、Ｂ３、……、Ｂ４８に分割される。そして、６４Ｋの長さであることが好ましい各チャンクは、圧縮アルゴリズム３１６を通じて処理される。圧縮アルゴリズムは、圧縮が可能である場合にデータのチャンクを圧縮する。
【００２６】
上述したように、全てのタイプのデータが圧縮可能なわけではなく、その決定は、圧縮アルゴリズムによってなされる。このように、チャンクの組はマップデータ３２１ａに関連付けられて、圧縮が可能な場合には圧縮されたデータがＣＤメディアに書き込まれる。本実施形態において、マップデータスペース３２０は、書き込まれたデータ３２２の前の論理位置にくるよう動的に割り当てられる。しかしながら、データおよびマップデータは、実際上はＣＤメディア上の任意の物理的位置に位置することができる。しかしながら、受信されたデータの第１の部分に対応するマップデータ３２１ａは、ファイルオフセットゼロから開始する。
【００２７】
図５Ｂは、マップデータの内容を本発明の一実施形態に従ってより詳細に示した図である。上述したように、マップデータは、ファイルシステムから受信されたデータの部分のチャンクの組と関連付けられる。図５Ａに描かれているように、マップデータ（ＭＤ）３２１ａは、チャンクＢ１〜Ｂ４８の組に関連付けられる。図５Ａに示される例では、部分Ｂ３０４を分割した結果として生成されたのが４８チャンクのみである場合を想定している。しかしながら、部分Ｂ３０４は、４８チャンクより少ないか、または複数の４８チャンクの組を有している可能性もあると考えられる。データの１つの部分に１つ以上の４８チャンクの組が関連付けられている場合は、以下に示すようにマップデータ３２１が追加される。
【００２８】
再び図５Ｂに示されるように、マップデータ３２０'は、元のデータ３２０ａに関する情報と、書き込まれたデータ３２０ｂに関する情報とを含む。元のデータ３２０ａに関する情報は、ファイルシステムから受信されたデータのためのファイルオフセットを含む。元のデータと書き込まれたデータとの間には、ポインタも存在する。ポインタは、元のデータのファイルオフセットを書き込まれたデータのファイルオフセットに関連付けることを可能にする。例えば、ＣＤメディアに書き込まれたデータを読み取るというリクエストが受信されると、マップデータ３２０'を参照し、マップデータ３２０'は先ず、元のデータ３２０ａの特定のファイルオフセットに関連付けられたデータを要求する。するとポインタは、書き込まれたデータの中からファイルオフセットを照会し、ＣＤメディアに書き込まれ、かつ、要求中のデータのチャンクの位置を指定するＵＤＦテーブルへの参照を行う。
【００２９】
図６Ａは、図５Ａで説明した部分を受け取った後に受け取った別の部分の例を、本発明の一実施形態に従って示した図である。この例では、部分Ｃ３０６は、部分Ｂより大きいため、複数のチャンクの組に分割されている。部分Ｃ３０６は、各チャンクのサイズが６４Ｋであるような、複数の４８チャンクの組に分割されることが好ましい。こうして、４８チャンクの各組（最後の組は４８チャンク未満でも良い）のためにマップデータ（ＭＤ）が生成される。
【００３０】
例えば、第１の組はチャンクＣ１1〜Ｃ４８1を含み、第２の組はＣ１2〜Ｃ４８2、第３の組はＣ１3〜Ｃ４８3、第４の組はＣ１4〜Ｃ４０4をそれぞれ含むものとする。部分Ｃ３０６が図６Ａで説明したように分割されると、各チャンクの組に対応するマップデータが、メディアの、事前に書き込まれたマップデータ３２１ａに続く論理位置に動的に書き込まれる。こうして、マップデータ３２１ｂ、３２１ｃ、３２１ｄ、および３２１ｅが、ＣＤメディアのマップデータスペース３２０に書き込まれる。上述したように、マップデータの順序付けは、図６Ｂに示されるように動的に行われる。
【００３１】
マップデータの後ろには、図５Ａで示した事前に受信された部分Ｂの後で書き込まれたデータのチャンクが続く。ここで、データが不規則な順序でＣＤメディアに書き込まれるため、ＣＤメディアへのデータの書き込みが容易になり、かつ、簡略化される点に注意が必要である。
【００３２】
図７Ａは、図４に示したようにファイルシステムから受け取った最後の部分を分割する処理を、本発明の一実施形態に従って示した図である。この例では、部分Ａ３０２は２つのチャンクの組に分割される。第１のチャンクの組Ａ１1〜Ａ４８1はマップデータＡ1に関連付けられ、Ａ１2〜Ａ３７2はマップデータＡ2に関連付けられている。部分Ａがデータのチャンクに分割されると、マップデータは、ＣＤメディアの、事前に書き込まれたマップデータに続く論理位置に動的に書き込まれる。
【００３３】
この例において、マップデータ３２１ｆおよび３２１ｇは、事前に書きこまれたマップデータに続く位置に書き込まれる。次いで、部分Ａ３０２に対するデータのチャンクが、可能であれば圧縮されて、ＣＤメディアの書き込みデータ領域３２２に書き込まれる。書き込まれたデータもまた、図７Ｂに示されるように、事前に書き込まれたデータに続く位置に、受信された順序で論理的に配列される。
【００３４】
図８は、あらかじめＣＤメディアに書き込まれたデータの読み取りを、本発明の一実施形態に従って示した絵図である。この処理は、要求されたファイル内のデータを解凍することから開始する。操作２０６'において、必要に応じてファイル内のデータが解凍されると、処理は、データをファイル順序で配列させる操作２０８'に進む。そして、データがファイル順序で配列され、要求されたファイル３００が生成される。図中示されるように、要求されたファイル３００では、部分Ａ３０２、部分Ｂ３０４、および部分Ｃ３０６が正しい順序で配列されている。要求されたファイル３００がファイル順序で配列されると、プロセスは操作２１０'に進み、要求元のアプリケーションにファイルを転送する。
【００３５】
本発明は、コンピュータシステムに格納されたデータを使用する、種々のコンピュータに実装された動作を利用しても良い。これらの操作は、物理量の物理的操作を必要とするものである。これらの物理量は、必然ではないものの、格納、転送、結合、比較、およびその他の操作が可能な電気または磁気信号の形を採る。さらに、実施される操作は、生成する、識別する、走らせる、決定する、または比較する等の用語で呼ばれることが多い。
【００３６】
本発明の一部をなすこれらの操作は、有用なマシン操作である。本発明はまた、これらの操作を実施するためのデバイスまたは装置に関する。この装置は、必要な目的のために特別に構築されても良いし、あるいは、コンピュータに格納されたコンピュータプログラムにより選択的にアクティベイトまたは構成される汎用コンピュータであっても良い。特に、ここで教示される内容に従って記述されたプログラムと共に、種々の汎用コンピュータを使用できる場合もあり、あるいは、必要な操作の実施のために、より専門化されたコンピュータシステムを構築する方が便利な場合もある。
【００３７】
本発明はさらに、コンピュータ読取り可能メディア上のコンピュータ読取り可能コードとして具体化することもできる。コンピュータ読取り可能メディアは、データを格納し、格納したデータをコンピュータシステムに読み取らせることができる、任意のデータ記憶デバイスである。コンピュータ読取り可能メディアは、例として、読取り専用メモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、およびその他の光学的なデータ記憶デバイスを含む。コンピュータ読取り可能メディアが、ネットワークで接続されたコンピュータシステム間で分散できるため、コンピュータ読取り可能コードは、分散方式によって格納および実行される。
【００３８】
以上では、明瞭な理解を目的として本発明を詳しく説明したが、添付した請求の範囲の範囲を逸脱しない範囲内で、一定の変更および変更態様を実施できることは明らかである。このため、これらの実施形態は例示的であって非限定的だと考えられ、本発明がここで挙げた詳細に限定されることはなく、添付した請求の範囲および同等物の範囲内で変更を加えることが可能である。
【図面の簡単な説明】
【００３９】
【図１】ファイルデータをＣＤ−ＲＷディスクに書き込むために実施される処理操作を、本発明の一実施形態に従って示した上位の流れ図である。
【図２】図１で説明した技術を使用してＣＤメディアに書き込まれたデータを読み取る際に実施される処理操作を、本発明の一実施形態に従って詳述した流れ図である。
【図３】要求されたファイルを、本発明の一実施形態に従って示した絵図である。
【図４】不規則な順序で受け取ったファイルの部分を示した図である。
【図５Ａ】要求されたファイルの部分の分割、およびディスクメディアへのその書き込みを、本発明の一実施形態に従って示したブロック図である。
【図５Ｂ】マップデータの内容を本発明の一実施形態に従ってより詳細に示した図である。
【図６Ａ】図５Ａで説明した部分を受け取った後に受け取った別の部分の例を、本発明の一実施形態に従って示した図である。
【図６Ｂ】図５Ａで説明した部分を受け取った後に受け取った別の部分の例を、本発明の一実施形態に従って示した図である。
【図７Ａ】図４に示したようにファイルシステムから受け取った最後の部分を分割する処理を、本発明の一実施形態に従って示した図である。
【図７Ｂ】図４に示したようにファイルシステムから受け取った最後の部分を分割する処理を、本発明の一実施形態に従って示した図である。
【図８】あらかじめＣＤメディアに書き込まれたデータの読み取りを、本発明の一実施形態に従って示した絵図である。
【符号の説明】
【００４０】
３００…要求されたファイル
３０２，３０４，３０６…要求されたファイルの部分
３１０…ファイルシステム
３１２…リクエストされた別のファイルの部分
３１６…圧縮アルゴリズム
３２０…マップデータスペース
３２０'…マップデータ
３２０ａ…元のデータ
３２０ｂ…書き込まれたデータ
３２１ａ，３２１ｂ，３２１ｃ，３２１ｄ，３２１ｅ，３２１ｆ，３２１ｇ…マップデータ
３２２…書き込まれたデータ
【図１】
2006073196.tif 000003
【図２】
2006073196.tif 000004
【図３】
2006073196.tif 000005
【図４】
2006073196.tif 000006
【図５Ａ】
2006073196.tif 000007
【図５Ｂ】
2006073196.tif 000008
【図６Ａ】
2006073196.tif 000009
【図６Ｂ】
2006073196.tif 000010
【図７Ａ】
2006073196.tif 000011
【図７Ｂ】
2006073196.tif 000012
【図８】
2006073196.tif 000013