JP2008181658A - ファイルをレイアウトするためのツール - Google Patents

ファイルをレイアウトするためのツール Download PDF

Info

Publication number
JP2008181658A
JP2008181658A JP2008070424A JP2008070424A JP2008181658A JP 2008181658 A JP2008181658 A JP 2008181658A JP 2008070424 A JP2008070424 A JP 2008070424A JP 2008070424 A JP2008070424 A JP 2008070424A JP 2008181658 A JP2008181658 A JP 2008181658A
Authority
JP
Japan
Prior art keywords
files
file
folder
folders
placeholder
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008070424A
Other languages
English (en)
Inventor
Jonathan E Lange
イー.ラング ジョナサン
Jeffrey E Simon
イー.シモン ジェフリー
Jason M Cahill
エム.カヒル ジェーソン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2008181658A publication Critical patent/JP2008181658A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00572Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which change the format of the recording medium
    • G11B20/00615Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which change the format of the recording medium said format change concerning the logical format of the recording medium, e.g. the structure of sectors, blocks, or frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00094Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised record carriers
    • G11B20/00123Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised record carriers the record carrier being identified by recognising some of its unique characteristics, e.g. a unique defect pattern serving as a physical signature of the record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00166Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software
    • G11B20/00173Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software wherein the origin of the content is checked, e.g. determining whether the content has originally been retrieved from a legal disc copy or another trusted source
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2109Game systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/23Disc-shaped record carriers characterised in that the disc has a specific layer structure
    • G11B2220/235Multilayer discs, i.e. multiple recording layers accessed from the same side
    • G11B2220/237Multilayer discs, i.e. multiple recording layers accessed from the same side having exactly two recording layers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Technology Law (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】DVDセグメント内のソフトウェアプログラムのファイルとフォルダを自動配置するソフトウェアツールの提供。
【解決手段】セグメントはセキュリティプレースホルダで定義され、プレースホルダの配置は事前定義された規則と一貫して当初ランダムに決定される。無許可コピーを防ぐためプレースホルダがディスクに含まれる。開発者は一般にファイルとフォルダをレイアウトすべき順序を定義し、ソフトウェアツールはファイルとフォルダを自動配置し、連続セグメントをフィルし、プレースホルダをシフトし、カレントセグメント内にフィットしないファイルを収容する。しかし、プレースホルダのどんな移動もツールで行わなければならず、プレースホルダの新しい配置が事前定義した規則に従う場合だけ許可される。ユーザは自動レイアウトを手動修正でき、それに応答して、ユーザが導入した変更に対処するためにファイルとフォルダが自動的にシフトされる。
【選択図】図11

Description

本発明は、一般に、光符号化ディスクなどの記憶媒体上のファイルの記憶域をレイアウトすることに関し、より詳細には、ディスクの無許可コピーを防ぐために含められ、かつ記憶媒体上でのその位置が事前定義された規則によって制限される移動可能なプレースホルダ(place holders)によって分離される記憶媒体上の連続するセグメント内にファイルをレイアウトするためのツール、システム、および方法に関する。
ソフトウェア製品は、現在では一般に、コンパクトディスク読取り専用メモリ(CD−ROM)ディスク、またはデジタルバーサタイルディスク(DVD)など光符号化ディスクでエンドユーザに配布されている。一部のソフトウェア製品の複雑さと、その製品に含まれるルーチン、オブジェクト、コンポーネント、関数、データ構造、モジュール、およびライブラリの数のために、配布ディスク上に数百メガバイト(MB)から数ギガバイト(GB)の総記憶量を必要とする製品は珍しくない。しばしば複雑なグラフィックファイルおよびサウンドライブラリを含む電子ゲームでは、単一のディスク上にファイルのすべてを格納するためにDVDの両面が必要となることがある。
記憶媒体上のファイルの配置は、ドライブからファイルを読み取る効率に影響を及ぼす可能性がある。DVD上では、データは、各データブロックが同じ線形サイズとなるように符号化される。単一データトラックの円周は、ディスクの外縁に近いほど長くなるので、外縁に近い方が、内側部分に近い方よりも、トラックまたは回転あたり、より多くのデータが記録される。線速度一定タイプ(CLV)のドライブは、外縁に近いトラックからデータを読み取るときはゆっくりと回転し、スピードアップして、ディスクの内側部分に近いトラックからデータを読み取る。それとは対照的に、角速度一定(CAV)タイプのドライブ上では、DVDの外縁近くに配置されたファイルは、中心近くに配置されたファイルよりも高速に読み取られる。したがって、CAVタイプのドライブを用いて読み取る場合、ゲームまたは他のソフトウェアプログラムのファイルを、ディスクからランダムアクセスメモリ(RAM)内に最も効率的にロードするためには、開発者が、ファイルをディスク上に格納するときに、スタート画面の表示を開始するために最初にロードしなければならないファイルや、他の頻繁にアクセスするファイルがディスクの外縁に最も近く格納されるようにファイルを配置することが好ましいことになる。さらに、メモリ内に順次ロードされるファイルを一緒に配置して、そのファイルにアクセスし、そのファイルを読み取るためのディスクドライブのシーク時間を最小にすることが好ましい。開発者は、ディスク上に好ましくファイルが格納されて、ソフトウェア製品のローディングや実行中に必要とされる最も効率的なファイルアクセスが達成されるような順序に、ファイルをリストすることが可能である。
CD−ROMまたはDVDでソフトウェアを配布し、ライセンスする会社がますます直面するようになってきている問題は、製品の著作権に違反して再販売する目的でこのようなソフトウェアを容易に複製できることである。このようなディスクがコピーされる危険を減らすために様々な技法が開発されてきた。ゲームコンソール上で使用されるディスクで配布されるゲームソフトウェアは特に、コピーされる危険がある。コピーを防止するために開発された一技法は、DVDを複数のセグメントに分割するセキュリティプレースホルダを使用するものである。このセキュリティプレースホルダは、従来のディスクコピー技法を用いて複製することが困難となるようにディスク上に書き込まれる。例えば、Microsoft(登録商標)CorporationのX−BOX(商標)ゲームコンソールで使用されるDVDソフトウェアディスクは、8個のプレースホルダを使用して、デュアルレイヤDVDの各層をファイルを格納することのできる9個のセグメントに分割するセキュリティフォーマットを利用している。プレースホルダは、事前定義された規則に従ってDVD上に配置され、擬似ランダム変数が適用されて、この事前定義された規則によって決定されるプレースホルダの初期位置に対してプレースホルダの位置がわずかに変更される。このフォーマットを使用して生成されたセキュアディスク上に格納されるファイルは、プレースホルダによって定義される18個のセグメント内に設けられる、層ごとに利用可能な3.2GBの記憶域内に配置しなければならない。セグメントのサイズは固定ではなく、一般にDVDごとに異なる。プレースホルダは、その初期位置から移動することができるが、どんな変更も、事前定義された規則に従って自動的に行わなければならず、このことは開発者にとって周知ではない。
ユーザは、プレースホルダを手動で移動してファイルをセグメント内にフィットさせることができないので、プレースホルダを使用してディスクをセグメントに分割するセキュアDVDフォーマット上のファイルの記憶域を手動でレイアウトし、それによってファイルを所望の順序に配置することは時間がかかり、比較的非効率な作業となる可能性がある。したがって、ソフトウェア製品のファイルをセキュアディスクのセグメント内に自動的にレイアウトするソフトウェアツールを提供することによって、ファイルのこのようなディスク上のレイアウトを自動化することが好ましい。このツールは、ユーザがファイル管理プログラムを使用してセキュアディスク上のセグメント内のファイルを追加、削除、移動し、次いでそれに応じてセグメントごとにレイアウト内のファイルの配置を調節することを可能にすべきである。
上述のように、セキュアディスクフォーマットは、セキュリティプレースホル
ダを利用してDVD光符号化ディスクなどの記憶媒体を様々なサイズのセグメントに分割する。事前定義された規則は、ディスク上に格納するためにファイルをレイアウトしなければならないユーザにとって周知でないものであり、一般に、プレースホルダがディスク上に配置される場所を決定し、事前定義された規則によって定義される制限内でプレースホルダの位置をランダム化する。したがって、ディスクのフォーマットを作成するときにプレースホルダの配置の選択に幅があり、かつプレースホルダの配置がランダムに変動するために、このセキュアフォーマットを使用する相異なるDVDディスクは、一般に異なる位置に配置されたプレースホルダを有することになる。ユーザは、より高速にロードしなければならないフォルダおよびファイルをディスクの外縁近くに配置し(CAVドライブで読み取る場合)、かつ実行のためメモリ内に順次ロードされるファイルをグループ化するようにフォルダおよびファイルの集合(collection)をディスク上に好ましくレイアウトする順序を一般に指定することが可能である。
自動ソフトウェアツールは、集合のフォルダおよびファイルのセグメント内への配置を開始し、フォルダまたはファイルがセグメントの残りの利用可能なスペース内にフィットしなくなるまで、セグメントをフォルダおよびファイルでフィル(fill)する。次いでこのソフトウェアツールは、カレントセグメントと次のセグメントの間のプレースホルダを移動し、それによってフォルダまたはファイルをその2つのセグメントの一方に効率的にフィット(fit)させることを試みる。例えば、このソフトウェアは、カレントセグメント内に配置された最後のフォルダまたはファイルに対してプレースホルダを移動して、現在配置されているフォルダまたはファイルを次のセグメント内に配置することができ、あるいは、利用可能なスペースを増大させるようにプレースホルダを移動し、カレントセグメントの増大した利用可能なスペース内に、配置されているファイルまたはフォルダを配置することができる。しかし、プレースホルダのどんな移動も、プレースホルダを配置することができる位置を決定する事前定義された規則に従って、ソフトウェアツールによって自動的に行わなければならない。このようにしてプレースホルダを移動しても、配置されているフォルダまたはファイルがカレントセグメント内にフィットしない場合、または配置された最後のフォルダまたはファイルに対して、事前定義された規則に違反することなくプレースホルダを移動することができない場合、カレントセグメント内に配置された最後のフォルダまたはファイルとプレースホルダとの間に空スペースまたはギャップを残す可能性のある次のセグメント内に、フォルダまたはファイルを配置することが試みられる。次いで、カレントセグメントで行われた方法と同じ方法を利用して、配置がうまく達成されるか、または最後の層の終わりに達するまで、次のセグメント内にフォルダまたはファイルを配置することが試みられる。フォルダまたはファイルをこの自動的手法によってうまく配置することができない場合、未配置のファイル記憶域に移される。
ディスク上のフォルダおよびファイルの配置は、最外部セグメントから最内部セグメントに向かって連続的にセグメントをフィルすることが好ましい。記憶媒体の一方の層をフィルした後にフォルダまたはファイルが残る場合、フォルダおよびファイルのすべてを処理するまで、他方の層上の連続するセグメントがフィルされる。この場合も、セグメント内にうまく配置されなかったフォルダおよびファイルは一時的に未配置のファイル記憶域内に置かれる。次いでユーザは、フォルダおよびファイルを、未配置のファイル記憶域からセグメント内に手動で配置することが可能となる。さらにユーザは、従来のファイル管理プログラムを使用して、セグメント内のファイルを追加、削除、移動することができる。ユーザによってレイアウトに対する変更が手動で行われたとき、その変更に応答して、ソフトウェアツールは、レイアウト内のファイルを、変更が行われた時点の後にシフトすることを試みる。
本発明の一実施形態では、フォルダまたはファイルを次のセグメント内に配置した後に、セグメント内の任意の空スペースまたはギャップをバックフィル(backfill)することが試みられる。別の実施形態では、単にセグメント内の空スペースまたはギャップが未フィル(unfilled)のままにされる。一実施形態では、プレースホルダがその元の位置に最も近くなる方向に、プレースホルダを移動することが試みられる。別の実施形態では、カレントセグメント内の空スペースを最小にするようにプレースホルダを移動することが試みられる。
このソフトウェアツールにより、各セグメント内に配置されたフォルダおよびファイルをユーザがレイアウトビューで閲覧することが可能となる。このレイアウトビューは、ファイルを自動的に、または手動で配置したセグメントを示す。ファイルはグループ化することもでき、そのグループは、あたかも単一ファイルであるかのように移動され、または削除される。しかし、グループ化したファイルは、プレースホルダを跨いで延在するように配置することはできず、まずファイルをグループ化解除しないと、グループからファイルを削除したり、またはファイルをグループに追加したりすることはできない。層上のファイルの配置に応じてファイルをメモリ内にロードすることのできる相対速度を示すために、インジケータが提供される。ツリービューは、集合内のファイルのフォルダ階層ビューを表示する。
本発明の別の態様は、複数のセグメントを有する記憶媒体上に格納するためにファイルを自動的にレイアウトするためのシステムに関する。このシステムは、複数の機械命令が格納されるメモリと、複数のファイルおよび複数のセグメントが、記憶媒体上の隣接するセグメントを分離する複数のプレースホルダのそれぞれの配置と共に示されるディスプレイと、ユーザ入力装置と、メモリ、ディスプレイ、およびユーザ入力装置に結合されるプロセッサとを含む。プロセッサは、メモリ内に格納された機械命令を実行し、一般に上記で論じた方法のステップと一貫した複数の機能を実施する。
本発明の前述の態様と付随する利点の多くは、添付の図面に関連する以下の詳細な説明を参照することによってより容易に理解されよう。
発明を実施するための例示的システム
図1と、それに関する以下の議論は、本発明を実装することができる適切なコンピューティング環境の簡潔な一般的説明を与えるためのものである。本発明は、図1に示す機能構成要素を一般に含む1つ以上のコンピューティング装置を使用して実施することが好ましい。必須ではないが、本発明を、処理装置によって実行されるプログラムモジュールなどのコンピュータ実行可能命令を使用するものとして説明する。一般にプログラムモジュールは、特定のタスクを実行し、または特定の抽象データタイプを実装するアプリケーションプログラム、ルーチン、オブジェクト、コンポーネント、関数、データ構造などを含む。さらに、ハンドヘルド装置、ポケットパーソナルコンピューティング装置、アプリケーションプログラムを実行し、かつネットワークに無線で接続するように適合されたデジタル携帯電話、他のマイクロプロセッサベースのプログラム可能な消費者向け電子機器、マルチプロセッサシステム、ネットワークパーソナルコンピュータ、ミニコンピュータ、メインフレームコンピュータなどを含む他のコンピュータシステム構成を用いて本発明を実施できることが予想されることを当業者は理解されよう。
図1を参照すると、本発明を実装するための例示的システム(サーバまたはクライアントに対応する)は、処理ユニット21、システムメモリ22、およびシステムバス23を備えるパーソナルコンピュータ20の形態の汎用コンピューティング装置を含む。システムバスは、システムメモリを含む様々なシステム構成要素を処理ユニット21に結合し、様々なバスアーキテクチャのうちのいずれかを用いたメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含むいくつかのタイプのバス構造のうちのいずれでもよい。システムメモリは、読取り専用メモリ(ROM)24およびランダムアクセスメモリ(RAM)25を含む。スタートアップ時などにパーソナルコンピュータ20内の要素間で情報を転送するために使用される基本ルーチンを含む基本入出力システム(BIOS)26が、ROM24内に格納される。パーソナルコンピュータ20は、ハードディスク(図示せず)を読み書きするためのハードディスクドライブ27と、取外し可能磁気ディスク29を読み書きするための磁気ディスクドライブ28と、CD−ROMまたは他の光媒体などの取外し可能光ディスク31を読み書きするための光ディスクドライブ30とをさらに含む。ハードディスクドライブ27、磁気ディスクドライブ28、および光ディスクドライブ30は、それぞれハードディスクドライブインターフェース32、磁気ディスクドライブインターフェース33、および光ドライブインターフェース34によってシステムバス23に接続される。各ドライブと、それに関連するコンピュータ可読媒体は、パーソナルコンピュータ20に対して、コンピュータ可読機械命令、データ構造、プログラムモジュール、イメージファイル、および他のデータの不揮発性記憶を提供する。本明細書で説明する例示的環境では、ハードディスク、取外し可能磁気ディスク29、および取外し可能光ディスク31を利用するが、磁気カセット、フラッシュメモリカード、デジタルビデオディスク(DVD)、ベルヌーイカートリッジ、RAM、ROMなど、コンピュータでアクセス可能な、イメージファイルおよび他のデータを記憶することのできる他のタイプのコンピュータ可読媒体もこの例示的動作環境で使用できることを当業者は理解されよう。
オペレーティングシステム35、1つ以上のアプリケーションプログラム36、他のプログラムモジュール37、およびプログラムデータ38を含むいくつかのプログラムモジュールを、ハードディスク、磁気ディスク29、光ディスク31上に、あるいはROM24またはRAM25内に格納することができる。ユーザは、キーボード40、グラフィックスパッド、およびポインティングデバイス42などの入力装置を介して、パーソナルコンピュータ20にコマンドおよび情報を入力することができる。他の入力装置(図示せず)には、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどを含めることができる。これらおよび他の入出力(I/O)装置はしばしば、システムバス23に結合されるI/Oインターフェース46を介して処理ユニット21に接続される。I/Oインターフェースという用語は、各インターフェース、具体的にはシリアルポート、パラレルポート、ゲームポート、キーボードポート、および/またはユニバーサルシリアルバス(USB)、ならびに他のタイプのデータポート用に使用されるインターフェースを包含するものとする。モニタ47または他のタイプのディスプレイ装置も、ビデオアダプタ48などの適切なインターフェースを介してシステムバス23に接続され、アプリケーションプログラム、ウェブページ、元のイメージファイルおよび解凍したイメージファイル、および/または他の情報を表示するために使用することができる。モニタに加えて、サーバは、スピーカ(ここでは別々に図示していない、サウンドカードまたは他の音声インターフェースを介して)およびプリンタなどの他の周辺出力装置(図示せず)に結合することができる。
パーソナルコンピュータ20は、リモートコンピュータ49などの、1つ以上の他のコンピュータにパーソナルコンピュータ20を接続する論理接続を使用するネットワーク環境内に含めることができる。リモートコンピュータ49は、サーバ、ルータ、ネットワークPC、ピア装置、またはサテライト、あるいは他の共通ネットワークノードでよく、一般にはパーソナルコンピュータ20に関連して上記で説明した要素のうちの多く、またはすべてを含むが、図1には外部メモリ記憶装置50だけを示してある。図1に示す論理接続は、ローカルエリアネットワーク(LAN)51およびワイドエリアネットワーク(WAN)52を含む。このようなネットワーキング環境は周知であり、かつオフィス、企業全体のコンピュータネットワーク、イントラネット、およびインターネットで一般的なものである。
LANネットワーキング環境で使用されるとき、パーソナルコンピュータ20は、ネットワークインターフェースまたはアダプタ53を介してLAN51に接続される。WANネットワーキング環境で使用されるとき、パーソナルコンピュータ20は一般に、WAN52を介して通信を確立するためのモデム54、あるいはケーブルモデム、デジタル加入者線(DSL)インターフェース、または統合サービスデジタル網(ISDN)インターフェースなどの他の手段を含む。WAN52は、プライベートネットワークまたはインターネットでよい。モデム54は内蔵でも外付けでもよく、システムバス23に接続され、またはI/O装置インターフェース46、すなわちシリアルポートを介してそのバスに結合される。ネットワーク環境では、パーソナルコンピュータ20に関して示したプログラムモジュールまたはその一部は、リモートメモリ記憶装置内に格納することができる。ここで示したネットワーク接続は例示的なものであって、無線通信および広帯域ネットワークリンクなど、コンピュータ間の通信リンクを確立する他の手段も使用できることを理解されたい。
発明の概要
上記で説明したように、ほとんどのソフトウェア開発者は、DVDなどの光符号化ディスク上にフォルダおよびファイルを分散させるための好ましい順序を有することになる。この順序は、ディスク上のその半径方向相対位置に基づいてファイルをロードする速度を含む、いくつかの要素によって決定される。前述のように、例えばDVDの外側に配置されるファイルは、DVDの内側のファイルよりもCAVタイプドライブを使用して比較的高速に実行するためにメモリ内に読み取られる。加えて、実行するためにメモリ内に順次ロードしなければならないファイルは、ディスク上でグループ化して、普通ならファイルが格納される可能性のあるディスク上の異なる位置の間をDVDドライブの読取りヘッドが移動することによって引き起こされる遅延を最小にすることが好ましい。さらに、ドライブの読取りヘッドが層の間を移行するときに遅延が増大するので、同じ層上で順次ロードされるファイルにアクセスすることがより効率的である。したがって、開発者は、ソフトウェア製品をエンドユーザに配布するディスクを製造するマスタとして使用されるDVDまたは他の記憶媒体上に格納するために、フォルダおよびファイルを配置することを望むことになる。本発明は、ファイルの適切な順序を決定するプロセスを自動化せず、その代わりに、開発者、またはソフトウェア製品のファイルレイアウトを担当する他の人にその決定をゆだねる。
従来のDVDを使用して、フォルダおよびファイルが所望の順序で配置されるフォルダ構造を格納する場合、ファイルをディスク上に置くプロセスを自動化する必要はほとんどないことになる。しかし、本発明は、8個のセキュリティプレースホルダがある事前定義された規則に従ってディスク上の異なる位置にランダムに配置されるセキュアDVD内のフォルダおよびファイルのレイアウトを自動化する。これらの8個のセキュリティプレースホルダは、ソフトウェア製品のファイルを格納するための、層あたり約3.2GBの記憶スペースを利用可能にしたまま、ディスクの各層を様々なサイズセグメントに分割する。新しいオーサリングセッションが開始されたとき、セキュリティ要件に順応してフォーマットされるディスクの作成が、ソフトウェアツールによって実施される。新しい空レイアウトフォーマット上のプレースホルダのこの初期配置は、開発者または他のユーザと対話することなく、事前定義された規則を適用することによって自動的に決定される。事前定義された規則は、意図的にソフトウェア製品の開発者に開示されないからである。
フォルダおよびファイルをレイアウトすべきセキュアディスクのフォーマットの作成に関係するステップを図10に示す。ステップ212では、ソフトウェアは、層0に対する8個のセキュリティプレースホルダと、層1に対する8個のセキュリティプレースホルダとを使用して、17個の可能な位置から16個のプレースホルダ位置を選択する。層0は、相対的深さの点でDVDの最上層であり、層1は、層ゼロの下に配置される。ステップ214では、各層上のプレースホルダを、事前定義された規則によって決定される規準位置に配置する。しかし、ステップ216で示すように、各プレースホルダの位置は、ランダム変動値(random variation)を導入することによって修正される。各プレースホルダに適用されるランダム変動値は、事前定義された規則によって決定される限度内であり、実際には擬似乱数値(すなわち、シード数に基づく乱数)である。したがって、これらのランダム変動値と、プレースホルダについての17個の可能な位置から16個の位置を任意に選択するために、各オーサリングセッションで提供されるプレースホルダの位置は一般に異なる。
この事前定義された規則により、層0上のプレースホルダが層1上のプレースホルダと重なり合わないことが要求される。エンドユーザに配布するディスク上にセキュリティプレースホルダを含めることにより、従来のコピー技法を使用してディスクをコピーすることが比較的難しくなる。あるソフトウェア製品と別のソフトウェア製品でプレースホルダの位置を変えることにより、プレースホルダの配置を定義する規則は容易には発見することができない。この事前定義された規則は、本発明に関係せず、本発明を実施するために必要ではないので、この事前定義された規則に関するこれ以上の詳細を本明細書で論じる必要はない。ユーザは常にセキュリティプレースホルダを手動で再配置することを許可されておらず、かつ可能でないことを理解されたい。プレースホルダの位置のどんな変更も、事前定義された規則によって制約されるソフトウェアツールによって実施される。
図11に、記憶媒体上にファイルをレイアウトするために本発明で使用するステップ全体を示す。スタートブロックの後、ステップ222は、ユーザがハードドライブ上にファイルを配置することを実現する。このステップは、記憶媒体上の、プレースホルダによって定義されるセグメント内にレイアウトされることになるファイルの集合(collection)内に含めるべきファイルを選択することを含む。ユーザが本発明を利用できるようになる前に、本発明を含むソフトウェアツールを実行するパーソナルコンピュータを介してアクセス可能なハードドライブまたは他の記憶装置上に、ステージングエリアを定義しなければならない。このステージングエリアは、ソフトウェアツールを用いてレイアウトした後にユーザがディスク上に置くことを望むファイルおよびサブフォルダのすべてを含むフォルダである。ユーザがステージングエリアとして指定したフォルダ内に、任意の数のファイルおよびサブフォルダを含めることができ、このファイルおよびサブフォルダは、記憶媒体に関する最終レイアウトに対してユーザが望むのと同様にレイアウトすべきである。ステージングエリアに関するどんなファイルの移動、コピー、リネーム、または削除も、オペレーティングシステムのファイル管理機能、例えばMicrosoft(登録商標)CorporationのWINDOWS(登録商標)オペレーティングシステムのエクスプローラ(登録商標)プログラムを使用して実行しなければならない。本発明を有するソフトウェアツールが行えることは、記憶媒体上に配置すべきフォルダおよびファイルを選択する際に開発者または他のユーザを援助し、その媒体のセグメント内にフォルダおよびファイルを自動的にレイアウトすることだけである。
ステップ224では、ユーザは、ファイル集合に対してユーザが指定したファイルまたはフォルダのいずれかがソフトウェアツールによって配置される前に、記憶媒体ディスクセキュリティフォーマットに対応する空レイアウトを生成する。図8に、本発明により提供されるレイアウトビューでの例示的空きセキュアレイアウト170を示す。この中に示すように、複数の垂直列は、名前列172、フォルダ列174、サイズ列176、およびセクタ範囲列178を含む。このレイアウトはファイル集合からのフォルダまたはファイルをまだ含んでいないので、レイアウトビューの下部のステータス行は、層0ではファイルが0個で、ファイル記憶域が0バイトであることを示す。名前列172では、(この例では)62KBのサイズを有する初期空セグメント180がセクタ1から31を占有し、この空セグメントの後に、4KBのサイズを有するボリューム記述子182が続き(ただし層0上のみ)、セクタ32から33を占有する。その後に、空セグメント184がセキュリティプレースホルダ186と交互に並ぶ。この例を調べることにより、空セグメントは異なるサイズであることが明らかとなろう。ユーザがこのソフトウェアツールを使用して新しいオーサリングセッションを開始する場合、空セグメントのサイズと、セキュリティプレースホルダの位置は、一般に図8の例に示すものとは異なる。
再び図11を参照すると、ステップ226では、ユーザは、ファイルの集合をソフトウェアツールによって生成されたレイアウト中にインポートする。このステップにより、ソフトウェアツールは、ステップ228に示すように、ステップ224で生成された記憶媒体の連続するセグメント内でのファイルおよびフォルダのレイアウトを開始する。ステップ228の詳細を以下で説明する。
ソフトウェアツールがファイルおよびフォルダの初期レイアウトを完了した後、ユーザは、一般にレイアウトを評価して、それが許容されるかどうかを判定することになる。このステップでは、ユーザはファイルの順序を変更し、セグメント中の任意の空スペースをバックフィルし、ソフトウェアツールの自動化技法によって配置することができなかった任意のファイルを手動で配置することができる。判定ステップ232により、レイアウトが許容されるかどうかをユーザが示すことが可能となる。レイアウトが許容されない場合、ステップ234では、ユーザは、ファイルマネージャプログラムを使用してセグメント内のファイルを再配置することによってレイアウトを修正することができる。加えて、ユーザは、ファイルマネージャプログラムを用いて、レイアウト内のセグメントに対してファイルを削除または追加することができる。ファイルマネージャプログラムは、ユーザによって変更が行われた点を超えてソフトウェアツールにファイルをシフトさせることになる。レイアウトが許容されるものとなった後、ステップ236では、レイアウトの所望のフォーマットへのプレマスタリング、認証プロセスへの服従、または他のある目的が提供される。例えばレイアウトは、ブランク磁気テープにプレマスタすることができ、または認証機関または他のあるエンティティに電子発信することができる。
フォルダおよびファイルのレイアウト内への自動配置の詳細
図12に、記憶媒体中のレイアウトに対してインポートされた集合内にフォルダおよびファイルをレイアウトするために、ソフトウェアツールによって実施される論理ステップ228を示す。ステップ250では、ソフトウェアツールは、幅順に並べられたフォルダのリストを構築する。言い換えれば、このリストは、最初に所与のレベルのすべてのフォルダおよびファイルと、その後に続いてすぐ下のレベルのすべてのフォルダおよびファイルと、その後に続いてさらに下のレベルのすべてのフォルダおよびファイルとを含む。判定ステップ252は、リストまたは集合内のすべてのフォルダおよびファイルを処理し終えた時を検出するために、リストが空であるかどうかを判定する。リストが空である場合、この処理はステップ254で完了する。逆にリストが空でない場合、ステップ256では、リストからフォルダを選択する。少なくともルートフォルダは常に存在するので、ルートフォルダは、処理する最初のフォルダとなることになる。次いで判定ステップ258は、記憶媒体ディスクの現在の層が層0であるかどうかを判定し、層0である場合、判定ステップ260は、記憶媒体上に配置すべきカレントフォルダ内にファイルがあるかどうかを判定する。ファイルがある場合、判定ステップ262は、カレントセグメント、または現在の層上の任意の次のセグメント内にファイルを配置することが可能かどうかを判定する。可能である場合、ステップ264では、(以下でより詳細に説明するように)ファイルを配置する。その後、この論理は、判定ステップ260に戻り、記憶媒体中に配置すべきカレントフォルダ内にさらにファイルがあるかどうかを判定する。
カレントフォルダ内のファイルをすべて配置した後、この論理は、カレントフォルダを現在の層上のセグメント内に配置することができるかどうかを判定する判定ステップ266に進む。配置することができる場合、ステップ268では、セグメントのうちの1つの中にフォルダを配置する。次いでこの論理は判定ステップ252に戻り、フォルダおよびファイルのリストが空であるかどうかを判定する。
セグメント内のフォルダを現在の層上に配置することが可能でない場合、この論理は判定ステップ270に進む。このステップは、現在フィルされている層が層0であるかどうかを判定する。判定ステップ262で現在の層上のセグメントのどれにもファイルを配置することが可能でなかった場合に、この同じ判定ステップに達する。処理されているカレントファイル(current file)、またはカレントフォルダのどちらかを層0または層1内に配置することができなかった場合、そのファイルまたはフォルダは、未配置の記憶域に移される。この未配置の記憶域は、記憶媒体上で利用可能なスペース内へのファイルまたはフォルダのフィッティングをどの程度良好に処理するかをユーザが手動で決定することができるまで、少なくとも一時的にこのような未配置のファイルまたはフォルダを格納する。ステップ272に続いて、自動的に配置する次のフォルダまたはファイルがないので、論理は終了する。
判定ステップ270での現在の層が層0である場合、この論理はステップ274に進み、そこでカレントファイルまたはフォルダを配置するために層1に切り換える。次に、ステップ276では、カレントフォルダを層1上のセグメント内に配置し、判定ステップ278は、配置したカレントフォルダ(current folder)内にファイルがあるかどうかを判定し、ファイルがある場合、判定ステップ280は、フォルダからのカレントファイルを層1上のセグメント内に配置することが可能かどうかを判定する。配置することが可能である場合、それに応じてステップ282でファイルを配置する。次いでこの論理は判定ステップ278に戻り、フォルダ内に配置すべき別のファイルがあるかどうかを判定する。
判定ステップ280で、層1上にファイルを配置することが可能でなかった場合、この論理は判定ステップ270に戻り、この論理の層1に対する判定の結果として、ステップ272に進み、配置することができなかったファイルを未配置の一時記憶域内に移す。
判定ステップ278では、フォルダ内にファイルが存在しない場合、この論理は判定ステップ252に戻る。リスト中に別のフォルダがあると想定して、この論理はステップ256に進み、リストからフォルダを選択し、判定ステップ258で、ファイルが層1上に現在配置されていると判定することになり、その結果判定ステップ284に進む。この判定ステップは、カレントフォルダを層1上に配置することができるかどうかを判定する。配置することができる場合、この論理は再度ステップ276に進み、フォルダを配置する。逆にフォルダを層1上のセグメント内に配置することができない場合、この論理は最終的に、判定ステップ270を通じてステップ272に進み、少なくとも一時的に、フォルダを未配置の一時記憶域内に配置する。
記憶媒体のセグメント内へのファイル(およびフォルダ)の配置の詳細
図13に、本発明に従って記憶媒体のセグメント内にファイルを配置するときに使用するステップに関する詳細を示す。図13の流れ図を簡単にするために、ファイルだけについて述べる。しかし、その中で開示される論理はセグメント内にフォルダを配置することにも同様に当てはまる。判定ステップ300は、配置されているファイルが、フォルダおよびファイルでフィルされているカレントセグ(current segment)内の利用可能なスペース内にフィットするかどうかを判定する。セグメントは、前述のようにプレースホルダの配置によって定義される。利用可能なスペースは、記憶媒体層の内側または外側の限界とプレースホルダとの間、あるいは2つの連続するプレースホルダの間となることになる。フィルされているカレントセグメント内にファイルがフィットする場合、ステップ302は単に、カレントセグメント内の直前に配置されたファイルの直後にファイルを配置する。その後、カレントファイルを配置するプロセスが完了し、この論理は図12のステップに戻る。しかし、現在配置されているファイルがカレントセグメントの利用可能スペース内にフィットしない場合、判定ステップ304は、先に配置したファイルに隣接するように、残りの利用可能スペースを定義するプレースホルダを外側に移動することができるどうかを判定する。
図2から図5に、記憶媒体100のセグメント内にファイルを配置することに関するステップの様々な態様を示す。図2では、記憶媒体100は、カレントセグメント内に既に配置したファイル102を含む。セキュリティプレースホルダ104は、セキュア記憶媒体が当初オーサリングセッションの始めに作成されたときに事前定義された規則によって決定された位置に配置される。ファイル106は現在配置されているが、図2から明らかな通り、セキュリティプレースホルダ104内に既に配置されているファイルとカレントセグメントの間に、不十分な利用可能スペースが残る。配置されているファイルを破線で示し、このサイズは、ファイル102の後ろに単に追加する場合、セキュリティプレースホルダ104を超えて延在するのに十分であり、このことは許可されない。
図3に、カレントセグメント内に先に配置されたファイル102に対して下向きに移動し、ファイル106を次のセグメント内のセキュリティプレースホルダの反対側に配置することを可能としたセキュリティプレースホルダ104′を示す。したがって、図3は、図13の判定ステップ304で企図されるプレースホルダの移動を示す。しかし、セキュリティプレースホルダのどんな移動も、記憶媒体内のセキュリティプレースホルダの配置を決定する事前定義された規則に適合しなければならない。したがって、判定ステップ304は、ファイル102に隣接するためのセキュリティプレースホルダ104′の移動が、セキュリティプレースホルダの位置を制御する事前定義された規則とコンフリクトしない位置にセキュリティプレースホルダを配置したままにする場合にだけ肯定的に応答することができる。
判定ステップ304の判定が肯定的である場合、図13の判定ステップ306は、現在配置されているファイルのための空き場所(room)を作成し、それによってカレントセグメント内に先に配置されたファイル102に対してそのファイルを隣接してそのファイルをカレントセグメント内にフィットさせるために、図4のセキュリティプレースホルダ104″で一般的に示すようにセキュリティプレースホルダを内側に移動することができるかどうかを判定する。やはりこの判定も、セキュリティプレースホルダ104″の新しい位置が各セキュリティプレースホルダの配置可能な配置を決定する事前定義された規則に適合する場合にだけ肯定的に応答することができる。
判定ステップ306に対する応答が否定的であると仮定すると、セキュリティプレースホルダは、ファイル102に対して隣接するように外側に移動し、カレントファイルは、図3に示し、かつ図13のステップ308に示すように、次のセグメント内に配置される。次いでこの論理は、処理しているカレントファイルに対して完了する。
あるケースでは、内側または外側にプレースホルダを移動して、カレントファイルを配置するために必要なスペースを供給することが可能である。そうである場合、判定ステップ310は、セキュリティプレースホルダの新しい配置、すなわち104′または104″のどちらがプレースホルダの元の位置、すなわちプレースホルダ104の配置により近いかを判定する。言い換えれば、このステップは、ディスクフォーマットが作成されたときのプレースホルダの元の位置からの変位の量を最小にするために、セキュリティプレースホルダを内側または外側のどちらの方向に移動しなければならないかを判定する。セキュリティプレースホルダが外側に移動した新しい位置、すなわちプレースホルダ104′が元の位置により近い場合、この論理はステップ308に進む。逆に、図4に示すようなプレースホルダ104″の変位がその元の位置により近い場合、この論理はステップ314に進む。このステップでは、プレースホルダは内側に移動し、ファイルはセキュリティプレースホルダ104″の新しい位置とカレントセグメント内に先に配置されたファイルとの間に配置される。ステップ308またはステップ314のどちらかの後、カレントファイルまたはフォルダの処理は完了する。
判定ステップ304を再び参照すると、カレントセグメント内に配置された先のファイルに隣接するようにプレースホルダを移動することができない場合、判定ステップ312は、プレースホルダを内側に移動して空き場所を作成することができるかどうかを判定する。やはり、プレースホルダのこのタイプの調節を図4に示す。セキュリティプレースホルダの変位に関する事前定義された規則に適合する位置にセキュリティプレースホルダを内側に移動することができる場合にだけ、この判定ステップは肯定的な応答をすることになる。そうである場合、この論理はステップ314に進み、プレースホルダを移動してファイルを配置した後、このフローチャートの論理がカレントファイルに対して行われる。
判定ステップ312での判定が否定的である場合、ステップ316は、図5に一般に示すように、プレースホルダを移動せず、次のセグメント内のカレントファイルをセキュリティプレースホルダの内側に向かって配置する。このことは、前のセグメント内に先に配置されたファイル102とプレースホルダ106との間の空スペース108を残すが、ほとんどの場合、大きいファイルを配置するのに必要なサイズよりもセグメントサイズが小さいのでない限り、このようにして次のセグメント内にファイルを配置することが可能である。この手法の欠点は、空スペース108をその空スペース内にフィットする別の小さいファイルで少なくとも一部分バックフィルすることができない限り、利用可能なディスク記憶スペースを浪費することである。空スペース108をバックフィルする代替方法はフローチャート内に図示していないが、このステップは、記憶媒体ディスク上の利用可能スペースの使用を改良することを企図する一代替実施形態である。図13のステップを完了した後、図12に一般的に示すように、このプロセスは(残りのファイルがある場合に)次のファイルを配置する。
図13のステップ316′で表される別の代替実施形態は、プレースホルダの配置に関する事前定義された規則によって課される制限内で可能な限り外側に(すなわち図2のファイル102に向かって)プレースホルダを移動し、次いでそのように移動したプレースホルダの内側の次のセグメント内にファイルを配置することを実現する。カレントファイルは、プレースホルダに隣接する。この実施形態は完全に空スペース108を解消しないが、カレントファイルを次のセグメント内に配置した後にプレースホルダの内側に残るカレントセグメント内の空スペースの量を削減する。
判定ステップ310に対するさらに別の代替方法も企図される。(事前定義された規則によって課された制約に違反することなく)カレントファイルのための空き場所を作成するためにプレースホルダを内側または外側に移動することができる場合、判定ステップ310′は、プレースホルダの内側または外側の移動が、プレースホルダが外側に移動し、かつファイルが次のセグメント内に配置される場合は、先に配置されたファイルとプレースホルダとの間の空スペースを最小にするかどうか、あるいは、プレースホルダが内側に移動し、かつファイルがカレントセグメント内に配置される場合は、配置されているファイルとプレースホルダとの間の空きスペースを最小にするかどうかを判定する。カレントセグメント内の空スペースの量を最小にする方向が、各プレースホルダの配置を決定する事前定義された規則と適合させて、プレースホルダを移動するために選択される。このようにしてプレースホルダを外側に移動すべきであると判定した場合、この論理はブロック308に進み、逆に、プレースホルダを内側に移動すべきであると判定した場合、この論理はブロック314に進む。
本発明の現在好ましい実施形態では、いくかの制限がある。本発明のソフトウェアツールは幅順のフォルダの順序に基づいてフォルダおよびファイルを自動的に配置するので、メモリ媒体上のソフトウェアツールによるファイルおよびフォルダの所望の順序は、開発者が望む所望の順序を近似することしかできない。さらに、セグメント内に残っている任意の利用可能スペース内の、層0または層1のどちらかにフィットさせるには大き過ぎるファイルおよびフォルダは、未配置のファイル記憶域内に残されることになり、ディスクレイアウト上に手動で配置する必要がなくなる。したがって、このソフトウェアツールにより、開発者は、記憶媒体ディスクのレイアウトによって課された制約内ではあるが開発者が望む通りに、セグメント内のメモリ媒体上のファイルおよびフォルダを手動で配置し、自動レイアウトによって達成された順序を修正するためのオプションを得る。
異なるセグメント内のファイルの自動位置決めは、完全にユーザの好みとはならない可能性があるので、ユーザは、Microsoft(登録商標)CorporationのWINDOWS(登録商標)エクスプローラ(登録商標)などのファイル管理プログラムを使用して、ファイルを移動し、ファイルをコピーし、ファイルをリネームし、ユーザのハードドライブ上のステージングエリア内のファイルを削除することができる。オペレーティングシステムファイル管理プログラムを用いて変更を行うときにソフトウェアツールが動作している場合、ソフトウェアツールは、ステージングエリアに対して変更が行われたという通知で、ユーザにプロンプト指示することになる。1つ以上のファイルのサイズが変化したが、新しいファイルが追加されなかった場合、ソフトウェアツールは、セグメント内のファイルおよびフォルダの配置を、その順序を変更することなくシフトすることによって、記憶媒体上のファイルの自動レイアウト内でサイズの変化に適応することを試みることになる。ファイル管理ソフトウェアを使用してファイルをリネームした場合、ファイル管理ソフトウェアは、記憶媒体ディスク上のファイルの配置を変更することなく、レイアウト内のファイルをリネームすることを試みる。1つ以上のファイルをファイル管理プログラム(例えば、エクスプローラ(登録商標))を使用して削除する場合、ソフトウェアツールは、記憶媒体ディスク上のファイルのレイアウトからそのファイルを削除し、残りのファイルのすべて(すなわち、ファイルが削除された点の内側のファイル)を下方にシフトし、削除によって生成されたギャップをフィルすることを試みる。ファイル管理プログラムを使用してファイルが追加された場合、ソフトウェアツールは、追加された最初のファイル位置から開始して、再びセグメント内にファイルを配置することによって、そのファイルをディスクレイアウトに自動的に追加することを試みることになる。
最後に、ユーザがファイルを移動する場合、ソフトウェアツールは、他の影響を受けるファイルを自動的に移動することによって、移動したファイルをレイアウト内に収容することを試みることになる。例えば、ファイル「a」がディスクの外縁に最も近いとして、順序a,b,c,d,e,fでディスク上に自動的に配置されたファイルをユーザが有し、ユーザがファイル「e」および「f」の間の位置にファイル「c」を移動すると決定した場合、新しい順序は、a,b,d,e,c,fとなることになる。ユーザがこのようにしてファイル「c」の移動の指定を終了した後、ソフトウェアツールは、元々配置されたセグメント内のファイル「a」および「b」に関するレイアウトを保持することになるが、残りのファイルc,d,e,fのすべてを削除し、次いでそれらを、カレントプレースホルダ位置を使用して上述の手順に従って再配置することになる。プレースホルダ位置は、一般に前述のように、説明したセグメント上でのファイルの再配置とのコンフリクトが起こった場合にだけ修正されることになる。このプロセスは、ファイルの集合に対してユーザが変更を行う限り反復される。
フォルダツリービューおよびレイアウトビュー
記憶媒体ディスクのセグメント内にファイルおよびフォルダをレイアウトする際に本発明で使用するためのステージングエリアでのファイルの集合の作成を容易にするために、ソフトウェアツールは、フォルダツリービューおよびレイアウトビューを含む2つの異なるビューを提供する。例示的フォルダツリービュー110を図6に示す。フォルダツリービュー110は、階層フォルダツリーウィンドウ112、および詳細ウィンドウ114を含む。このビューについての列見出しは、階層フォルダツリーウィンドウについてのフォルダ列132を含み、選択したフォルダ内の各ファイル(またはフォルダ)が集合内に含まれているかどうかを示すマークを含むインジケータ列134、フォルダおよびファイルがラベルされる名前列136、各ファイルのバイトサイズを与えるサイズ列138、ファイルのタイプを示す(またはフォルダを示す)タイプ列140、日付変更列142、および(集合内に含まれる)ファイルまたはフォルダが現在配置されている層を示す位置列144を含む。階層フォルダウィンドウ112は、ステージングエリアのフォルダコンテンツを表示する。このビューは、WINDOWS(登録商標)エクスプローラ(登録商標)で提供されるフォルダツリービューと類似しているが、フォルダまたはファイルの追加、削除、リネーム、または移動の点での同じ機能を可能にしない。
図7(a)に、例示的ゲームディスクルート116を示す。ステージングエリアのルートをゲームディスクルートと呼ぶ拡張可能なディスクとして示す。この例や図6では、ゲームディスクルートノードは除外可能ではなく、集合に含まれているのか、それとも除外されているのかを示すチェックボックスを有さないが、本発明の新しい実施形態により、ゲームディスクルートノードを除外することが可能となる。図7(a)に示すように、サブフォルダインジケータ150は、ゲームディスクルートがサブフォルダを含むことを示し、フォルダツリーウィンドウがサブフォルダを示すことを示す破線を含む。ディスクルート識別子152は、ラベル154のように与えられる。ゲームディスクルートの1レベル下のサブフォルダは、参照番号118によって識別され、これらのサブフォルダはそれぞれ、インクルードチェックボックス156を含む。チェックボックス156中のチェックマークは、ディスク上にレイアウトされているか、またはレイアウトされることになる集合内にサブフォルダが含まれることを示している。フォルダアイコン158は、サブフォルダとしてエントリを識別し、各サブフォルダは、それ自体のラベル154を備える。新しい実施形態は、ゲームディスクルート116についてのチェックボックスと同様のチェックボックスも提供する。
サブフォルダの例であるサブフォルダ118を図7(b)に示す。このサブフォルダ118はサブフォルダを有さない。図7(c)に、フォルダツリーウィンドウ内に表示されるサブフォルダを有し、集合内に含まれるサブフォルダを指定する例を示す。サブフォルダ118の下は、別のレベルのサブフォルダ120であり、その例を図7(d)に示す。同様に、サブフォルダ120の下は、別のレベルのサブフォルダ124であり、そのレベルのサブフォルダの下は、さらに別のレベルのサブフォルダ126である。図7(e)に、チェックボックス156′がチェックされていないので、集合内にどれも含まれないサブフォルダを有するサブフォルダを示す。図7(f)では、カレントフォルダの下の、包含され、除外されるファイルおよびサブフォルダの混合を含むサブフォルダを示し、このステータスは、チェックボックス156"内の塗りつぶされた正方形のマークで示される。
図6のフォルダツリー構造により、本発明が、記憶媒体ディスクのセグメント内のフォルダおよびファイルを自動的に配置するときに、フォルダおよびファイル幅をまずどのように処理するかが明らかとなる。ソフトウェアツールが、ルートディレクトリ内ファイルのすべてと、その後に続くサブフォルダ118のすべてと、その後に続くサブフォルダ120のすべてと、その後に続くサブフォルダ122のすべてと、その後に続くサブフォルダ124のすべてと、その後に続くサブフォルダ126のすべてのファイルなどが処理され、その結果、連続する各レベルのサブフォルダおよびその中に含まれるファイルが、次の下位レベルが処理される前に処理されることは明らかであろう。図示する例では、ゲームディスクルートは、記憶媒体ディスク内に最初に配置される3つのファイル128を含む。その後に、フォルダ118が処理され、その結果、これらの各フォルダ内のすべてのファイルが、記憶媒体ディスクのセグメント内に次々に配置される。
図9に、本発明に従って、ソフトウェアツールによってファイルおよびフォルダで部分的にフィルされたディスクのレイアウトビューを示す。図8の記憶媒体ディスクの初期空フォーマットに関して上記で述べたように、セキュリティプレースホルダ184は、セグメント186を定義する。その中にファイルが配置されていない場合、セグメントは空である(この用語は部分的にフィルされたセグメントを指すためにも用いる)と識別される。ファイル188は、図9に示すセグメントの部分内に配置されており、その対応するフォルダ名190が列174内にリストされる。フォルダ192は、サブフォルダ「媒体」のサブフォルダとして含まれる。この実施形態では、サブフォルダ内の最初のファイルは、フォルダエントリの下にリストされるが、フォルダ内のすべての他のファイルは、フォルダエントリの上の記憶媒体ディスク上に配置される。フォルダエントリは、単にフォルダに関するメタデータを示す。フォルダ内の最初のファイルが、フォルダ名に先行する理由は、しばしば実行可能ファイルである最初のファイルの、より迅速なローディングを可能にすることである。この例では、サブフォルダ194は、サブフォルダ196と同様に2つのファイルだけを含む。フォントに関するサブフォルダは図示していない。フォントのうち2つのフォントファイルだけを図の底部に示す。レイアウトビューの底部のステータス行は、合計54個のファイルが層0上に配置されており、この54個のファイルが記憶域の9.23MBを占有していることを示している。レイアウトビューの左縁はローディング速度インジケータ198であり、通常は左下隅の濃い緑色から、左上隅の明るい赤色まで延在する色であり、記憶媒体ディスク上にレイアウトされるファイルをメモリ内にロードすることができる相対速度を示す。例えば、CAVタイプドライブ上で、ディスクの外縁近くに配置されるファイルは、内縁近くに配置されるファイルよりも迅速にロードされ、したがってインジケータ198は、レイアウトビュー内に表示されるファイルをメモリ内にディスクの外縁および内縁の間のその相対位置に基づいてロードするために読み取る相対速度を、ユーザが視覚的に知覚する助けとなる。したがって、レイアウトビューは、ファイルが配置されるセグメントに関する、記憶媒体ディスク上のファイルおよびフォルダの配置の視覚表現を提供する。ユーザは、未配置のファイル記憶域内に先に配置されたファイルを配置する際に、レイアウトビューを利用することができる。
本発明を実施する好ましい形態に関連して本発明を説明したが、本発明に対して、頭記の特許請求の範囲内で多くの修正を行えることを当業者は理解されよう。したがって、本発明の範囲は決して上記の説明に限定されず、頭記の特許請求の範囲を参照することによって完全に決定される。
本発明を実施するのに適した、パーソナルコンピュータ、サーバなどの汎用コンピューティング装置の機能ブロック図である。 配置されているが、カレントセグメント内の利用可能なスペース内にフィットしないファイルを示す概略図である。 配置されているファイルを次のセグメント内にフィットさせることを可能にする、カレントセグメント内に配置された最後のファイルに対するセキュリティプレースホルダの移動を示す概略図である。 配置されているファイルをカレントセグメント内にフィットさせるようにカレントセグメントの利用可能なスペースを増加するための、セキュリティプレースホルダの移動を示す概略図である。 セキュリティプレースホルダを移動することなく、次のセグメント内にファイルを配置することを示す概略図である。 ディスクのセグメント内にレイアウトすべきファイルの集合の例示的フォルダツリービューである。 フォルダツリービュー内のフォルダおよびファイルに関する様々な表示を示す図である。 プレースホルダを移動する前に、かつセグメント内にファイルを配置する前に、ディスク上のセグメントのサイズを示す例示的レイアウトビューを示す図である。 DVD上の層0のあるセグメント内にファイルを配置した後の例示的レイアウトビューを示す図である。 ディスク上にセキュアプレースホルダを配置することによってDVD上にセグメントを定義するためのステップを示す流れ図である。 セキュアフォーマットDVD上のフォルダおよびファイルのレイアウトを自動的に決定するためのステップを示す流れ図である。 DVDのセグメント内にフォルダおよびファイルを配置するための論理を示す流れ図である。 ファイルを収容するためにプレースホルダを移動するためのステップを示す流れ図である。
符号の説明
21 処理ユニット
22 システムメモリ
23 システムバス
24 読取り専用メモリ
25 ランダムアクセスメモリ
26 基本入出力システム
27 ハードディスクドライブ
28 磁気ディスクドライブ
29 取外し可能磁気ディスク
30 光ディスクドライブ
31 取外し可能光ディスク
32 ハードディスクドライブインターフェース
33 磁気ディスクドライブインターフェース
34 光ディスクドライブインターフェース
35 オペレーティングシステム
36 アプリケーションプログラム
37 他のプログラムモジュール
38 プログラムデータ
40 キーボード
46 I/O装置インターフェース(例:シリアル)
47 モニタ
48 ビデオアダプタ
49 リモートコンピュータ
50 外部メモリ記憶装置
51 ローカルエリアネットワーク
52 ワイドエリアネットワーク
53 ネットワークインターフェースまたはアダプタ
54 モデム
100 記憶媒体
102 カレントセグメント内に既に配置したファイル
104、104′、104″ セキュリティプレースホルダ
106 配置されているファイル
108 空スペース
110 フォルダツリービュー
112 階層フォルダツリーウィンドウ
114 詳細ウィンドウ
116 ゲームディスクルート
118 参照番号
120、122、124、126 サブフォルダ
128 ファイル
132 フォルダ列
134 インジケータ列
136 名前列
138 サイズ列
140 タイプ列
142 日付変更列
144 位置列
150 サブフォルダインジケータ
152 ディスクルート識別子
154 ラベル
156 チェックボックス
158 フォルダアイコン
170 空きセキュアレイアウト
172 名前列
174 フォルダ列
176 サイズ列
178 セクタ範囲列
180 初期空セグメント
182 ボリューム記述子
184 空セグメント
188 ファイル
190 フォルダ名
192 フォルダ
194、196 サブフォルダ
198 ローディング速度インジケータ

Claims (7)

  1. 記憶媒体ディスクのコピーを防ぐために提供されるプレースホルダによって互いに分離している複数のセグメントを有する前記記憶媒体ディスク上の複数のフォルダおよびファイル用の記憶域をレイアウトするためのツールであって、
    (a)前記記憶媒体ディスク上で記憶するために選択されたファイルの集合内の各フォルダおよび各ファイルを示し、前記記憶媒体ディスク上にレイアウトすべき前記ファイルを含むフォルダのフォルダツリービューディスプレイと、
    (b)アクチベートされたときに、前記記憶媒体ディスクのセグメント内に、ファイルの前記集合内の各フォルダおよびファイルを配置し、前記セグメント内にフォルダまたはファイルをフィットさせるようにセグメントに隣接するプレースホルダを移動することを試みる自動フォルダおよびファイル配置モジュールであって、前記プレースホルダが、各プレースホルダの前記配置を決定する事前定義された規則に従って移動することしかできない自動フォルダおよびファイル配置モジュールと、
    (c)前記記憶媒体ディスクの前記セグメント内の前記フォルダおよびファイルの配置を示すレイアウトビューディスプレイと
    を有することを特徴とするツール。
  2. 前記記憶媒体ディスクは複数の層を備え、前記レイアウトビューディスプレイは、
    (a)前記複数の層のうちの選択された1つ、および、
    (b)前記記憶媒体ディスク上にまだ配置されていない任意のフォルダおよびファイルを含む未配置のファイル記憶域
    の少なくとも一方に配置されたフォルダおよびファイルを選択的に示すことを特徴とする請求項1に記載のツール。
  3. 前記フォルダツリービューディスプレイは、
    (a)現在選択されているファイルおよびフォルダのうちの1つと、
    (b)任意の現在選択されているファイルまたはフォルダのバイトサイズとの少なくとも一方を示すステータスセクションと
    を有することを特徴とする請求項1に記載のツール。
  4. 前記レイアウトビューディスプレイは、ファイルの前記集合を含む前記フォルダおよびファイルを前記記憶媒体ディスクから読み取ることができる相対速度を前記記憶媒体ディスク上の前記フォルダおよびファイルの相対位置に基づいて示すインジケータを含むことを特徴とする請求項1に記載のツール。
  5. 前記記憶媒体ディスク内のファイルの位置の手動変更に応答して、前記複数のセグメント内にフォルダおよびファイルが自動的に再配置されることを特徴とする請求項1に記載のツール。
  6. 選択された隣接するファイルをグループ化してファイルのグループ化集合を生成することを可能にするグループ化オプションと、選択されたファイルのグループ化集合をグループ化解除することを可能にするグループ化解除オプションとをさらに有し、ファイルの前記グループ化集合は、単一ファイルのように前記記憶媒体ディスクの前記レイアウト内に自動的に再配置されることを特徴とする請求項1に記載のツール。
  7. マスタ記憶媒体ディスク上のファイルの前記集合のレイアウトを生成するために使用すべきフォーマットでプレマスタリング出力を生成するためのオプションをさらに有することを特徴とする請求項1に記載のツール。
JP2008070424A 2002-05-23 2008-03-18 ファイルをレイアウトするためのツール Pending JP2008181658A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/153,220 US6910116B2 (en) 2002-05-23 2002-05-23 Game disk layout

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002160592A Division JP2003346427A (ja) 2002-05-23 2002-05-31 ファイルをレイアウトするための方法、ツール、およびシステム

Publications (1)

Publication Number Publication Date
JP2008181658A true JP2008181658A (ja) 2008-08-07

Family

ID=29400533

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2002160592A Pending JP2003346427A (ja) 2002-05-23 2002-05-31 ファイルをレイアウトするための方法、ツール、およびシステム
JP2008070424A Pending JP2008181658A (ja) 2002-05-23 2008-03-18 ファイルをレイアウトするためのツール

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2002160592A Pending JP2003346427A (ja) 2002-05-23 2002-05-31 ファイルをレイアウトするための方法、ツール、およびシステム

Country Status (5)

Country Link
US (2) US6910116B2 (ja)
EP (1) EP1365304A3 (ja)
JP (2) JP2003346427A (ja)
CN (1) CN1286023C (ja)
TW (1) TWI253639B (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7536418B2 (en) * 2003-01-10 2009-05-19 At&T Intellectual Property Ii, Lp Preload library for transparent file transformation
US7734568B2 (en) * 2003-06-26 2010-06-08 Microsoft Corporation DVD metadata wizard
US7822793B2 (en) * 2005-04-01 2010-10-26 Microsoft Corporation User data profile namespace
US7644374B2 (en) * 2005-04-14 2010-01-05 Microsoft Corporation Computer input control for specifying scope with explicit exclusions
US20060287028A1 (en) * 2005-05-23 2006-12-21 Maciver Peter Remote game device for dvd gaming systems
US7702870B2 (en) * 2006-01-19 2010-04-20 Network Appliance Inc. Method and apparatus for defragmentation and for detection of relocated blocks
US20090204502A1 (en) * 2008-02-13 2009-08-13 Mrmoonlight Productions, Llc Digital media advertisement system and method
US8296339B2 (en) 2008-06-30 2012-10-23 Microsoft Corporation Disk image optimization
JP4557070B2 (ja) * 2008-09-09 2010-10-06 ブラザー工業株式会社 印刷装置のための制御装置、印刷装置、及び印刷装置の制御方法
US8156290B1 (en) 2009-04-23 2012-04-10 Network Appliance, Inc. Just-in-time continuous segment cleaning
US8898125B2 (en) * 2011-09-21 2014-11-25 Sony Corporation Method and apparatus for awarding trophies

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996005595A1 (fr) * 1994-08-08 1996-02-22 Sony Corporation Procede d'enregistrement de donnees, appareil d'enregistrement de donnees, support d'enregistrement sur disque, systeme informatique et procede destine a empecher la copie de donnees
JPH1196734A (ja) * 1997-09-22 1999-04-09 Sony Corp 編集システム及び表示装置並びにコンピユータ装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5706472A (en) * 1995-02-23 1998-01-06 Powerquest Corporation Method for manipulating disk partitions
US5787068A (en) * 1996-11-07 1998-07-28 Imation Corp. Method and arrangement for preventing unauthorized duplication of optical discs using barriers
US6401160B1 (en) * 1999-03-31 2002-06-04 Intel Corporation Method and apparatus to permit adjustable code/data boundary in a nonvolatile memory
MXPA02005662A (es) * 1999-12-07 2004-09-10 Data Foundation Inc Arquitectura de almacenamiento escalabable.
JP3862913B2 (ja) * 2000-02-15 2006-12-27 シャープ株式会社 ファイル処理装置及びコンピュータをファイル処理装置として動作させるためのプログラムを格納したコンピュータ読取可能な記憶媒体
JP3607153B2 (ja) * 2000-02-28 2005-01-05 シャープ株式会社 ファイル管理方法及び装置
US20020180803A1 (en) * 2001-03-29 2002-12-05 Smartdisk Corporation Systems, methods and computer program products for managing multimedia content
US6826645B2 (en) * 2000-12-13 2004-11-30 Intel Corporation Apparatus and a method to provide higher bandwidth or processing power on a bus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996005595A1 (fr) * 1994-08-08 1996-02-22 Sony Corporation Procede d'enregistrement de donnees, appareil d'enregistrement de donnees, support d'enregistrement sur disque, systeme informatique et procede destine a empecher la copie de donnees
JPH1196734A (ja) * 1997-09-22 1999-04-09 Sony Corp 編集システム及び表示装置並びにコンピユータ装置

Also Published As

Publication number Publication date
TWI253639B (en) 2006-04-21
EP1365304A3 (en) 2010-09-01
JP2003346427A (ja) 2003-12-05
EP1365304A2 (en) 2003-11-26
CN1459730A (zh) 2003-12-03
US20030221053A1 (en) 2003-11-27
US6910116B2 (en) 2005-06-21
US20050149586A1 (en) 2005-07-07
US7844792B2 (en) 2010-11-30
CN1286023C (zh) 2006-11-22

Similar Documents

Publication Publication Date Title
JP2008181658A (ja) ファイルをレイアウトするためのツール
AU2004208274B2 (en) Method and system for managing media file database
US9552843B2 (en) Media file access and storage solution for multi-workstation/multi-platform non-linear video editing systems
EP1402372B1 (en) Recording apparatus, medium, method, and related computer program
TWI425503B (zh) 資訊處理設備,資訊處理方法及電腦程式
CN107391669A (zh) 一种基于文件系统的多版本文件管理方法及装置
US8412753B2 (en) File creation API
US7136884B2 (en) File managing method and data recorder using the same, data reproducing apparatus, data recording/reproducing apparatus, and disk recorded by the file managing method
EP1497829B1 (en) Optimizing the recording on a rewritable interactive medium of revisions to an existing project on that medium
JP3511052B2 (ja) ブータブル固定パケットを再書込み可能な光学媒体
KR101589333B1 (ko) 영구 문서 모음 관리 기법
US20070083726A1 (en) Storage allocation per application
KR100692964B1 (ko) 가상디스크 구동방법 및 이를 위한 기록매체
White Apple Training Series: Mac OS X Support Essentials
JP4281066B2 (ja) デジタルコンテンツデータ処理装置およびプログラム
JP4698785B2 (ja) 電子カタログ更新システム
JP4821534B2 (ja) ファイル管理装置、ファイル管理方法及びプログラム
JP4277704B2 (ja) 情報記録装置、情報再生装置、情報記録再生装置、情報記録方法、及び記録媒体
JP6883740B2 (ja) 情報記録装置及びデータ消去方法
JP3467701B1 (ja) 不正複製防止機能付cd−rom
JP5316569B2 (ja) ファイル管理装置及びファイル管理方法
Schweikert An Optical Media Preservation Strategy: Appendix Workflows
JP2004038828A (ja) データ記憶媒体のメモリスペースを複数の仮想分割エリアに分割する方法
JP2011146119A (ja) コンテンツ再生装置及びこれに用いるファイル管理方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100209

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100723