(57)【特許請求の範囲】
【請求項１】
コンピュータシステムにストアされたファイルに、前記ファイルの作成に使用されたアプリケーションとは独立のウイルススキャンアプリケーションに関係するバージョン固有情報を提供する方法であって、
前記方法は、
前記ウイルススキャンアプリケーションからの要求に応答して、前記ファイルに関連付けられるバージョン固有属性であって、前記ウイルススキャンアプリケーションに関係するバージョン固有情報を含むバージョン固有属性を作成するステップと、
所定のファイルオペレーション要求を前記アプリケーションから受信して、前記作成されたバージョン固有属性を無効化することにより、前記バージョン固有属性を保守して前記ファイルに適切な更新を反映するステップと、
前記ウイルススキャンアプリケーションから前記バージョン固有属性を評価する要求を受け取るステップと、
前記バージョン固有属性を評価する要求に応答して前記バージョン固有属性を前記ウイルススキャンアプリケーションに提供するステップと、
前記提供されたバージョン固有属性が無効な場合に、バージョン固有属性を再作成して、前記ファイルに提供するステップと
を含み、
前記バージョン固有属性は、所定のファイルオペレーション要求が前記バージョン固有属性を無効化することに関連する情報を含むマスク情報を含み、前記無効化は前記マスク情報の評価に基づいて行われることを特徴とする方法。
【請求項２】
前記バージョン固有情報はウイルス定義ファイルのバージョンに関係する情報であることを特徴とする請求項１に記載の方法。
【請求項３】
前記所定のファイルオペレーション要求はファイルデータの更新であることを特徴とする請求項１に記載の方法。
【請求項４】
前記バージョン固有属性内にセキュリティ情報を提供するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
請求項１乃至４のいずれかに記載の方法を実行する、コンピュータ読み取り可能なコンピュータプログラム。
【請求項６】
コンピュータシステムにストアされたファイルにアクセスする方法であって、
前記ファイルは、前記ファイルの作成に使用されたアプリケーションとは独立のウイルススキャンアプリケーションによって提供される関連付けられたバージョン固有属性であって、前記ウイルススキャンアプリケーションに関係するメタ情報と、所定のファイルオペレーション要求がバージョン固有属性を無効化することに関連する情報を提供するマスク情報とを含むバージョン固有属性を有し、
前記方法は、
前記所定のファイルオペレーション要求を受信するステップと、
前記所定のファイルオペレーション要求が前記ファイルへのアクセスを無効化することに関係するものであるか否かを、前記マスク情報を評価することによって判定するステップと、
前記所定のファイルオペレーション要求が前記ファイルへのアクセスを無効化することに関係するものである場合は、前記バージョン固有属性を無効にした上で前記所定のファイルオペレーションを実行するステップと、
前記所定のファイルオペレーション要求が前記ファイルへのアクセスを無効化することに関係するものでない場合は、前記所定のファイルオペレーションが前記バージョン固有属性に依存するかどうかを判定し、依存すると判定され、さらに、前記バージョン固有属性が無効であると判定された場合には、前記バージョン固有属性を有効にするステップと
を含むことを特徴とする方法。
【請求項７】
請求項６に記載の方法を実行する、コンピュータ読み取り可能なコンピュータプログラム。
【請求項８】
コンピュータのファイルシステム内のファイルについてのバージョン固有情報を管理するコンピュータプロセスを実行する、コンピュータ読み取り可能なコンピュータプログラムであって、
コンピュータに、
バージョン固有情報を、前記ファイルについてのバージョン固有属性であって、前記ファイルの生成に使用されたアプリケーションとは独立のウイルススキャンアプリケーションに関係するメタ情報と、所定のファイルオペレーション要求が前記バージョン固有属性を無効化することに関連する情報を提供するマスク情報とを含むバージョン固有属性を生成する属性として格納するステップと、
所定のファイルオペレーション要求に応答して、マスク情報を評価することによって前記バージョン固有属性を無効化するステップと
を含むコンピュータプロセスを実行させるためのコンピュータプログラム。
【請求項９】
前記バージョン固有情報は前記ウイルススキャンアプリケーションに使用されるウイルス定義ファイルに関係する情報であることを特徴とする請求項８に記載のコンピュータプログラム。
【請求項１０】
前記所定のファイルオペレーション要求は前記ファイルの修正に関係することを特徴とする請求項９に記載のコンピュータプログラム。
【請求項１１】
前記バージョン固有属性は、複製、名前変更、またはバックアップのうちの１つのファイルオペレーションが実行された後でも損なわれないことを特徴とする請求項１０に記載のコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は一般にファイルシステムに関し、より詳細には、特定のファイルシステムで各ファイルの一部としてストアされるファイル属性の形式および管理に関する。さらに詳細には、本発明は、サードパーティのアプリケーション（the third party application）にステータス情報を提供するためのファイル属性の使用方法に関する。
【０００２】
【従来の技術】
コンピュータの情報は、通常、ファイルと呼ばれる構成要素にストアされる。本明細書で使用される「ファイル」とは、プログラムなどの名前の付いた完全な情報の集まり、プログラムが使用するデータのセット、またはユーザが作成した文書である。以下では、ファイル中に入れることのできる様々なタイプの情報のことを、集合的に「ファイルデータ」と呼ぶ。ファイルとは、コンピュータが複数の情報セットを区別できるようにする、ストレージの基本ユニットであると考えることもできる。したがってファイルとは、命令、数字、単語、画像などの寄せ集めを、ユーザが取出し、変更、削除、保存、または出力デバイスへの送信などを行える首尾一貫したユニットにまとめる「接着剤」である。
【０００３】
一般に、特定のコンピュータシステムでは、システム内にあるすべてのファイルが特定の形式に従っている。この形式は、ファイルシステムのプロトコルに従って事前に定義される。ファイルシステムとは、ファイルの命名、ストア、および組織化が行われる全体構造のことである。ファイルシステムは、ファイル、ディレクトリまたはフォルダ、およびこれらを探してアクセスするのに必要な情報からなる。
【０００４】
ファイル形式の定義に加え、ほとんどのファイルシステムでは、ファイル属性を作成できるようにするためのフレームワークも提供する。ファイル属性とは、ファイルに関する情報を提供するためにファイルデータと組み合せてストアされる情報ユニットであり、属性情報は実際のファイルデータとは異なるものである。通常、ほとんどのファイル属性は、ファイル名、ファイルサイズ、時間値などの情報を含む標準的な性質のものである。通常これらのものは、ヘッダの一部、すなわちそのファイルに関する情報を提供する各ファイルの一部として見分けることができる。例えば、ファイル属性は、値の変更と共に自動的に更新することが可能であり、例えばファイルサイズまたは時間値は、ファイルが修正され、その後保存されたときに、システムにより更新することができる。ファイル名などの他のファイル属性は、ファイルの内容を修正せずに変更することができる。
【０００５】
サードパーティのアプリケーションは、ウィルススキャン機能など、システムの追加の特徴または機能を提供するために、ファイルシステムとあいまって動作することが多い。これらのサードパーティのアプリケーションは、実際には各ファイルのアクセス試行を「傍受」し、実際のアクセス動作を実行する前に、ファイルのウィルスをスキャンするかまたは他のテストを行うことができる。ただし残念ながら、ファイルへのアクセスがあるたびにスキャン動作または他のテストを実行するには、かなりの時間がかかってしまう。したがって典型的には、各ファイルのバージョン情報をストアするために情報のログが保持される。例えばログは、システム上にあるファイルのリストと、各ファイルがスキャンされたかどうか、またスキャンされた場合には、どのバージョンのウィルス定義ファイルが使用されたのかを示す表示とを保持することができる。ウィルススキャナは情報のログを使用し、ファイルシステム内にある新しいファイルまたは修正されたファイル、あるいは古いウィルス定義ファイルでスキャンされたファイルのみをスキャンすることによって処理時間を短縮することができる。
【０００６】
情報ログを使用すると、あらゆるファイルをアクセス前にスキャンしていた以前のシステムが大幅に改善されるが、こうしたログの使用にはいくつかの欠点もある。例えば、こうした情報ログを保持するには、かなりのオーバヘッドを要する。さらに、項目がスキャンされたかどうかを判定するためにログにアクセスするプロセスでは、ディスク上にある別ファイルを探して調べなければならないため、システム全体のパフォーマンスが低下する。さらに、情報のログは、ファイルの複製やバックアップの際には更新されないため、情況によっては不要なスキャン動作が発生する。
【０００７】
【発明が解決しようとする課題】
情報ログを別ファイルとして保持することに関連したパフォーマンスの問題を解決する方法の１つが、「インメモリ」ログを作成し、これを揮発性メモリ、例えばＲＡＭ内にストアしておくことであった。インメモリログへのアクセスは、別ファイルへのそれよりも迅速に行うことができるため、前述のログファイルの代わりにインメモリログを使用すると、システムのパフォーマンスは上がる。ただし、システムのオフ、シャットダウン、リブートなどでシステムの電源が切れると、インメモリログは消去されるか、または失われる。したがって、電源停止後は、状態情報またはバージョン情報が即時に特定できない可能性がある。インメモリログに関連付けられた他の欠点は、そのようなログが、システムの使用する動作メモリを大量に消費することである。したがって、インメモリログは、前述の問題に適切な解決策を与えるものではない。
【０００８】
本発明の一目的は、上記またはその他の考慮すべき点に関する解決策を提供することである。
【０００９】
【課題を解決するための手段】
本発明は、ファイルの一部としてストアされ、属性がいつどのようにして作成されたかに関するバージョン固有の情報を含んでおり、所定の「更新」イベントが発生したときに自動的に無効となる、バージョン固有の属性またはプロパティを作成および使用することによって、これらの問題を解決する。サードパーティのアプリケーションは、一般に、これらのバージョン固有属性を作成し、これにアクセスすることによって外部のログまたはデータベースを不要とすることができる。
【００１０】
本発明の一態様は、コンピュータシステム内にストアされたファイルに関連付けられたバージョン固有の情報をアプリケーションに提供する方法に関する。この方法には、ファイルに関連付けられたバージョン固有属性を作成すること、所定のアクセス要求に応答してバージョン固有の情報を自動的に無効とすることにより関連するファイルの更新が常にバージョン固有属性に反映されるようにすること、並びにサードパーティのアプリケーションがバージョン固有属性を分析できるようにすることが含まれる。
【００１１】
本発明の他の態様によれば、アプリケーションとは、ウィルススキャンアプリケーション、あるいはバックアップまたはパフォーマンス上の目的でファイルの冗長複製を作成する反復子タイプのアプリケーションなどの、サードパーティのアプリケーションである。本発明のバージョン固有属性は、メタ情報、バージョン情報、およびマスク情報を含むことができる。バージョン情報は、バージョン固有属性の作成に使用されるアプリケーションのバージョンに関し、マスク情報はバージョン固有属性を無効にできる所定のイベントのポリシーまたは定義に関する。他の実施形態では、さらにバージョン固有属性は、属性またはファイルへの無許可のアクセスを防止するためか、あるいはファイルが破損しているかどうかを判定する場合に他のアプリケーションに検証要素を提供するための、デジタル署名または他のセキュリティ情報を含むことができる。
【００１２】
本発明の他の態様によれば、バージョン固有属性は、ファイル中のデータやファイルに関連付けられたメタデータの修正などの所定のイベントに基づいて、あるいは他のバージョン固有プロパティが変更されるときに、無効化することができる。無効化動作は、バージョン固有属性の削除または切り捨て、あるいはバージョン固有属性が無効であることを示す他の方法であってよい。
【００１３】
他の態様によれば、本発明は、バージョン固有属性を有するファイル形式に関し、属性にはメタ情報セクションと、ファイルのバージョンまたはバージョン固有属性の作成に使用されたアプリケーションのバージョンに関する情報をストアするためのバージョン情報セクションと、バージョン固有属性を無効にするための所定のイベントに関する情報をストアするためのマスク情報セクションとがある。さらに、本発明は、そのようなバージョン固有ファイル属性を作成および保持するためのプロトコルを提供するファイルシステムにも関する。
【００１４】
本発明は、コンピュータプロセス、コンピューティングシステム、およびコンピュータプログラムプロダクツなどの製造物として実施することができる。コンピュータプログラムプロダクツは、コンピュータシステム、およびコンピュータプロセスを実行するためのコンピュータプログラム命令の符号化によって読取り可能なコンピュータストレージ媒体であってよい。さらにコンピュータプログラムプロダクツは、コンピューティングシステム、およびコンピュータプロセスを実行するためのコンピュータプログラム命令の符号化によって読取り可能な搬送波上の伝搬信号であってもよい。
【００１５】
概略を簡潔に後述した添付の図面、本発明の現在の好ましい実施形態についての以下の詳細な説明、および添付の特許請求の範囲を参照すると、本発明およびその改良点についてより完全に理解することができる。
【００１６】
【発明の実施の形態】
本発明は、バージョン固有の属性またはプロパティを作成するためのファイルシステムに関する。バージョン固有属性は、ヘッダ識別ポインタを介する場合、または情報を常駐形式でファイルデータと共にストアする場合のいずれであっても、ファイルの一部としてストアできるという点で他のファイル属性と同様である。ただし、バージョン固有属性は、バージョン固有プロパティを作成したアプリケーションに関するバージョン固有情報をストアする機能を含む、異なる特徴を有する。さらにバージョン固有プロパティは、所定のイベントが発生すると同時に自動的に更新される。実際、無効化を発生させるイベントに関する情報も、バージョン固有プロパティの一部としてストアされる場合がある。
【００１７】
図１は、本発明を実施可能な、好適なコンピューティングシステム環境１００の一例を示す図である。コンピューティングシステム環境１００は、好適なコンピューティング環境の一例にすぎず、本発明の使用範囲または機能性に関してなんらかの制限を与えることを意図するものではない。さらにコンピューティングシステム環境１００は、例示的な動作環境１００に例示された任意の１構成要素またはその組合せに関してなんらかの依存性または要件を有するものでもない。
【００１８】
図１に示された動作環境１００に加え、本発明は、数多くの他の汎用または特殊用途向けコンピューティングシステム環境、または構成で動作可能である。本発明での使用に好適なよく知られたコンピューティングシステム、環境、および／または構成の例には、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラム可能な家庭用電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、任意の上記システムまたは装置を含む分散型コンピューティング環境などが含まれるが、これらに限定されるものではない。
【００１９】
さらに本発明は、コンピュータによって実行されるプログラムモジュールなどの、一般的なコンピュータ実行可能命令のコンテキストで説明することができる。通常、プログラムモジュールには、ルーチン、プログラム、オブジェクト、構成要素、データ構造などが含まれ、これらが特定のタスクを実行するか、または特定の抽象データタイプを実施する。本発明は、通信ネットワークを介してリンクされたリモート処理装置によってタスクが実行される、分散型コンピューティング環境において実施することもできる。分散型コンピューティング環境では、プログラムモジュールは、メモリストレージ装置を含む、ローカルおよびリモートのどちらのコンピュータストレージ媒体にも配置することができる。
【００２０】
図１を参照すると、本発明を実施するための例示的システムには、コンピュータ１０２の形態での汎用コンピューティングデバイスが含まれる。コンピュータ１０２の構成要素には、処理ユニット１０４、システムメモリ１０６、および、システムメモリを含む様々なシステム構成要素を処理ユニット１０４に結合させるシステムバス１０８が含まれるが、これらに限定されるものではない。システムバス１０８は、メモリバスまたはメモリ制御装置、周辺バス、並びに様々なバスアーキテクチャのうち任意のものを使用するローカルバスを含む、いくつかの種類のバス構造のうちのいずれかが可能である。限定的ではなく例示的なものとして例を挙げると、斯かるアーキテクチャには、Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＩＳＡ）バス、Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅｓ（ＭＣＡ）バス、拡張ＩＳＡ（ＥＩＳＡ）バス、Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ（ＶＥＳＡ）ローカルバス、およびメザニンバスとしても知られるＰｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＰＣＩ）バスが含まれる。
【００２１】
コンピュータ１０２は、通常、様々なコンピュータ読取り可能媒体を含む。コンピュータ読取り可能媒体は、コンピュータ１０２がアクセス可能な任意の使用可能媒体であってよく、揮発性および不揮発性媒体、取外し可能および取外し不能媒体のどちらも含まれる。限定的ではなく例示的なものとして例を挙げると、コンピュータ読取り可能媒体は、コンピュータストレージ媒体および通信メディアを含むことができる。コンピュータストレージ媒体には、コンピュータ読取り可能命令、データ構造、プログラムモジュール、または他のデータなどの情報ストレージのための任意の方法または技術で実施された、揮発性および不揮発性、取外し可能および取外し不能のどちらの媒体も含まれる。コンピュータストレージ媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、または他のメモリ技術、ＣＤＥ−ＲＯＭ、デジタル汎用ディスク（ＤＶＤ）または他の光ディスクストレージ装置、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージ装置、あるいは、所望の情報をストアするのに使用可能であり、コンピュータ１０２がアクセス可能な他の媒体が含まれるが、これらに限定されるものではない。典型的に通信メディアは、コンピュータ読取り可能命令、データ構造、プログラムモジュール、または他のデータを、搬送波または他の移送メカニズムなどの被変調データ信号で具体化するものであって、任意の情報伝達メディアを含む。「被変調データ信号」という用語は、その特徴セットのうち１つ以上を有する信号、または信号内の情報を符号化する方法などで変更された信号を意味する。限定的ではなく例示的なものとして例を挙げると、通信メディアには、有線ネットワークまたは直接線接続などの有線メディアと、音響（ａｃｏｕｓｔｉｃ）、ＲＦ、赤外線、および他の無線メディアなどの無線メディアとが含まれる。上記いずれかを組み合わせる場合は、コンピュータ読取り可能媒体の範囲内であるものとする。
【００２２】
システムメモリ１０６には、読取り専用メモリ（ＲＯＭ）１１０およびランダムアクセスメモリ（ＲＡＭ）１１２などの、揮発性および／または不揮発性メモリ形態のコンピュータストレージ媒体が含まれる。起動時などにコンピュータ１０２内の要素間で情報を転送するのに役立つ基本ルーチンを含む、基本入出力システム１１４（ＢＩＯＳ）は、典型的にはＲＯＭ１１０にストアされており、ＲＡＭ１１２には、典型的には、即時アクセス可能および／／または現在処理ユニット１０４によって動作中であるファイルおよび／またはプログラムモジュールが含まれる。限定的ではなく例示的なものとして例を挙げると、図１は、オペレーティングシステム１３２、アプリケーションプログラム１３４、他のプログラムモジュール１３６、およびプログラムデータ１３８を例示している。さらにコンピュータ１０２は、以下で述べるように、システム１３２のファイル形式を定義し、バージョン固有プロパティ形式を定義するファイルシステムを備える。
【００２３】
コンピュータ１０２は、他の取外し可能／取外し不能、揮発性／不揮発性のコンピュータストレージ媒体を含むこともできる。例示的な目的でのみ例を挙げると、図１には、取外し不能、不揮発性磁気媒体との間で読取り／書込みを行うハードディスクドライブ１１６、取外し可能、不揮発性磁気ディスク１２０との間で読取り／書込みを行う磁気ディスクドライブ１１８、およびＣＤ−ＲＯＭまたは他の光学式媒体などの取外し可能、不揮発性光ディスク１２４との間で読取り／書込みを行う光ディスクドライブ１２２が例示されている。例示的な動作環境において使用できる他の取外し可能／取外し不能、揮発性／不揮発性のコンピュータストレージ媒体には、磁気テープカセット、フラッシュメモリカード、デジタル汎用ディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭなどが含まれるが、これらに限定されるものではない。ハードディスクドライブ１１６は、典型的にはインターフェース１２６などの取外し不能メモリインターフェースを介してシステムバス１０８に接続され、磁気ディスクドライブ１１８および光ディスクドライブ１２２は、典型的には、それぞれインターフェース１２８および１３０などのメモリインターフェースによってシステムバス１０８に接続される。
【００２４】
以上で説明し、図１に例示したドライブ、およびそれに関連するコンピュータストレージ媒体は、コンピュータ１０２に関するコンピュータ読取り可能命令、データ構造、プログラムモジュール、および他のデータのストレージを提供するものである。例えば図１では、ハードディスクドライブ１１６は、オペレーティングシステム１３２、アプリケーションプログラム１３４、他のプログラムモジュール１３６、およびプログラムデータ１３８をストアするものとして示されている。
【００２５】
ユーザは、キーボード１４０および、一般にマウス、トラックボール、またはタッチパッドと呼ばれるポインティングデバイス１４２などの入力装置を介して、コンピュータ１０２にコマンドおよび情報を入力することができる。他の入力装置（図示せず）は、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送用パラボラアンテナ、スキャナなどを含むことができる。これらおよび他の入力装置は、システムバス１０８に結合された入力インターフェース１４８を介して処理ユニット１０４に接続されることが多い。モニタ１５０または他の種類のディスプレイ装置も、ビデオアダプタ１５２を介してシステムバス１０８に接続することができる。コンピュータは、モニタに加え、図示されていないスピーカおよびプリンタなどの他の周辺出力装置を含むこともできる。
【００２６】
コンピュータ１０２は、リモートコンピュータ１５４などの１つ以上のリモートコンピュータへの論理接続を使用するネットワーク環境において動作可能である。リモートコンピュータ１５４は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の共通ネットワークノードであってよく、典型的には、コンピュータ１０２に関して上記で述べた多くのまたはすべての要素を含む。
【００２７】
ＬＡＮネットワーク環境において使用される場合、コンピュータ１０２はネットワークインターフェースまたはアダプタ１６２を介してＬＡＮに接続される。ＷＡＮネットワーク環境において使用される場合、コンピュータ１０２には典型的に、モデム１６４またはインターネットなどのＷＡＮを介して通信を確立するための他の手段が含まれる。モデム１６４は内蔵でも外付けでもよく、ユーザ入力インターフェース１４８または他の適切なメカニズムを介してシステムバス１０８に接続することができる。ネットワーク環境では、コンピュータ１０２に関連して描かれているプログラムモジュールまたはその一部を、リモートのメモリストレージ装置にストアすることができる。図示されたネットワーク接続は例示的なものであり、コンピュータ間に通信リンクを確立する他の手段も使用できることが理解できよう。
【００２８】
図２は、本発明が実施可能な好適なソフトウェア動作環境２００の一例を示す図である。ソフトウェア動作環境２００は、好適な動作環境の一例を示したものにすぎず、本発明の使用または機能性の範囲を限定する意図はない。ソフトウェア環境２００は、様々なファイル２０４、２０６、２０８、および２１０の形式および構造を定義する、ファイルシステム２０２を有する。通常、ファイルシステム２０２は、ファイルの命名、ストア、および組織化が行われる構造全体も提供する。さらにこのファイルシステムは、ファイルおよび任意のファイル関連項目にアクセスするためのプロトコルを提供する。本発明の一実施形態では、ファイルシステムは、Ｍｉｃｒｏｓｏｆｔ（登録商標）  Ｃｏｒｐｏｒａｔｉｏｎが製造したＷｉｎｄｏｗｓ（登録商標）  ＮＴファイルシステム（以下、「ＮＴＦＳ」という）である。ＮＴＦＳに関する詳細は、Ｄａｖｉｄ  Ｓｏｌｏｍａｎ著「Ｉｎｓｉｄｅ  Ｗｉｎｄｏｗｓ（登録商標）  ＮＴ，  Ｓｅｃｏｎｄ  Ｅｄｉｔｉｏｎ」第９章、Ｍｉｃｒｏｓｏｆｔ（登録商標）  Ｐｒｅｓｓ  １９９８年を参照されたい。他の実施形態では、他のファイルシステムプロトコルを使用可能である。
【００２９】
図２に示されるように、ファイル２０４、２０６、２０８、および２１０は、それぞれヘッダ２１２、２１４、２１６、および２１８を有する。ヘッダ２１２、２１４、２１６、および２１８には、それぞれの各ファイルに関した情報が含まれる。ヘッダ情報は、ファイルが最後に修正された時間、ファイルが最後に保存された時間、ファイルの長さ、ファイルの名前など、ファイル属性を含むことができる。ヘッダ情報に加え、図２に示された２つのファイル２０８と２１０は、それぞれバージョン固有属性２２０と２２２も有する。このバージョン固有属性２２０と２２２はバージョン固有の情報を含み、それぞれファイル２０８と２１０に関して発生する他のイベントによって無効にすることができる。もちろん、ファイルシステムは、省略記号２２３と２２５で示されるように、バージョン固有属性を備えているか、または備えていない他の多くのファイルを含むことができる。
【００３０】
図２に示されたソフトウェア環境２００は、ファイルシステム２０２とアプリケーションプログラム２２４と２２６などのアプリケーションプログラムとの対話も図示している。一実施形態では、アプリケーションプログラム２２４と２２６は、サードパーティのアプリケーション、すなわち、ファイルシステム自体と一体になったアプリケーションとは対照的に、ファイルシステムと対話するアプリケーションである。アプリケーションプログラム２２４と２２６は、それぞれアプリケーションプログラムインターフェース２２８と２３０を介して、ファイルシステム２０２と対話することができる。さらにアプリケーションプログラムインターフェースは、例えばオペレーティングシステムインターフェース２３２などのオペレーティングシステムを介して、ファイルシステム２０２と通信する。別の実施形態（図示せず）では、アプリケーションプログラムインターフェース２２８は、ファイルシステム２０２と直接通信することができる。アプリケーションプログラムインターフェース２３０は、インターネット２３３などのコンピュータネットワークシステムを介して、オペレーティングシステムインターフェース２３４と通信する。さらに、オペレーティングシステムインターフェース２３４は、サーバコンピュータシステムのオペレーティングシステムインターフェースにも関係しており、アプリケーションプログラムインターフェースは、クライアントコンピュータシステムに関連付けられている。オペレーティングシステムインターフェース２３４は、ネットワークファイルシステムインターフェース２３５を介してファイルシステム２０２と通信する。
【００３１】
図示されていないが、本発明には、アプリケーションプログラム２２４と２２６がファイルシステム２０２と直接通信するか、制御モジュールの他の層を介してファイルシステム２０２と通信する実施形態などの、他の実施形態を組み込むことができる。したがって、本発明には、ファイル２０４、２０６、２０８、および２１０などのファイルにアクセスするために何らかの形でファイルシステムと通信する、アプリケーションプログラム２２４と２２６などのアプリケーションまたはプログラムモジュールが含まれ、アクセスには、読取り、実行、更新、またはファイル上で実行される何らかの他の機能が含まれる。
【００３２】
ファイルシステム２０２は、様々なシステム機能を提供する。ファイル２０４、２０６、２０８、および２１０に基本的な構造を与えることに加え、ファイルシステム２０２は、ファイルアクセス要求が既存のファイルに関するものであること、要求を作成しているモジュールが要求の作成および実行の許可を得ているかどうかなど、様々な機能を提供することができる。したがって、ファイルシステム２０２は、アプリケーションプログラム２２４と２２６並びに実際のファイル２０４、２０６、２０８、および２１０などの、アプリケーション間での対話をサービス層２３６に提供する。この対話層２３６は、アプリケーションプログラムインターフェース２２８、２３０が可能であるのに加え、オペレーティングシステムインターフェース２３２と２３４でも可能である。
【００３３】
バージョン固有属性２２０と２２２に関して、本発明の一実施形態では、アプリケーションプログラム２２４と２２６が、それぞれファイル２０８と２１０に関するバージョン固有属性２２０と２２２を作成および使用することができる。あるいは、サービス層２３６がバージョン固有属性を作成および使用することができる。バージョン固有属性がいったん作成されると、他のアプリケーションはこの属性にアクセスし、バージョン固有属性２２０または２２２の評価に基づいてファイルに関する動作の実行を決定することができる。さらに、他方のアプリケーションは、アプリケーションが有効なバージョン固有属性の有無をテストすると異なる結果を生じさせるようなバージョン固有属性を無効にできる、ファイルに関する動作を実行することができる。
【００３４】
特定の例では、サービス層２３６は、あるファイル、例えばファイル２０４、２０６、２０８、または２１０に任意の他のアプリケーションまたはモジュールがアクセスするたびに、ウィルスのスキャン機能およびクリーニング機能を実行するウィルススキャン機能を提供する。この例をさらに拡大すると、アプリケーションプログラム２２４は、ワードプロセッシングアプリケーションであってよく、ファイル２０４、２０６、２０８、および２１０は、テキストファイルなどのワードプロセッシングタイプのファイルである。このような場合、オペレーティングシステムインターフェースは、ウィルススキャンプログラムモジュールをサービス層２３６の一部として、実際にワードプロセッシングアプリケーションプログラム２２４がアクセスを要求するファイルのスキャンに使用することができる。この例でウィルススキャナは、ウィルスがスキャンされたファイルのバージョン固有属性２２０と２２２などの、バージョン固有属性を作成することができる。したがって、アプリケーションプログラム２２４が次にファイル２０８と２１０のうち１つに対して要求を作成した場合、ウィルススキャンアプリケーションは、他のスキャンオペレーションが必要であるかどうかを判定するために、バージョン固有属性２２０と２２２などの有効なバージョン固有属性の有無を識別するだけである。有効なバージョン固有属性が識別された場合、この特定例ではスキャンは不要である。これに対して、ファイル２０４または２０６にアクセスした際などにバージョン固有属性が識別されなかった場合、ウィルススキャンアプリケーションは、これらのファイルがスキャンされていないか、またはスキャンされてから修正されていると認識する。
【００３５】
さらにウィルススキャンの例を見ていくと、ウィルススキャンアプリケーションがサービス層２３６の一部として、ファイル２０４または２０６のうち１つをスキャンすると想定した場合、新しいバージョン固有属性（図示せず）が作成され、スキャン済みのファイルに関連付けられる。その後、新しく作成された属性（図示せず）がファイルと共にストアされるため、この属性を将来のアクセス要求に利用することができる。
【００３６】
他の実施形態では、バージョン固有属性を、他のアプリケーションがアクセスおよび評価できるデジタル署名を利用して符号化することができる。その後、このデジタル署名を調べて、ファイルが有効な複製であるかどうかを判定することができる。このような場合、ファイルが他のアプリケーションによって勝手に変更されていると、すなわち破損していると、デジタル署名は無効となる。無効化されたデジタル署名は、署名が存在しなかったものとして処理されるため、ファイルを無効として処理することができる。
【００３７】
バージョン固有属性は、属性またはファイルへの無許可のアクセスを防ぐためにさらに他のセキュリティ情報を含むことができる。サービス層２３６はこの情報を、属性をロックしてウィルスアプリケーションなどの不適切なアプリケーションが使用できないようにする手段として使用する。サービス層は、有効なアプリケーションのみが属性またはファイルそれ自体にアクセスすることを保証する目的で、アクセス毎にバージョン固有属性を評価するように構成することができる。
【００３８】
本発明を組み込んだファイル３００の態様が図３に示されている。ファイル３００には、ファイルデータ３１６、すなわちファイル情報それ自体と、この特定例では何らかの標準属性３０４を含み、その標準属性が時間やファイルの長さなどであってよい、一般情報を含んでいるヘッダ３０２とが含まれる。他の実施形態では、ヘッダには標準属性が含まれず、代わりに、図３に示すセクション３０６などの他のセクションに標準属性がストアされる場合がある。
【００３９】
ファイル３００は、図３に示されるようにバージョン固有属性３０８も有する。バージョン固有属性３０８には、３タイプの情報が含まれる。その１つがメタ情報セクション３１０であり、これは典型的には、属性の作成に使用されるサードパーティのアプリケーションの名前などの属性の名前、その他、属性の長さ、そのディスク上のアドレス位置などの情報を有する。
【００４０】
バージョン固有属性３０８には、バージョン情報セクション３１２も含まれる。バージョン情報セクション３１２には、属性の作成に使用されたサードパーティのアプリケーションのバージョンなど、バージョン固有属性３０８の作成に使用された最も新しい特定アプリケーションのバージョンに関する情報が含まれる。すなわち、こうしたバージョン情報は、属性を評価しているプログラムモジュールと関連させることができるため、このタイプの情報専用にセクションが割り当てられる。
【００４１】
バージョン固有属性３０８には、関連する更新に関する情報をファイルシステムに提供する際に使用されるマスク情報セクション３１４も含まれる。マスク情報セクション３１４は、本来、どのプロトコルまたはポリシーのイベントがバージョン固有属性３０８を無効化できるか、またはできないかを、他のアプリケーションまたはファイルシステムに指示するものである。
【００４２】
特定の実施形態では、ファイルシステムの一部であるかまたはそうでないウィルススキャンアプリケーションによってバージョン固有属性３０８が作成されると、メタ情報セクション３１０は、バージョン固有属性３０８の作成に使用されたウィルススキャンアプリケーションの名前を保持することができる。さらにバージョン情報セクション３１２には、バージョン固有属性が作成された時に使用された特定のウィルス定義ファイルに関連する情報が含められることになる。ウィルススキャンアプリケーションは、最近検出されたウィルスを含めるために頻繁に更新されるので、この特定の場合ではバージョン情報が重要である。したがって、ウィルススキャンアプリケーションは、ファイルが以前にスキャンされたことがあるかどうかを判定するだけでなく、更新済みのウィルス定義ファイルを使用してスキャンされたかどうかも判定しなければならない。
【００４３】
マスク情報セクション３１４に関して、ウィルススキャンアプリケーションがバージョン固有属性３０８を作成すると、マスク情報セクション３１４にはバージョン固有属性３０８の無効化を発生させるような特定のイベントが含められる可能性があり、このイベントはウィルススキャンアプリケーションに一意的に直接関係する場合がある。この特定の場合では、バージョン固有属性３０８の無効化を発生させることのあるこのようなイベントに、新しいファイルデータの追加またはファイルデータの消去のいずれかによるファイルデータセクション３０６の修正が含まれることがある。他の実施形態では、他の所定のイベントによってバージョン固有属性の無効化を発生させることがある。
【００４４】
この特定の例では、具体的にはマスク情報セクション３１４に含めることができないためにバージョン固有属性が無効化されることのない所定のイベントに、読取り専用アクセスイベント、ファイル名の変更、またはファイル３００のバックアップを含めることができる。実際には、イベントがバージョン固有属性を無効化しなければ、ファイル名が変更されたような場合でもその属性はファイルに付属のままとなる。
【００４５】
バージョン固有属性３０８は、サードパーティのアプリケーション、例えばファイルシステムとは別のアプリケーションによって作成される。バージョン固有属性を作成する場合、サードパーティのアプリケーションは、名前、バージョン、およびマスクの情報を、ファイルシステムに提供する。次いでファイルシステムが属性を作成し、これを特定ファイルに関連付ける。本発明の一実施形態では、バージョン固有属性３０８を作成する方法の１つに、Ｗｉｎｄｏｗｓ（登録商標）  ＮＴＦＳに属性の作成を要求するサードパーティのアプリケーションが含まれる。この実施形態でバージョン固有属性を作成するのに使用されるコマンドが、表１に示される。表１に示されたコードは、ファイルａ．ｔｘｔがすでに作成されており、サードパーティのアプリケーションの名前が「Ｉｎｏｃｕｌａｎ」と想定したものである。
【００４６】
【表１】
0004348036.tif 000002
【００４７】
表１に示されるように、サードパーティのアプリケーションはバージョン固有属性の作成を要求し、次いで、作成された属性が閉じる前に属性にデータを書き込むだけである。この機能を働かせるためには、ファイルシステムが事前にバージョン固有属性タイプを定義していなければならない。他の実施形態では、他の方法を使用してバージョン固有属性を作成し、これを配置することができる。バージョン固有属性３０８をいったん作成すると、ファイルがアクセスされたときに他のアプリケーションがこれを評価および／または無効化することができる。
【００４８】
本発明の他の実施形態では、ＮＴＷｒｉｔｅＦｉｌｅコマンドの前に、バージョン固有属性のセキュリティの設定に関する他のコマンドを挿入することができる。各バージョン固有属性に、別々のセキュリティ記述子を作成または定義することができる。あるいは、各アプリケーション、例えばＩｎｏｃｕｌａｎは、デジタル署名を使用して、そのアプリケーションが関係するバージョン固有プロパティの保全性を検証することができる。セキュリティのタイプがいったん定義されると、その情報をバージョン固有属性のＮＴＷｒｉｔｅＦｉｌｅコマンドの前にストアすることができる。
【００４９】
ＮＴＷｒｉｔｅＦｉｌｅ動作後、ＮＴＣｌｏｓｅ動作を使用してバージョン固有属性を閉じることができる。
【００５０】
ファイル３００はバージョン固有属性を１つだけ有するように図示および説明されているが、ファイル３００は、破断記号３１８で示されるような他のバージョン固有属性も含めて他の属性を有することもできる。実際に、いくつかのサードパーティのアプリケーションは、持続状態情報がファイルの一部としてストアされることを要求することが可能であり、したがってバージョン固有属性３０８などの多数のバージョン固有属性を作成し、ファイル３００と共にストアすることができる。
【００５１】
以上、例示的な物理環境について論じてきたが、以下のセクションでは、本発明の態様を具体化する動作モジュールについて説明する。本発明の様々な実施形態の論理的動作は、（１）コンピューティングシステム上で実行中のコンピュータが実施する一連のステップまたはプログラムモジュールとして、および／または（２）コンピューティングシステム内で相互接続されたハードウェアモジュールまたは論理モジュールとして実施される。この実施は、本発明を実施するコンピューティングシステムのパフォーマンス要件に依存する選択の問題である。したがって、本明細書に記載された本発明の実施形態を構成している論理動作は、動作（operation）、ステップ、またはモジュールと呼ばれることもある。
【００５２】
図４は、本発明の態様によるファイルへのアクセスに関連する動作特性を示すフローダイアグラムである。フロー４００が開始される前に、図２に示されたファイル２０４、２０６、２０８、または２１０などのファイルが、ファイルシステム２０２（図２）などのファイルシステム内に存在する。本発明の一実施形態では、いったんファイルが作成されると、そのファイルにアクセスしようと試みたときに、図４に関して図示および説明したフロー４００が開始される。実際には、プロセス４００はアクセス試行ステップＳ４０２で開始されるが、このアクセス試行ステップＳ４０２は、ファイルシステム内の任意のファイルの読取り、実行、または更新に関するものである。アクセス試行は、アプリケーションプログラム２２４（図２）などのサードパーティのアプリケーションによって、またはサービス層２３６（図２）によって実行することができる。
【００５３】
アクセス試行ステップＳ４０２に続き、判断行為（ｄｅｔｅｒｍｉｎａｔｉｏｎ  ａｃｔ）ステップＳ４０４において、アクセスが無効化アクセスであるかどうかを判定する。アクセスが無効化アクセスであるかどうかの判定には、複数の特定ファイルにアクセスしていると想定した、各バージョン固有属性内にあるマスク情報の評価が含まれる。マスク情報を評価することにより、そのファイルへのどのタイプのアクセスが、特定のバージョン固有属性を無効にするように要求しているのかがわかる。したがって、マスク情報と実際のアクセス試行とを比較することにより、バージョン固有属性を無効にすべきかどうかがわかる。判断行為ステップＳ４０４でこのような適切な更新アクセス試行が識別されると、フローはＹＥＳの無効化動作ステップＳ４０６へと進む。
【００５４】
本発明の一実施形態では、バージョン固有属性はウィルススキャンアプリケーションによって作成および使用される。このような状況では、判断行為ステップＳ４０４において、アクセス試行が適切な更新アクセスであるかどうかがウィルススキャンアプリケーションにより設定した基準に基づき判定される。すなわち、ウィルススキャンアプリケーションは、アクセス試行が、古いデータを変更するかまたは新しいデータを追加することによって実際のファイルデータを修正するかどうかなど、適切な更新アクセスとは何であるかを事前に決定している。例えば、特定のウィルススキャンアプリケーションは、新しいデータの作成を含み、ファイル中のデータにどんな変更が行われる場合でも必ずそのバージョン固有プロパティが無効化されることを希望することができる。変更がバージョン固有プロパティまたは他のファイルのメタデータまたは他のメタ情報にだけ関係する場合には、無効化は発生しない。
【００５５】
別の実施形態では、反復子アプリケーションがバージョン固有属性を作成し、これを使用することができる。このような場合、反復子アプリケーションは、ファイルのデータまたはメタデータのいずれかにどんな変更が行われる場合でも必ず、そのバージョン固有プロパティが無効化されることを希望することができる。これら特定のバージョン固有プロパティは、このクラスのバージョン固有プロパティだけに影響を与えるのではないような変更が行われると、必ず無効化される。この場合、特定のクラスを定義することにより、複数の反復子が存在することでファイルが何度も反復されることを防いでおり、１つの反復子アプリケーションによる反復インスタンスは、それぞれ、第２の反復子アプリケーションによる反復の必要に応じて生じることになる。
【００５６】
無効化動作ステップＳ４０６において、バージョン固有プロパティまたはバージョン固有属性３０８（図３）などの属性を無効にする。一実施形態では、無効化行為ステップＳ４０６で、バージョン固有属性を「無効化」するためにバージョン固有属性を削除または切り捨てる。あるいは、無効化動作ステップＳ４０６でバージョン固有属性にマークを付けるか、そうでなければ属性が無効である旨の表示を与える。本来、属性を無効にする行為は、バージョン固有属性に依拠したアプリケーションが、バージョン固有属性が無効化されていることを認識できるようにするものでなければならない。バージョン固有属性を無効化する他の方法には、無効化アクセスまたはバージョン固有属性への情報の追加、あるいはその中に含まれる情報の修正も含むことができる。無効化行為ステップＳ４０６では、時間変更、最終書込み時間、または最終アクセス時間などの他の項目は変更しない。
【００５７】
ファイルが複数の関連するバージョン固有属性を有する場合、動作ステップＳ４０４およびＳ４０６は、それぞれのバージョン固有属性について繰返し行われる。
【００５８】
無効化行為ステップＳ４０６に続き、アクセス実行動作ステップＳ４０８において、ファイルに対して要求されたアクセスを実行する。ファイルに対するアクセスを実行する行為は、バージョン固有属性が無効化された後に開始することが重要である。そうでないと、バージョン固有属性が信頼できなくなる可能性がある。アクセス実行動作ステップＳ４０８に続き、フロー４００は終了動作ステップＳ４１０で終了する。
【００５９】
判断行為ステップＳ４０４においてアクセス試行が無効化アクセスに関連していないと判定されると、フローはＮＯの判断動作ステップＳ４１２に進む。判断動作ステップＳ４１２では、アクセスがバージョン固有属性に依存しているかどうか、例えば、アクセス試行が動作を実行する際にバージョン固有属性を使用しているアプリケーションによるアクセス試行であるかどうかを判定する。例えば、バージョン固有属性を使用するウィルススキャンアプリケーションはアクセス試行を生成することが可能であり、その場合、判断動作ステップＳ４１２において、そのアクセス試行がバージョン固有属性を使用するそのようなアプリケーションによって生成されたものであるかどうかを判定する。
【００６０】
アクセス試行がバージョン固有属性に依拠するアプリケーションによって実行されたものでない場合、フローはＮＯのアクセス実行動作ステップＳ４０８に進む。アクセス実行動作ステップＳ４０８では、最初に要求されたアクセス動作を実行する。判断動作ステップＳ４１２に続いてアクセス実行動作ステップＳ４０８が行われる場合、アクセス動作は、判断行為ステップＳ４０４が判定したような無効化を要求する動作には関連していない。例えば、このアクセス試行は、ユーザが実際のデータを修正できない読取り動作に関連していることがある。アクセス実行動作ステップＳ４０８に続き、プロセスのフローは前述のようにステップＳ４１０で終了する。
【００６１】
判断動作ステップＳ４１２において、アクセスがバージョン固有属性に依存していると判定した場合、フローはＹＥＳの判断行為ステップＳ４１４に進む。判断行為ステップＳ４１４において、バージョン固有属性が有効であるかどうかを判定するためにこれを分析する。属性が有効であるかどうかの判定には、属性が存在するかどうか、これが無効としてマークされているかどうか、または情報がすべて利用できないように切り捨てられているかどうかが含まれる。判断行為ステップＳ４１４において属性が有効でないと判定されると、フローはＮＯの無効属性に関するアクセス実行行為ステップＳ４１６に進む。
【００６２】
実行行為ステップＳ４１６では、アクセスが無効であるという判定に基づいて、所定の機能が実行される。一実施形態では、アクセス試行がウィルススキャンアプリケーションによって生成されたものである場合、実行動作ステップＳ４１６では、そのようなウィルススキャン機能をファイル上で実行する。
【００６３】
無効属性に関する動作実行ステップＳ４１６に続き、バージョン固有属性作成行為ステップＳ４１８では、そのファイルに関してバージョン固有属性を作成または有効化する。バージョン固有属性の有効化には、そのファイルのバージョン固有属性を作成すること、または既存のバージョン固有属性に情報を追加することが含まれる。他の実施形態では、属性が有効であるという表示を与えることによって、後に属性が有効であることがわかる限りは、他の方法で属性を有効化することができる。バージョン固有属性有効化行為ステップＳ４１８に続き、プロセス４００は終了動作ステップＳ４１０で終了する。
【００６４】
判断行為ステップＳ４１４においてバージョン固有属性が有効であると判定された場合、フローはＹＥＳの実行動作ステップＳ４２０に進む。実行動作ステップＳ４２０は、バージョン固有属性が有効であるという判定に関する任意の行為を実行することに関する。バージョン固有属性を使用する特定のアプリケーションによって、実行動作ステップＳ４２０には異なるタイプの動作が含まれることがある。一例では、属性が有効であると判定された場合、ウィルススキャン状況などでは何の動作も実行されない。このような場合、判断行為ステップＳ４１４においてバージョン固有属性が有効であると判定されると、ファイルは以前にスキャンされているため、他のスキャンは不要である。したがって、そのファイルについては何の動作も実行されず、動作ステップＳ４２０は終了動作ステップＳ４１０に制御を渡すだけである。他の実施形態では、バージョン固有属性が有効であると判定されると、ステップＳ４２０で動作が実行開始される場合がある。
【００６５】
前述のシステムおよび方法は、バージョン情報が別のログまたはデータベースファイルに常駐しているのではなく、ファイルの一部であるため、バージョン情報をプログラムモジュールまたはアプリケーションに提供するという従来の方法に比べてかなり有利である。アクセス側のアプリケーションは、利用不能、破損、その他管理不能になる可能性がある外付けタイプのファイルにアクセスする必要がない。さらに、電源が切断されてもファイル属性は失われず、属性は、インメモリ情報ログの場合のように大量の動作メモリを消費せずに済む。さらに、プロセスは自動的に更新され、すなわち、関連するイベントが発生したときにはバージョン固有情報が無効化される。バージョン固有情報を自動的に無効化することにより、関連する適切な更新は見逃されることがなく、不要な行為は実行されない確率が高くなる。例えば、ウィルススキャンの実施に関して言えば、従来技術の方法では、バックアップ機能および／または複製機能の後ではこのようなバージョン情報は保持されなかったため、追加の処理ステップが実行されていたが、バージョン情報はバックアップ機能や複製機能では無効化されなくなっているため、将来アクセスしたときにウィルススキャンは不要である。
【００６６】
前述のように、本明細書に記載した本発明は、コンピュータプロセス、コンピューティングシステム、またはコンピュータプログラムプロダクツなどの製造物として実施することができる。コンピュータプログラムプロダクツは、コンピュータシステム、およびコンピュータプロセスを実行するためのコンピュータプログラム命令の符号化によって読取り可能な、コンピュータストレージ媒体であってよい。さらにコンピュータプログラムプロダクツは、コンピューティングシステム、およびコンピュータプロセスを実行するためのコンピュータプログラム命令の符号化によって読取り可能な、搬送波上の伝搬信号であってもよい。
【００６７】
さらに、本発明は構造上の特徴および／または方法論的ステップに固有の言語で記述されているが、添付の特許請求の範囲で定義された本発明は、記載されている特定の特徴またはステップに限定されるものではないことを理解されたい。一例として、他のアプリケーションでは、ウィルススキャンアプリケーションおよび反復子の他にも、バージョン固有属性を利用することができる。さらに、他のタイプのファイルシステムも、本発明の原理から恩恵を受けることができる。したがって、特定の特徴およびステップは、記載された本発明を実施する好ましい形態として開示されたものである。
【図面の簡単な説明】
【図１】本発明を組み込むことのできるコンピュータシステムの機能図である。
【図２】本発明のソフトウェア構成要素を示す構成図である。
【図３】本発明によるファイルの構成要素を示す機能図である。
【図４】本発明の一実施形態の機能的な特徴を示すフローダイアグラムである。
【符号の説明】
１００  コンピューティングシステム環境（動作環境）
１０２  コンピュータ
１０４  処理ユニット
１０６  システムメモリ
１０８  システムバス
１１４  基本入出力システム
１１６  ハードディスクドライブ
１１８  磁気ディスクドライブ
１２０  不揮発性磁気ディスク
１２２  光ディスクドライブ
１２４  不揮発性光ディスク
１２６  ハードディスクドライブインターフェース
１２８  磁気ディスクドライブインターフェース
１３２  オペレーティングシステム
１３４，２２４，２２６  アプリケーションプログラム
１３６  プログラムモジュール
１３８  プログラムデータ
１４０  キーボード
１４２  ポインティングデバイス
１４８  ユーザ入力インターフェース
１５０  モニタ
１５２  ビデオアダプタ
１５４  リモートコンピュータ
１６２  アダプタ
１６４  モデム
２００  ソフトウェア動作環境
２０２  ファイルシステム
２０４，２０６，２０８，２１０，３１６  ファイルデータ
２１２，２１４，２１６，２１８，３０２  ヘッダ
２２０，２２２，３０８  バージョン固有属性
２２３，２２５  省略記号
２２４  アプリケーションプログラム
２２８，２３０  アプリケーションプログラムインターフェース（ＡＰＩ）
２３２，２３４  オペレーティングシステムインターフェース
２３３  インターネット
２３５  ネットワークファイルシステムインターフェース
２３６  サービス層（対話層）
３００  ファイル
３０４  標準属性
３０６  ファイルデータセクション
３１０  メタ情報セクション
３１２  バージョン情報セクション
３１４  マスク情報セクション
３１８  破断記号
４００  プロセス（フロー）
【図１】
0004348036.tif 000003
【図２】
0004348036.tif 000004
【図３】
0004348036.tif 000005
【図４】
0004348036.tif 000006