(57)【要約】【課題】ＤＶＤセグメント内のソフトウェアプログラムのファイルとフォルダを自動配置するソフトウェアツールの提供。【解決手段】セグメントはセキュリティプレースホルダで定義され、プレースホルダの配置は事前定義された規則と一貫して当初ランダムに決定される。無許可コピーを防ぐためプレースホルダがディスクに含まれる。開発者は一般にファイルとフォルダをレイアウトすべき順序を定義し、ソフトウェアツールはファイルとフォルダを自動配置し、連続セグメントをフィルし、プレースホルダをシフトし、カレントセグメント内にフィットしないファイルを収容する。しかし、プレースホルダのどんな移動もツールで行わなければならず、プレースホルダの新しい配置が事前定義した規則に従う場合だけ許可される。ユーザは自動レイアウトを手動修正でき、それに応答して、ユーザが導入した変更に対処するためにファイルとフォルダが自動的にシフトされる。【選択図】図１１
2008181658.tif 000002
【特許請求の範囲】
【請求項１】
記憶媒体ディスクのコピーを防ぐために提供されるプレースホルダによって互いに分離している複数のセグメントを有する前記記憶媒体ディスク上の複数のフォルダおよびファイル用の記憶域をレイアウトするためのツールであって、
（ａ）前記記憶媒体ディスク上で記憶するために選択されたファイルの集合内の各フォルダおよび各ファイルを示し、前記記憶媒体ディスク上にレイアウトすべき前記ファイルを含むフォルダのフォルダツリービューディスプレイと、
（ｂ）アクチベートされたときに、前記記憶媒体ディスクのセグメント内に、ファイルの前記集合内の各フォルダおよびファイルを配置し、前記セグメント内にフォルダまたはファイルをフィットさせるようにセグメントに隣接するプレースホルダを移動することを試みる自動フォルダおよびファイル配置モジュールであって、前記プレースホルダが、各プレースホルダの前記配置を決定する事前定義された規則に従って移動することしかできない自動フォルダおよびファイル配置モジュールと、
（ｃ）前記記憶媒体ディスクの前記セグメント内の前記フォルダおよびファイルの配置を示すレイアウトビューディスプレイと
を有することを特徴とするツール。
【請求項２】
前記記憶媒体ディスクは複数の層を備え、前記レイアウトビューディスプレイは、
（ａ）前記複数の層のうちの選択された１つ、および、
（ｂ）前記記憶媒体ディスク上にまだ配置されていない任意のフォルダおよびファイルを含む未配置のファイル記憶域
の少なくとも一方に配置されたフォルダおよびファイルを選択的に示すことを特徴とする請求項１に記載のツール。
【請求項３】
前記フォルダツリービューディスプレイは、
（ａ）現在選択されているファイルおよびフォルダのうちの１つと、
（ｂ）任意の現在選択されているファイルまたはフォルダのバイトサイズとの少なくとも一方を示すステータスセクションと
を有することを特徴とする請求項１に記載のツール。
【請求項４】
前記レイアウトビューディスプレイは、ファイルの前記集合を含む前記フォルダおよびファイルを前記記憶媒体ディスクから読み取ることができる相対速度を前記記憶媒体ディスク上の前記フォルダおよびファイルの相対位置に基づいて示すインジケータを含むことを特徴とする請求項１に記載のツール。
【請求項５】
前記記憶媒体ディスク内のファイルの位置の手動変更に応答して、前記複数のセグメント内にフォルダおよびファイルが自動的に再配置されることを特徴とする請求項１に記載のツール。
【請求項６】
選択された隣接するファイルをグループ化してファイルのグループ化集合を生成することを可能にするグループ化オプションと、選択されたファイルのグループ化集合をグループ化解除することを可能にするグループ化解除オプションとをさらに有し、ファイルの前記グループ化集合は、単一ファイルのように前記記憶媒体ディスクの前記レイアウト内に自動的に再配置されることを特徴とする請求項１に記載のツール。
【請求項７】
マスタ記憶媒体ディスク上のファイルの前記集合のレイアウトを生成するために使用すべきフォーマットでプレマスタリング出力を生成するためのオプションをさらに有することを特徴とする請求項１に記載のツール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、光符号化ディスクなどの記憶媒体上のファイルの記憶域をレイアウトすることに関し、より詳細には、ディスクの無許可コピーを防ぐために含められ、かつ記憶媒体上でのその位置が事前定義された規則によって制限される移動可能なプレースホルダ（ｐｌａｃｅ ｈｏｌｄｅｒｓ）によって分離される記憶媒体上の連続するセグメント内にファイルをレイアウトするためのツール、システム、および方法に関する。
【背景技術】
【０００２】
ソフトウェア製品は、現在では一般に、コンパクトディスク読取り専用メモリ（ＣＤ−ＲＯＭ）ディスク、またはデジタルバーサタイルディスク（ＤＶＤ）など光符号化ディスクでエンドユーザに配布されている。一部のソフトウェア製品の複雑さと、その製品に含まれるルーチン、オブジェクト、コンポーネント、関数、データ構造、モジュール、およびライブラリの数のために、配布ディスク上に数百メガバイト（ＭＢ）から数ギガバイト（ＧＢ）の総記憶量を必要とする製品は珍しくない。しばしば複雑なグラフィックファイルおよびサウンドライブラリを含む電子ゲームでは、単一のディスク上にファイルのすべてを格納するためにＤＶＤの両面が必要となることがある。
【０００３】
記憶媒体上のファイルの配置は、ドライブからファイルを読み取る効率に影響を及ぼす可能性がある。ＤＶＤ上では、データは、各データブロックが同じ線形サイズとなるように符号化される。単一データトラックの円周は、ディスクの外縁に近いほど長くなるので、外縁に近い方が、内側部分に近い方よりも、トラックまたは回転あたり、より多くのデータが記録される。線速度一定タイプ（ＣＬＶ）のドライブは、外縁に近いトラックからデータを読み取るときはゆっくりと回転し、スピードアップして、ディスクの内側部分に近いトラックからデータを読み取る。それとは対照的に、角速度一定（ＣＡＶ）タイプのドライブ上では、ＤＶＤの外縁近くに配置されたファイルは、中心近くに配置されたファイルよりも高速に読み取られる。したがって、ＣＡＶタイプのドライブを用いて読み取る場合、ゲームまたは他のソフトウェアプログラムのファイルを、ディスクからランダムアクセスメモリ（ＲＡＭ）内に最も効率的にロードするためには、開発者が、ファイルをディスク上に格納するときに、スタート画面の表示を開始するために最初にロードしなければならないファイルや、他の頻繁にアクセスするファイルがディスクの外縁に最も近く格納されるようにファイルを配置することが好ましいことになる。さらに、メモリ内に順次ロードされるファイルを一緒に配置して、そのファイルにアクセスし、そのファイルを読み取るためのディスクドライブのシーク時間を最小にすることが好ましい。開発者は、ディスク上に好ましくファイルが格納されて、ソフトウェア製品のローディングや実行中に必要とされる最も効率的なファイルアクセスが達成されるような順序に、ファイルをリストすることが可能である。
【０００４】
ＣＤ−ＲＯＭまたはＤＶＤでソフトウェアを配布し、ライセンスする会社がますます直面するようになってきている問題は、製品の著作権に違反して再販売する目的でこのようなソフトウェアを容易に複製できることである。このようなディスクがコピーされる危険を減らすために様々な技法が開発されてきた。ゲームコンソール上で使用されるディスクで配布されるゲームソフトウェアは特に、コピーされる危険がある。コピーを防止するために開発された一技法は、ＤＶＤを複数のセグメントに分割するセキュリティプレースホルダを使用するものである。このセキュリティプレースホルダは、従来のディスクコピー技法を用いて複製することが困難となるようにディスク上に書き込まれる。例えば、Ｍｉｃｒｏｓｏｆｔ（登録商標）ＣｏｒｐｏｒａｔｉｏｎのＸ−ＢＯＸ（商標）ゲームコンソールで使用されるＤＶＤソフトウェアディスクは、８個のプレースホルダを使用して、デュアルレイヤＤＶＤの各層をファイルを格納することのできる９個のセグメントに分割するセキュリティフォーマットを利用している。プレースホルダは、事前定義された規則に従ってＤＶＤ上に配置され、擬似ランダム変数が適用されて、この事前定義された規則によって決定されるプレースホルダの初期位置に対してプレースホルダの位置がわずかに変更される。このフォーマットを使用して生成されたセキュアディスク上に格納されるファイルは、プレースホルダによって定義される１８個のセグメント内に設けられる、層ごとに利用可能な３．２ＧＢの記憶域内に配置しなければならない。セグメントのサイズは固定ではなく、一般にＤＶＤごとに異なる。プレースホルダは、その初期位置から移動することができるが、どんな変更も、事前定義された規則に従って自動的に行わなければならず、このことは開発者にとって周知ではない。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ユーザは、プレースホルダを手動で移動してファイルをセグメント内にフィットさせることができないので、プレースホルダを使用してディスクをセグメントに分割するセキュアＤＶＤフォーマット上のファイルの記憶域を手動でレイアウトし、それによってファイルを所望の順序に配置することは時間がかかり、比較的非効率な作業となる可能性がある。したがって、ソフトウェア製品のファイルをセキュアディスクのセグメント内に自動的にレイアウトするソフトウェアツールを提供することによって、ファイルのこのようなディスク上のレイアウトを自動化することが好ましい。このツールは、ユーザがファイル管理プログラムを使用してセキュアディスク上のセグメント内のファイルを追加、削除、移動し、次いでそれに応じてセグメントごとにレイアウト内のファイルの配置を調節することを可能にすべきである。
【課題を解決するための手段】
【０００６】
上述のように、セキュアディスクフォーマットは、セキュリティプレースホル
ダを利用してＤＶＤ光符号化ディスクなどの記憶媒体を様々なサイズのセグメントに分割する。事前定義された規則は、ディスク上に格納するためにファイルをレイアウトしなければならないユーザにとって周知でないものであり、一般に、プレースホルダがディスク上に配置される場所を決定し、事前定義された規則によって定義される制限内でプレースホルダの位置をランダム化する。したがって、ディスクのフォーマットを作成するときにプレースホルダの配置の選択に幅があり、かつプレースホルダの配置がランダムに変動するために、このセキュアフォーマットを使用する相異なるＤＶＤディスクは、一般に異なる位置に配置されたプレースホルダを有することになる。ユーザは、より高速にロードしなければならないフォルダおよびファイルをディスクの外縁近くに配置し（ＣＡＶドライブで読み取る場合）、かつ実行のためメモリ内に順次ロードされるファイルをグループ化するようにフォルダおよびファイルの集合（ｃｏｌｌｅｃｔｉｏｎ）をディスク上に好ましくレイアウトする順序を一般に指定することが可能である。
【０００７】
自動ソフトウェアツールは、集合のフォルダおよびファイルのセグメント内への配置を開始し、フォルダまたはファイルがセグメントの残りの利用可能なスペース内にフィットしなくなるまで、セグメントをフォルダおよびファイルでフィル（ｆｉｌｌ）する。次いでこのソフトウェアツールは、カレントセグメントと次のセグメントの間のプレースホルダを移動し、それによってフォルダまたはファイルをその２つのセグメントの一方に効率的にフィット（ｆｉｔ）させることを試みる。例えば、このソフトウェアは、カレントセグメント内に配置された最後のフォルダまたはファイルに対してプレースホルダを移動して、現在配置されているフォルダまたはファイルを次のセグメント内に配置することができ、あるいは、利用可能なスペースを増大させるようにプレースホルダを移動し、カレントセグメントの増大した利用可能なスペース内に、配置されているファイルまたはフォルダを配置することができる。しかし、プレースホルダのどんな移動も、プレースホルダを配置することができる位置を決定する事前定義された規則に従って、ソフトウェアツールによって自動的に行わなければならない。このようにしてプレースホルダを移動しても、配置されているフォルダまたはファイルがカレントセグメント内にフィットしない場合、または配置された最後のフォルダまたはファイルに対して、事前定義された規則に違反することなくプレースホルダを移動することができない場合、カレントセグメント内に配置された最後のフォルダまたはファイルとプレースホルダとの間に空スペースまたはギャップを残す可能性のある次のセグメント内に、フォルダまたはファイルを配置することが試みられる。次いで、カレントセグメントで行われた方法と同じ方法を利用して、配置がうまく達成されるか、または最後の層の終わりに達するまで、次のセグメント内にフォルダまたはファイルを配置することが試みられる。フォルダまたはファイルをこの自動的手法によってうまく配置することができない場合、未配置のファイル記憶域に移される。
【０００８】
ディスク上のフォルダおよびファイルの配置は、最外部セグメントから最内部セグメントに向かって連続的にセグメントをフィルすることが好ましい。記憶媒体の一方の層をフィルした後にフォルダまたはファイルが残る場合、フォルダおよびファイルのすべてを処理するまで、他方の層上の連続するセグメントがフィルされる。この場合も、セグメント内にうまく配置されなかったフォルダおよびファイルは一時的に未配置のファイル記憶域内に置かれる。次いでユーザは、フォルダおよびファイルを、未配置のファイル記憶域からセグメント内に手動で配置することが可能となる。さらにユーザは、従来のファイル管理プログラムを使用して、セグメント内のファイルを追加、削除、移動することができる。ユーザによってレイアウトに対する変更が手動で行われたとき、その変更に応答して、ソフトウェアツールは、レイアウト内のファイルを、変更が行われた時点の後にシフトすることを試みる。
【０００９】
本発明の一実施形態では、フォルダまたはファイルを次のセグメント内に配置した後に、セグメント内の任意の空スペースまたはギャップをバックフィル（ｂａｃｋｆｉｌｌ）することが試みられる。別の実施形態では、単にセグメント内の空スペースまたはギャップが未フィル（ｕｎｆｉｌｌｅｄ）のままにされる。一実施形態では、プレースホルダがその元の位置に最も近くなる方向に、プレースホルダを移動することが試みられる。別の実施形態では、カレントセグメント内の空スペースを最小にするようにプレースホルダを移動することが試みられる。
【００１０】
このソフトウェアツールにより、各セグメント内に配置されたフォルダおよびファイルをユーザがレイアウトビューで閲覧することが可能となる。このレイアウトビューは、ファイルを自動的に、または手動で配置したセグメントを示す。ファイルはグループ化することもでき、そのグループは、あたかも単一ファイルであるかのように移動され、または削除される。しかし、グループ化したファイルは、プレースホルダを跨いで延在するように配置することはできず、まずファイルをグループ化解除しないと、グループからファイルを削除したり、またはファイルをグループに追加したりすることはできない。層上のファイルの配置に応じてファイルをメモリ内にロードすることのできる相対速度を示すために、インジケータが提供される。ツリービューは、集合内のファイルのフォルダ階層ビューを表示する。
【００１１】
本発明の別の態様は、複数のセグメントを有する記憶媒体上に格納するためにファイルを自動的にレイアウトするためのシステムに関する。このシステムは、複数の機械命令が格納されるメモリと、複数のファイルおよび複数のセグメントが、記憶媒体上の隣接するセグメントを分離する複数のプレースホルダのそれぞれの配置と共に示されるディスプレイと、ユーザ入力装置と、メモリ、ディスプレイ、およびユーザ入力装置に結合されるプロセッサとを含む。プロセッサは、メモリ内に格納された機械命令を実行し、一般に上記で論じた方法のステップと一貫した複数の機能を実施する。
【００１２】
本発明の前述の態様と付随する利点の多くは、添付の図面に関連する以下の詳細な説明を参照することによってより容易に理解されよう。
【発明を実施するための最良の形態】
【００１３】
発明を実施するための例示的システム
図１と、それに関する以下の議論は、本発明を実装することができる適切なコンピューティング環境の簡潔な一般的説明を与えるためのものである。本発明は、図１に示す機能構成要素を一般に含む１つ以上のコンピューティング装置を使用して実施することが好ましい。必須ではないが、本発明を、処理装置によって実行されるプログラムモジュールなどのコンピュータ実行可能命令を使用するものとして説明する。一般にプログラムモジュールは、特定のタスクを実行し、または特定の抽象データタイプを実装するアプリケーションプログラム、ルーチン、オブジェクト、コンポーネント、関数、データ構造などを含む。さらに、ハンドヘルド装置、ポケットパーソナルコンピューティング装置、アプリケーションプログラムを実行し、かつネットワークに無線で接続するように適合されたデジタル携帯電話、他のマイクロプロセッサベースのプログラム可能な消費者向け電子機器、マルチプロセッサシステム、ネットワークパーソナルコンピュータ、ミニコンピュータ、メインフレームコンピュータなどを含む他のコンピュータシステム構成を用いて本発明を実施できることが予想されることを当業者は理解されよう。
【００１４】
図１を参照すると、本発明を実装するための例示的システム（サーバまたはクライアントに対応する）は、処理ユニット２１、システムメモリ２２、およびシステムバス２３を備えるパーソナルコンピュータ２０の形態の汎用コンピューティング装置を含む。システムバスは、システムメモリを含む様々なシステム構成要素を処理ユニット２１に結合し、様々なバスアーキテクチャのうちのいずれかを用いたメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含むいくつかのタイプのバス構造のうちのいずれでもよい。システムメモリは、読取り専用メモリ（ＲＯＭ）２４およびランダムアクセスメモリ（ＲＡＭ）２５を含む。スタートアップ時などにパーソナルコンピュータ２０内の要素間で情報を転送するために使用される基本ルーチンを含む基本入出力システム（ＢＩＯＳ）２６が、ＲＯＭ２４内に格納される。パーソナルコンピュータ２０は、ハードディスク（図示せず）を読み書きするためのハードディスクドライブ２７と、取外し可能磁気ディスク２９を読み書きするための磁気ディスクドライブ２８と、ＣＤ−ＲＯＭまたは他の光媒体などの取外し可能光ディスク３１を読み書きするための光ディスクドライブ３０とをさらに含む。ハードディスクドライブ２７、磁気ディスクドライブ２８、および光ディスクドライブ３０は、それぞれハードディスクドライブインターフェース３２、磁気ディスクドライブインターフェース３３、および光ドライブインターフェース３４によってシステムバス２３に接続される。各ドライブと、それに関連するコンピュータ可読媒体は、パーソナルコンピュータ２０に対して、コンピュータ可読機械命令、データ構造、プログラムモジュール、イメージファイル、および他のデータの不揮発性記憶を提供する。本明細書で説明する例示的環境では、ハードディスク、取外し可能磁気ディスク２９、および取外し可能光ディスク３１を利用するが、磁気カセット、フラッシュメモリカード、デジタルビデオディスク（ＤＶＤ）、ベルヌーイカートリッジ、ＲＡＭ、ＲＯＭなど、コンピュータでアクセス可能な、イメージファイルおよび他のデータを記憶することのできる他のタイプのコンピュータ可読媒体もこの例示的動作環境で使用できることを当業者は理解されよう。
【００１５】
オペレーティングシステム３５、１つ以上のアプリケーションプログラム３６、他のプログラムモジュール３７、およびプログラムデータ３８を含むいくつかのプログラムモジュールを、ハードディスク、磁気ディスク２９、光ディスク３１上に、あるいはＲＯＭ２４またはＲＡＭ２５内に格納することができる。ユーザは、キーボード４０、グラフィックスパッド、およびポインティングデバイス４２などの入力装置を介して、パーソナルコンピュータ２０にコマンドおよび情報を入力することができる。他の入力装置（図示せず）には、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどを含めることができる。これらおよび他の入出力（Ｉ／Ｏ）装置はしばしば、システムバス２３に結合されるＩ／Ｏインターフェース４６を介して処理ユニット２１に接続される。Ｉ／Ｏインターフェースという用語は、各インターフェース、具体的にはシリアルポート、パラレルポート、ゲームポート、キーボードポート、および／またはユニバーサルシリアルバス（ＵＳＢ）、ならびに他のタイプのデータポート用に使用されるインターフェースを包含するものとする。モニタ４７または他のタイプのディスプレイ装置も、ビデオアダプタ４８などの適切なインターフェースを介してシステムバス２３に接続され、アプリケーションプログラム、ウェブページ、元のイメージファイルおよび解凍したイメージファイル、および／または他の情報を表示するために使用することができる。モニタに加えて、サーバは、スピーカ（ここでは別々に図示していない、サウンドカードまたは他の音声インターフェースを介して）およびプリンタなどの他の周辺出力装置（図示せず）に結合することができる。
【００１６】
パーソナルコンピュータ２０は、リモートコンピュータ４９などの、１つ以上の他のコンピュータにパーソナルコンピュータ２０を接続する論理接続を使用するネットワーク環境内に含めることができる。リモートコンピュータ４９は、サーバ、ルータ、ネットワークＰＣ、ピア装置、またはサテライト、あるいは他の共通ネットワークノードでよく、一般にはパーソナルコンピュータ２０に関連して上記で説明した要素のうちの多く、またはすべてを含むが、図１には外部メモリ記憶装置５０だけを示してある。図１に示す論理接続は、ローカルエリアネットワーク（ＬＡＮ）５１およびワイドエリアネットワーク（ＷＡＮ）５２を含む。このようなネットワーキング環境は周知であり、かつオフィス、企業全体のコンピュータネットワーク、イントラネット、およびインターネットで一般的なものである。
【００１７】
ＬＡＮネットワーキング環境で使用されるとき、パーソナルコンピュータ２０は、ネットワークインターフェースまたはアダプタ５３を介してＬＡＮ５１に接続される。ＷＡＮネットワーキング環境で使用されるとき、パーソナルコンピュータ２０は一般に、ＷＡＮ５２を介して通信を確立するためのモデム５４、あるいはケーブルモデム、デジタル加入者線（ＤＳＬ）インターフェース、または統合サービスデジタル網（ＩＳＤＮ）インターフェースなどの他の手段を含む。ＷＡＮ５２は、プライベートネットワークまたはインターネットでよい。モデム５４は内蔵でも外付けでもよく、システムバス２３に接続され、またはＩ／Ｏ装置インターフェース４６、すなわちシリアルポートを介してそのバスに結合される。ネットワーク環境では、パーソナルコンピュータ２０に関して示したプログラムモジュールまたはその一部は、リモートメモリ記憶装置内に格納することができる。ここで示したネットワーク接続は例示的なものであって、無線通信および広帯域ネットワークリンクなど、コンピュータ間の通信リンクを確立する他の手段も使用できることを理解されたい。
【００１８】
発明の概要
上記で説明したように、ほとんどのソフトウェア開発者は、ＤＶＤなどの光符号化ディスク上にフォルダおよびファイルを分散させるための好ましい順序を有することになる。この順序は、ディスク上のその半径方向相対位置に基づいてファイルをロードする速度を含む、いくつかの要素によって決定される。前述のように、例えばＤＶＤの外側に配置されるファイルは、ＤＶＤの内側のファイルよりもＣＡＶタイプドライブを使用して比較的高速に実行するためにメモリ内に読み取られる。加えて、実行するためにメモリ内に順次ロードしなければならないファイルは、ディスク上でグループ化して、普通ならファイルが格納される可能性のあるディスク上の異なる位置の間をＤＶＤドライブの読取りヘッドが移動することによって引き起こされる遅延を最小にすることが好ましい。さらに、ドライブの読取りヘッドが層の間を移行するときに遅延が増大するので、同じ層上で順次ロードされるファイルにアクセスすることがより効率的である。したがって、開発者は、ソフトウェア製品をエンドユーザに配布するディスクを製造するマスタとして使用されるＤＶＤまたは他の記憶媒体上に格納するために、フォルダおよびファイルを配置することを望むことになる。本発明は、ファイルの適切な順序を決定するプロセスを自動化せず、その代わりに、開発者、またはソフトウェア製品のファイルレイアウトを担当する他の人にその決定をゆだねる。
【００１９】
従来のＤＶＤを使用して、フォルダおよびファイルが所望の順序で配置されるフォルダ構造を格納する場合、ファイルをディスク上に置くプロセスを自動化する必要はほとんどないことになる。しかし、本発明は、８個のセキュリティプレースホルダがある事前定義された規則に従ってディスク上の異なる位置にランダムに配置されるセキュアＤＶＤ内のフォルダおよびファイルのレイアウトを自動化する。これらの８個のセキュリティプレースホルダは、ソフトウェア製品のファイルを格納するための、層あたり約３．２ＧＢの記憶スペースを利用可能にしたまま、ディスクの各層を様々なサイズセグメントに分割する。新しいオーサリングセッションが開始されたとき、セキュリティ要件に順応してフォーマットされるディスクの作成が、ソフトウェアツールによって実施される。新しい空レイアウトフォーマット上のプレースホルダのこの初期配置は、開発者または他のユーザと対話することなく、事前定義された規則を適用することによって自動的に決定される。事前定義された規則は、意図的にソフトウェア製品の開発者に開示されないからである。
【００２０】
フォルダおよびファイルをレイアウトすべきセキュアディスクのフォーマットの作成に関係するステップを図１０に示す。ステップ２１２では、ソフトウェアは、層０に対する８個のセキュリティプレースホルダと、層１に対する８個のセキュリティプレースホルダとを使用して、１７個の可能な位置から１６個のプレースホルダ位置を選択する。層０は、相対的深さの点でＤＶＤの最上層であり、層１は、層ゼロの下に配置される。ステップ２１４では、各層上のプレースホルダを、事前定義された規則によって決定される規準位置に配置する。しかし、ステップ２１６で示すように、各プレースホルダの位置は、ランダム変動値（ｒａｎｄｏｍ ｖａｒｉａｔｉｏｎ）を導入することによって修正される。各プレースホルダに適用されるランダム変動値は、事前定義された規則によって決定される限度内であり、実際には擬似乱数値（すなわち、シード数に基づく乱数）である。したがって、これらのランダム変動値と、プレースホルダについての１７個の可能な位置から１６個の位置を任意に選択するために、各オーサリングセッションで提供されるプレースホルダの位置は一般に異なる。
【００２１】
この事前定義された規則により、層０上のプレースホルダが層１上のプレースホルダと重なり合わないことが要求される。エンドユーザに配布するディスク上にセキュリティプレースホルダを含めることにより、従来のコピー技法を使用してディスクをコピーすることが比較的難しくなる。あるソフトウェア製品と別のソフトウェア製品でプレースホルダの位置を変えることにより、プレースホルダの配置を定義する規則は容易には発見することができない。この事前定義された規則は、本発明に関係せず、本発明を実施するために必要ではないので、この事前定義された規則に関するこれ以上の詳細を本明細書で論じる必要はない。ユーザは常にセキュリティプレースホルダを手動で再配置することを許可されておらず、かつ可能でないことを理解されたい。プレースホルダの位置のどんな変更も、事前定義された規則によって制約されるソフトウェアツールによって実施される。
【００２２】
図１１に、記憶媒体上にファイルをレイアウトするために本発明で使用するステップ全体を示す。スタートブロックの後、ステップ２２２は、ユーザがハードドライブ上にファイルを配置することを実現する。このステップは、記憶媒体上の、プレースホルダによって定義されるセグメント内にレイアウトされることになるファイルの集合（ｃｏｌｌｅｃｔｉｏｎ）内に含めるべきファイルを選択することを含む。ユーザが本発明を利用できるようになる前に、本発明を含むソフトウェアツールを実行するパーソナルコンピュータを介してアクセス可能なハードドライブまたは他の記憶装置上に、ステージングエリアを定義しなければならない。このステージングエリアは、ソフトウェアツールを用いてレイアウトした後にユーザがディスク上に置くことを望むファイルおよびサブフォルダのすべてを含むフォルダである。ユーザがステージングエリアとして指定したフォルダ内に、任意の数のファイルおよびサブフォルダを含めることができ、このファイルおよびサブフォルダは、記憶媒体に関する最終レイアウトに対してユーザが望むのと同様にレイアウトすべきである。ステージングエリアに関するどんなファイルの移動、コピー、リネーム、または削除も、オペレーティングシステムのファイル管理機能、例えばＭｉｃｒｏｓｏｆｔ（登録商標）ＣｏｒｐｏｒａｔｉｏｎのＷＩＮＤＯＷＳ（登録商標）オペレーティングシステムのエクスプローラ（登録商標）プログラムを使用して実行しなければならない。本発明を有するソフトウェアツールが行えることは、記憶媒体上に配置すべきフォルダおよびファイルを選択する際に開発者または他のユーザを援助し、その媒体のセグメント内にフォルダおよびファイルを自動的にレイアウトすることだけである。
【００２３】
ステップ２２４では、ユーザは、ファイル集合に対してユーザが指定したファイルまたはフォルダのいずれかがソフトウェアツールによって配置される前に、記憶媒体ディスクセキュリティフォーマットに対応する空レイアウトを生成する。図８に、本発明により提供されるレイアウトビューでの例示的空きセキュアレイアウト１７０を示す。この中に示すように、複数の垂直列は、名前列１７２、フォルダ列１７４、サイズ列１７６、およびセクタ範囲列１７８を含む。このレイアウトはファイル集合からのフォルダまたはファイルをまだ含んでいないので、レイアウトビューの下部のステータス行は、層０ではファイルが０個で、ファイル記憶域が０バイトであることを示す。名前列１７２では、（この例では）６２ＫＢのサイズを有する初期空セグメント１８０がセクタ１から３１を占有し、この空セグメントの後に、４ＫＢのサイズを有するボリューム記述子１８２が続き（ただし層０上のみ）、セクタ３２から３３を占有する。その後に、空セグメント１８４がセキュリティプレースホルダ１８６と交互に並ぶ。この例を調べることにより、空セグメントは異なるサイズであることが明らかとなろう。ユーザがこのソフトウェアツールを使用して新しいオーサリングセッションを開始する場合、空セグメントのサイズと、セキュリティプレースホルダの位置は、一般に図８の例に示すものとは異なる。
【００２４】
再び図１１を参照すると、ステップ２２６では、ユーザは、ファイルの集合をソフトウェアツールによって生成されたレイアウト中にインポートする。このステップにより、ソフトウェアツールは、ステップ２２８に示すように、ステップ２２４で生成された記憶媒体の連続するセグメント内でのファイルおよびフォルダのレイアウトを開始する。ステップ２２８の詳細を以下で説明する。
【００２５】
ソフトウェアツールがファイルおよびフォルダの初期レイアウトを完了した後、ユーザは、一般にレイアウトを評価して、それが許容されるかどうかを判定することになる。このステップでは、ユーザはファイルの順序を変更し、セグメント中の任意の空スペースをバックフィルし、ソフトウェアツールの自動化技法によって配置することができなかった任意のファイルを手動で配置することができる。判定ステップ２３２により、レイアウトが許容されるかどうかをユーザが示すことが可能となる。レイアウトが許容されない場合、ステップ２３４では、ユーザは、ファイルマネージャプログラムを使用してセグメント内のファイルを再配置することによってレイアウトを修正することができる。加えて、ユーザは、ファイルマネージャプログラムを用いて、レイアウト内のセグメントに対してファイルを削除または追加することができる。ファイルマネージャプログラムは、ユーザによって変更が行われた点を超えてソフトウェアツールにファイルをシフトさせることになる。レイアウトが許容されるものとなった後、ステップ２３６では、レイアウトの所望のフォーマットへのプレマスタリング、認証プロセスへの服従、または他のある目的が提供される。例えばレイアウトは、ブランク磁気テープにプレマスタすることができ、または認証機関または他のあるエンティティに電子発信することができる。
【００２６】
フォルダおよびファイルのレイアウト内への自動配置の詳細
図１２に、記憶媒体中のレイアウトに対してインポートされた集合内にフォルダおよびファイルをレイアウトするために、ソフトウェアツールによって実施される論理ステップ２２８を示す。ステップ２５０では、ソフトウェアツールは、幅順に並べられたフォルダのリストを構築する。言い換えれば、このリストは、最初に所与のレベルのすべてのフォルダおよびファイルと、その後に続いてすぐ下のレベルのすべてのフォルダおよびファイルと、その後に続いてさらに下のレベルのすべてのフォルダおよびファイルとを含む。判定ステップ２５２は、リストまたは集合内のすべてのフォルダおよびファイルを処理し終えた時を検出するために、リストが空であるかどうかを判定する。リストが空である場合、この処理はステップ２５４で完了する。逆にリストが空でない場合、ステップ２５６では、リストからフォルダを選択する。少なくともルートフォルダは常に存在するので、ルートフォルダは、処理する最初のフォルダとなることになる。次いで判定ステップ２５８は、記憶媒体ディスクの現在の層が層０であるかどうかを判定し、層０である場合、判定ステップ２６０は、記憶媒体上に配置すべきカレントフォルダ内にファイルがあるかどうかを判定する。ファイルがある場合、判定ステップ２６２は、カレントセグメント、または現在の層上の任意の次のセグメント内にファイルを配置することが可能かどうかを判定する。可能である場合、ステップ２６４では、（以下でより詳細に説明するように）ファイルを配置する。その後、この論理は、判定ステップ２６０に戻り、記憶媒体中に配置すべきカレントフォルダ内にさらにファイルがあるかどうかを判定する。
【００２７】
カレントフォルダ内のファイルをすべて配置した後、この論理は、カレントフォルダを現在の層上のセグメント内に配置することができるかどうかを判定する判定ステップ２６６に進む。配置することができる場合、ステップ２６８では、セグメントのうちの１つの中にフォルダを配置する。次いでこの論理は判定ステップ２５２に戻り、フォルダおよびファイルのリストが空であるかどうかを判定する。
【００２８】
セグメント内のフォルダを現在の層上に配置することが可能でない場合、この論理は判定ステップ２７０に進む。このステップは、現在フィルされている層が層０であるかどうかを判定する。判定ステップ２６２で現在の層上のセグメントのどれにもファイルを配置することが可能でなかった場合に、この同じ判定ステップに達する。処理されているカレントファイル（ｃｕｒｒｅｎｔ ｆｉｌｅ）、またはカレントフォルダのどちらかを層０または層１内に配置することができなかった場合、そのファイルまたはフォルダは、未配置の記憶域に移される。この未配置の記憶域は、記憶媒体上で利用可能なスペース内へのファイルまたはフォルダのフィッティングをどの程度良好に処理するかをユーザが手動で決定することができるまで、少なくとも一時的にこのような未配置のファイルまたはフォルダを格納する。ステップ２７２に続いて、自動的に配置する次のフォルダまたはファイルがないので、論理は終了する。
【００２９】
判定ステップ２７０での現在の層が層０である場合、この論理はステップ２７４に進み、そこでカレントファイルまたはフォルダを配置するために層１に切り換える。次に、ステップ２７６では、カレントフォルダを層１上のセグメント内に配置し、判定ステップ２７８は、配置したカレントフォルダ（current folder）内にファイルがあるかどうかを判定し、ファイルがある場合、判定ステップ２８０は、フォルダからのカレントファイルを層１上のセグメント内に配置することが可能かどうかを判定する。配置することが可能である場合、それに応じてステップ２８２でファイルを配置する。次いでこの論理は判定ステップ２７８に戻り、フォルダ内に配置すべき別のファイルがあるかどうかを判定する。
【００３０】
判定ステップ２８０で、層１上にファイルを配置することが可能でなかった場合、この論理は判定ステップ２７０に戻り、この論理の層１に対する判定の結果として、ステップ２７２に進み、配置することができなかったファイルを未配置の一時記憶域内に移す。
【００３１】
判定ステップ２７８では、フォルダ内にファイルが存在しない場合、この論理は判定ステップ２５２に戻る。リスト中に別のフォルダがあると想定して、この論理はステップ２５６に進み、リストからフォルダを選択し、判定ステップ２５８で、ファイルが層１上に現在配置されていると判定することになり、その結果判定ステップ２８４に進む。この判定ステップは、カレントフォルダを層１上に配置することができるかどうかを判定する。配置することができる場合、この論理は再度ステップ２７６に進み、フォルダを配置する。逆にフォルダを層１上のセグメント内に配置することができない場合、この論理は最終的に、判定ステップ２７０を通じてステップ２７２に進み、少なくとも一時的に、フォルダを未配置の一時記憶域内に配置する。
【００３２】
記憶媒体のセグメント内へのファイル（およびフォルダ）の配置の詳細
図１３に、本発明に従って記憶媒体のセグメント内にファイルを配置するときに使用するステップに関する詳細を示す。図１３の流れ図を簡単にするために、ファイルだけについて述べる。しかし、その中で開示される論理はセグメント内にフォルダを配置することにも同様に当てはまる。判定ステップ３００は、配置されているファイルが、フォルダおよびファイルでフィルされているカレントセグ（ｃｕｒｒｅｎｔ ｓｅｇｍｅｎｔ）内の利用可能なスペース内にフィットするかどうかを判定する。セグメントは、前述のようにプレースホルダの配置によって定義される。利用可能なスペースは、記憶媒体層の内側または外側の限界とプレースホルダとの間、あるいは２つの連続するプレースホルダの間となることになる。フィルされているカレントセグメント内にファイルがフィットする場合、ステップ３０２は単に、カレントセグメント内の直前に配置されたファイルの直後にファイルを配置する。その後、カレントファイルを配置するプロセスが完了し、この論理は図１２のステップに戻る。しかし、現在配置されているファイルがカレントセグメントの利用可能スペース内にフィットしない場合、判定ステップ３０４は、先に配置したファイルに隣接するように、残りの利用可能スペースを定義するプレースホルダを外側に移動することができるどうかを判定する。
【００３３】
図２から図５に、記憶媒体１００のセグメント内にファイルを配置することに関するステップの様々な態様を示す。図２では、記憶媒体１００は、カレントセグメント内に既に配置したファイル１０２を含む。セキュリティプレースホルダ１０４は、セキュア記憶媒体が当初オーサリングセッションの始めに作成されたときに事前定義された規則によって決定された位置に配置される。ファイル１０６は現在配置されているが、図２から明らかな通り、セキュリティプレースホルダ１０４内に既に配置されているファイルとカレントセグメントの間に、不十分な利用可能スペースが残る。配置されているファイルを破線で示し、このサイズは、ファイル１０２の後ろに単に追加する場合、セキュリティプレースホルダ１０４を超えて延在するのに十分であり、このことは許可されない。
【００３４】
図３に、カレントセグメント内に先に配置されたファイル１０２に対して下向きに移動し、ファイル１０６を次のセグメント内のセキュリティプレースホルダの反対側に配置することを可能としたセキュリティプレースホルダ１０４′を示す。したがって、図３は、図１３の判定ステップ３０４で企図されるプレースホルダの移動を示す。しかし、セキュリティプレースホルダのどんな移動も、記憶媒体内のセキュリティプレースホルダの配置を決定する事前定義された規則に適合しなければならない。したがって、判定ステップ３０４は、ファイル１０２に隣接するためのセキュリティプレースホルダ１０４′の移動が、セキュリティプレースホルダの位置を制御する事前定義された規則とコンフリクトしない位置にセキュリティプレースホルダを配置したままにする場合にだけ肯定的に応答することができる。
【００３５】
判定ステップ３０４の判定が肯定的である場合、図１３の判定ステップ３０６は、現在配置されているファイルのための空き場所（ｒｏｏｍ）を作成し、それによってカレントセグメント内に先に配置されたファイル１０２に対してそのファイルを隣接してそのファイルをカレントセグメント内にフィットさせるために、図４のセキュリティプレースホルダ１０４″で一般的に示すようにセキュリティプレースホルダを内側に移動することができるかどうかを判定する。やはりこの判定も、セキュリティプレースホルダ１０４″の新しい位置が各セキュリティプレースホルダの配置可能な配置を決定する事前定義された規則に適合する場合にだけ肯定的に応答することができる。
【００３６】
判定ステップ３０６に対する応答が否定的であると仮定すると、セキュリティプレースホルダは、ファイル１０２に対して隣接するように外側に移動し、カレントファイルは、図３に示し、かつ図１３のステップ３０８に示すように、次のセグメント内に配置される。次いでこの論理は、処理しているカレントファイルに対して完了する。
【００３７】
あるケースでは、内側または外側にプレースホルダを移動して、カレントファイルを配置するために必要なスペースを供給することが可能である。そうである場合、判定ステップ３１０は、セキュリティプレースホルダの新しい配置、すなわち１０４′または１０４″のどちらがプレースホルダの元の位置、すなわちプレースホルダ１０４の配置により近いかを判定する。言い換えれば、このステップは、ディスクフォーマットが作成されたときのプレースホルダの元の位置からの変位の量を最小にするために、セキュリティプレースホルダを内側または外側のどちらの方向に移動しなければならないかを判定する。セキュリティプレースホルダが外側に移動した新しい位置、すなわちプレースホルダ１０４′が元の位置により近い場合、この論理はステップ３０８に進む。逆に、図４に示すようなプレースホルダ１０４″の変位がその元の位置により近い場合、この論理はステップ３１４に進む。このステップでは、プレースホルダは内側に移動し、ファイルはセキュリティプレースホルダ１０４″の新しい位置とカレントセグメント内に先に配置されたファイルとの間に配置される。ステップ３０８またはステップ３１４のどちらかの後、カレントファイルまたはフォルダの処理は完了する。
【００３８】
判定ステップ３０４を再び参照すると、カレントセグメント内に配置された先のファイルに隣接するようにプレースホルダを移動することができない場合、判定ステップ３１２は、プレースホルダを内側に移動して空き場所を作成することができるかどうかを判定する。やはり、プレースホルダのこのタイプの調節を図４に示す。セキュリティプレースホルダの変位に関する事前定義された規則に適合する位置にセキュリティプレースホルダを内側に移動することができる場合にだけ、この判定ステップは肯定的な応答をすることになる。そうである場合、この論理はステップ３１４に進み、プレースホルダを移動してファイルを配置した後、このフローチャートの論理がカレントファイルに対して行われる。
【００３９】
判定ステップ３１２での判定が否定的である場合、ステップ３１６は、図５に一般に示すように、プレースホルダを移動せず、次のセグメント内のカレントファイルをセキュリティプレースホルダの内側に向かって配置する。このことは、前のセグメント内に先に配置されたファイル１０２とプレースホルダ１０６との間の空スペース１０８を残すが、ほとんどの場合、大きいファイルを配置するのに必要なサイズよりもセグメントサイズが小さいのでない限り、このようにして次のセグメント内にファイルを配置することが可能である。この手法の欠点は、空スペース１０８をその空スペース内にフィットする別の小さいファイルで少なくとも一部分バックフィルすることができない限り、利用可能なディスク記憶スペースを浪費することである。空スペース１０８をバックフィルする代替方法はフローチャート内に図示していないが、このステップは、記憶媒体ディスク上の利用可能スペースの使用を改良することを企図する一代替実施形態である。図１３のステップを完了した後、図１２に一般的に示すように、このプロセスは（残りのファイルがある場合に）次のファイルを配置する。
【００４０】
図１３のステップ３１６′で表される別の代替実施形態は、プレースホルダの配置に関する事前定義された規則によって課される制限内で可能な限り外側に（すなわち図２のファイル１０２に向かって）プレースホルダを移動し、次いでそのように移動したプレースホルダの内側の次のセグメント内にファイルを配置することを実現する。カレントファイルは、プレースホルダに隣接する。この実施形態は完全に空スペース１０８を解消しないが、カレントファイルを次のセグメント内に配置した後にプレースホルダの内側に残るカレントセグメント内の空スペースの量を削減する。
【００４１】
判定ステップ３１０に対するさらに別の代替方法も企図される。（事前定義された規則によって課された制約に違反することなく）カレントファイルのための空き場所を作成するためにプレースホルダを内側または外側に移動することができる場合、判定ステップ３１０′は、プレースホルダの内側または外側の移動が、プレースホルダが外側に移動し、かつファイルが次のセグメント内に配置される場合は、先に配置されたファイルとプレースホルダとの間の空スペースを最小にするかどうか、あるいは、プレースホルダが内側に移動し、かつファイルがカレントセグメント内に配置される場合は、配置されているファイルとプレースホルダとの間の空きスペースを最小にするかどうかを判定する。カレントセグメント内の空スペースの量を最小にする方向が、各プレースホルダの配置を決定する事前定義された規則と適合させて、プレースホルダを移動するために選択される。このようにしてプレースホルダを外側に移動すべきであると判定した場合、この論理はブロック３０８に進み、逆に、プレースホルダを内側に移動すべきであると判定した場合、この論理はブロック３１４に進む。
【００４２】
本発明の現在好ましい実施形態では、いくかの制限がある。本発明のソフトウェアツールは幅順のフォルダの順序に基づいてフォルダおよびファイルを自動的に配置するので、メモリ媒体上のソフトウェアツールによるファイルおよびフォルダの所望の順序は、開発者が望む所望の順序を近似することしかできない。さらに、セグメント内に残っている任意の利用可能スペース内の、層０または層１のどちらかにフィットさせるには大き過ぎるファイルおよびフォルダは、未配置のファイル記憶域内に残されることになり、ディスクレイアウト上に手動で配置する必要がなくなる。したがって、このソフトウェアツールにより、開発者は、記憶媒体ディスクのレイアウトによって課された制約内ではあるが開発者が望む通りに、セグメント内のメモリ媒体上のファイルおよびフォルダを手動で配置し、自動レイアウトによって達成された順序を修正するためのオプションを得る。
【００４３】
異なるセグメント内のファイルの自動位置決めは、完全にユーザの好みとはならない可能性があるので、ユーザは、Ｍｉｃｒｏｓｏｆｔ（登録商標）ＣｏｒｐｏｒａｔｉｏｎのＷＩＮＤＯＷＳ（登録商標）エクスプローラ（登録商標）などのファイル管理プログラムを使用して、ファイルを移動し、ファイルをコピーし、ファイルをリネームし、ユーザのハードドライブ上のステージングエリア内のファイルを削除することができる。オペレーティングシステムファイル管理プログラムを用いて変更を行うときにソフトウェアツールが動作している場合、ソフトウェアツールは、ステージングエリアに対して変更が行われたという通知で、ユーザにプロンプト指示することになる。１つ以上のファイルのサイズが変化したが、新しいファイルが追加されなかった場合、ソフトウェアツールは、セグメント内のファイルおよびフォルダの配置を、その順序を変更することなくシフトすることによって、記憶媒体上のファイルの自動レイアウト内でサイズの変化に適応することを試みることになる。ファイル管理ソフトウェアを使用してファイルをリネームした場合、ファイル管理ソフトウェアは、記憶媒体ディスク上のファイルの配置を変更することなく、レイアウト内のファイルをリネームすることを試みる。１つ以上のファイルをファイル管理プログラム（例えば、エクスプローラ（登録商標））を使用して削除する場合、ソフトウェアツールは、記憶媒体ディスク上のファイルのレイアウトからそのファイルを削除し、残りのファイルのすべて（すなわち、ファイルが削除された点の内側のファイル）を下方にシフトし、削除によって生成されたギャップをフィルすることを試みる。ファイル管理プログラムを使用してファイルが追加された場合、ソフトウェアツールは、追加された最初のファイル位置から開始して、再びセグメント内にファイルを配置することによって、そのファイルをディスクレイアウトに自動的に追加することを試みることになる。
【００４４】
最後に、ユーザがファイルを移動する場合、ソフトウェアツールは、他の影響を受けるファイルを自動的に移動することによって、移動したファイルをレイアウト内に収容することを試みることになる。例えば、ファイル「ａ」がディスクの外縁に最も近いとして、順序ａ，ｂ，ｃ，ｄ，ｅ，ｆでディスク上に自動的に配置されたファイルをユーザが有し、ユーザがファイル「ｅ」および「ｆ」の間の位置にファイル「ｃ」を移動すると決定した場合、新しい順序は、ａ，ｂ，ｄ，ｅ，ｃ，ｆとなることになる。ユーザがこのようにしてファイル「ｃ」の移動の指定を終了した後、ソフトウェアツールは、元々配置されたセグメント内のファイル「ａ」および「ｂ」に関するレイアウトを保持することになるが、残りのファイルｃ，ｄ，ｅ，ｆのすべてを削除し、次いでそれらを、カレントプレースホルダ位置を使用して上述の手順に従って再配置することになる。プレースホルダ位置は、一般に前述のように、説明したセグメント上でのファイルの再配置とのコンフリクトが起こった場合にだけ修正されることになる。このプロセスは、ファイルの集合に対してユーザが変更を行う限り反復される。
【００４５】
フォルダツリービューおよびレイアウトビュー
記憶媒体ディスクのセグメント内にファイルおよびフォルダをレイアウトする際に本発明で使用するためのステージングエリアでのファイルの集合の作成を容易にするために、ソフトウェアツールは、フォルダツリービューおよびレイアウトビューを含む２つの異なるビューを提供する。例示的フォルダツリービュー１１０を図６に示す。フォルダツリービュー１１０は、階層フォルダツリーウィンドウ１１２、および詳細ウィンドウ１１４を含む。このビューについての列見出しは、階層フォルダツリーウィンドウについてのフォルダ列１３２を含み、選択したフォルダ内の各ファイル（またはフォルダ）が集合内に含まれているかどうかを示すマークを含むインジケータ列１３４、フォルダおよびファイルがラベルされる名前列１３６、各ファイルのバイトサイズを与えるサイズ列１３８、ファイルのタイプを示す（またはフォルダを示す）タイプ列１４０、日付変更列１４２、および（集合内に含まれる）ファイルまたはフォルダが現在配置されている層を示す位置列１４４を含む。階層フォルダウィンドウ１１２は、ステージングエリアのフォルダコンテンツを表示する。このビューは、ＷＩＮＤＯＷＳ（登録商標）エクスプローラ（登録商標）で提供されるフォルダツリービューと類似しているが、フォルダまたはファイルの追加、削除、リネーム、または移動の点での同じ機能を可能にしない。
【００４６】
図７（ａ）に、例示的ゲームディスクルート１１６を示す。ステージングエリアのルートをゲームディスクルートと呼ぶ拡張可能なディスクとして示す。この例や図６では、ゲームディスクルートノードは除外可能ではなく、集合に含まれているのか、それとも除外されているのかを示すチェックボックスを有さないが、本発明の新しい実施形態により、ゲームディスクルートノードを除外することが可能となる。図７（ａ）に示すように、サブフォルダインジケータ１５０は、ゲームディスクルートがサブフォルダを含むことを示し、フォルダツリーウィンドウがサブフォルダを示すことを示す破線を含む。ディスクルート識別子１５２は、ラベル１５４のように与えられる。ゲームディスクルートの１レベル下のサブフォルダは、参照番号１１８によって識別され、これらのサブフォルダはそれぞれ、インクルードチェックボックス１５６を含む。チェックボックス１５６中のチェックマークは、ディスク上にレイアウトされているか、またはレイアウトされることになる集合内にサブフォルダが含まれることを示している。フォルダアイコン１５８は、サブフォルダとしてエントリを識別し、各サブフォルダは、それ自体のラベル１５４を備える。新しい実施形態は、ゲームディスクルート１１６についてのチェックボックスと同様のチェックボックスも提供する。
【００４７】
サブフォルダの例であるサブフォルダ１１８を図７（ｂ）に示す。このサブフォルダ１１８はサブフォルダを有さない。図７（ｃ）に、フォルダツリーウィンドウ内に表示されるサブフォルダを有し、集合内に含まれるサブフォルダを指定する例を示す。サブフォルダ１１８の下は、別のレベルのサブフォルダ１２０であり、その例を図７（ｄ）に示す。同様に、サブフォルダ１２０の下は、別のレベルのサブフォルダ１２４であり、そのレベルのサブフォルダの下は、さらに別のレベルのサブフォルダ１２６である。図７（ｅ）に、チェックボックス１５６′がチェックされていないので、集合内にどれも含まれないサブフォルダを有するサブフォルダを示す。図７（ｆ）では、カレントフォルダの下の、包含され、除外されるファイルおよびサブフォルダの混合を含むサブフォルダを示し、このステータスは、チェックボックス１５６"内の塗りつぶされた正方形のマークで示される。
【００４８】
図６のフォルダツリー構造により、本発明が、記憶媒体ディスクのセグメント内のフォルダおよびファイルを自動的に配置するときに、フォルダおよびファイル幅をまずどのように処理するかが明らかとなる。ソフトウェアツールが、ルートディレクトリ内ファイルのすべてと、その後に続くサブフォルダ１１８のすべてと、その後に続くサブフォルダ１２０のすべてと、その後に続くサブフォルダ１２２のすべてと、その後に続くサブフォルダ１２４のすべてと、その後に続くサブフォルダ１２６のすべてのファイルなどが処理され、その結果、連続する各レベルのサブフォルダおよびその中に含まれるファイルが、次の下位レベルが処理される前に処理されることは明らかであろう。図示する例では、ゲームディスクルートは、記憶媒体ディスク内に最初に配置される３つのファイル１２８を含む。その後に、フォルダ１１８が処理され、その結果、これらの各フォルダ内のすべてのファイルが、記憶媒体ディスクのセグメント内に次々に配置される。
【００４９】
図９に、本発明に従って、ソフトウェアツールによってファイルおよびフォルダで部分的にフィルされたディスクのレイアウトビューを示す。図８の記憶媒体ディスクの初期空フォーマットに関して上記で述べたように、セキュリティプレースホルダ１８４は、セグメント１８６を定義する。その中にファイルが配置されていない場合、セグメントは空である（この用語は部分的にフィルされたセグメントを指すためにも用いる）と識別される。ファイル１８８は、図９に示すセグメントの部分内に配置されており、その対応するフォルダ名１９０が列１７４内にリストされる。フォルダ１９２は、サブフォルダ「媒体」のサブフォルダとして含まれる。この実施形態では、サブフォルダ内の最初のファイルは、フォルダエントリの下にリストされるが、フォルダ内のすべての他のファイルは、フォルダエントリの上の記憶媒体ディスク上に配置される。フォルダエントリは、単にフォルダに関するメタデータを示す。フォルダ内の最初のファイルが、フォルダ名に先行する理由は、しばしば実行可能ファイルである最初のファイルの、より迅速なローディングを可能にすることである。この例では、サブフォルダ１９４は、サブフォルダ１９６と同様に２つのファイルだけを含む。フォントに関するサブフォルダは図示していない。フォントのうち２つのフォントファイルだけを図の底部に示す。レイアウトビューの底部のステータス行は、合計５４個のファイルが層０上に配置されており、この５４個のファイルが記憶域の９．２３ＭＢを占有していることを示している。レイアウトビューの左縁はローディング速度インジケータ１９８であり、通常は左下隅の濃い緑色から、左上隅の明るい赤色まで延在する色であり、記憶媒体ディスク上にレイアウトされるファイルをメモリ内にロードすることができる相対速度を示す。例えば、ＣＡＶタイプドライブ上で、ディスクの外縁近くに配置されるファイルは、内縁近くに配置されるファイルよりも迅速にロードされ、したがってインジケータ１９８は、レイアウトビュー内に表示されるファイルをメモリ内にディスクの外縁および内縁の間のその相対位置に基づいてロードするために読み取る相対速度を、ユーザが視覚的に知覚する助けとなる。したがって、レイアウトビューは、ファイルが配置されるセグメントに関する、記憶媒体ディスク上のファイルおよびフォルダの配置の視覚表現を提供する。ユーザは、未配置のファイル記憶域内に先に配置されたファイルを配置する際に、レイアウトビューを利用することができる。
【００５０】
本発明を実施する好ましい形態に関連して本発明を説明したが、本発明に対して、頭記の特許請求の範囲内で多くの修正を行えることを当業者は理解されよう。したがって、本発明の範囲は決して上記の説明に限定されず、頭記の特許請求の範囲を参照することによって完全に決定される。
【図面の簡単な説明】
【００５１】
【図１】本発明を実施するのに適した、パーソナルコンピュータ、サーバなどの汎用コンピューティング装置の機能ブロック図である。
【図２】配置されているが、カレントセグメント内の利用可能なスペース内にフィットしないファイルを示す概略図である。
【図３】配置されているファイルを次のセグメント内にフィットさせることを可能にする、カレントセグメント内に配置された最後のファイルに対するセキュリティプレースホルダの移動を示す概略図である。
【図４】配置されているファイルをカレントセグメント内にフィットさせるようにカレントセグメントの利用可能なスペースを増加するための、セキュリティプレースホルダの移動を示す概略図である。
【図５】セキュリティプレースホルダを移動することなく、次のセグメント内にファイルを配置することを示す概略図である。
【図６】ディスクのセグメント内にレイアウトすべきファイルの集合の例示的フォルダツリービューである。
【図７】フォルダツリービュー内のフォルダおよびファイルに関する様々な表示を示す図である。
【図８】プレースホルダを移動する前に、かつセグメント内にファイルを配置する前に、ディスク上のセグメントのサイズを示す例示的レイアウトビューを示す図である。
【図９】ＤＶＤ上の層０のあるセグメント内にファイルを配置した後の例示的レイアウトビューを示す図である。
【図１０】ディスク上にセキュアプレースホルダを配置することによってＤＶＤ上にセグメントを定義するためのステップを示す流れ図である。
【図１１】セキュアフォーマットＤＶＤ上のフォルダおよびファイルのレイアウトを自動的に決定するためのステップを示す流れ図である。
【図１２】ＤＶＤのセグメント内にフォルダおよびファイルを配置するための論理を示す流れ図である。
【図１３】ファイルを収容するためにプレースホルダを移動するためのステップを示す流れ図である。
【符号の説明】
【００５２】
２１  処理ユニット
２２  システムメモリ
２３  システムバス
２４  読取り専用メモリ
２５  ランダムアクセスメモリ
２６  基本入出力システム
２７  ハードディスクドライブ
２８  磁気ディスクドライブ
２９  取外し可能磁気ディスク
３０  光ディスクドライブ
３１  取外し可能光ディスク
３２  ハードディスクドライブインターフェース
３３  磁気ディスクドライブインターフェース
３４  光ディスクドライブインターフェース
３５  オペレーティングシステム
３６  アプリケーションプログラム
３７  他のプログラムモジュール
３８  プログラムデータ
４０  キーボード
４６  Ｉ／Ｏ装置インターフェース（例：シリアル）
４７  モニタ
４８  ビデオアダプタ
４９  リモートコンピュータ
５０  外部メモリ記憶装置
５１  ローカルエリアネットワーク
５２  ワイドエリアネットワーク
５３  ネットワークインターフェースまたはアダプタ
５４  モデム
１００  記憶媒体
１０２  カレントセグメント内に既に配置したファイル
１０４、１０４′、１０４″  セキュリティプレースホルダ
１０６  配置されているファイル
１０８  空スペース
１１０  フォルダツリービュー
１１２  階層フォルダツリーウィンドウ
１１４  詳細ウィンドウ
１１６  ゲームディスクルート
１１８  参照番号
１２０、１２２、１２４、１２６  サブフォルダ
１２８  ファイル
１３２  フォルダ列
１３４  インジケータ列
１３６  名前列
１３８  サイズ列
１４０  タイプ列
１４２  日付変更列
１４４  位置列
１５０  サブフォルダインジケータ
１５２  ディスクルート識別子
１５４  ラベル
１５６  チェックボックス
１５８  フォルダアイコン
１７０  空きセキュアレイアウト
１７２  名前列
１７４  フォルダ列
１７６  サイズ列
１７８  セクタ範囲列
１８０  初期空セグメント
１８２  ボリューム記述子
１８４  空セグメント
１８８  ファイル
１９０  フォルダ名
１９２  フォルダ
１９４、１９６  サブフォルダ
１９８  ローディング速度インジケータ
【図１】
2008181658.tif 000003
【図２】
2008181658.tif 000004
【図３】
2008181658.tif 000005
【図４】
2008181658.tif 000006
【図５】
2008181658.tif 000007
【図６】
2008181658.tif 000008
【図７】
2008181658.tif 000009
【図８】
2008181658.tif 000010
【図９】
2008181658.tif 000011
【図１０】
2008181658.tif 000012
【図１１】
2008181658.tif 000013
【図１２】
2008181658.tif 000014
【図１３】
2008181658.tif 000015