JP4348036B2 - ファイル中にバージョン固有プロパティを作成し保持する方法およびシステム - Google Patents

ファイル中にバージョン固有プロパティを作成し保持する方法およびシステム Download PDF

Info

Publication number
JP4348036B2
JP4348036B2 JP2001398349A JP2001398349A JP4348036B2 JP 4348036 B2 JP4348036 B2 JP 4348036B2 JP 2001398349 A JP2001398349 A JP 2001398349A JP 2001398349 A JP2001398349 A JP 2001398349A JP 4348036 B2 JP4348036 B2 JP 4348036B2
Authority
JP
Japan
Prior art keywords
version
file
information
specific attribute
specific
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.)
Expired - Fee Related
Application number
JP2001398349A
Other languages
English (en)
Other versions
JP2002229826A5 (ja
JP2002229826A (ja
Inventor
エス.ゴールディック ジョナサン
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 JP2002229826A publication Critical patent/JP2002229826A/ja
Publication of JP2002229826A5 publication Critical patent/JP2002229826A5/ja
Application granted granted Critical
Publication of JP4348036B2 publication Critical patent/JP4348036B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99954Version management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は一般にファイルシステムに関し、より詳細には、特定のファイルシステムで各ファイルの一部としてストアされるファイル属性の形式および管理に関する。さらに詳細には、本発明は、サードパーティのアプリケーション(the third party application)にステータス情報を提供するためのファイル属性の使用方法に関する。
【0002】
【従来の技術】
コンピュータの情報は、通常、ファイルと呼ばれる構成要素にストアされる。本明細書で使用される「ファイル」とは、プログラムなどの名前の付いた完全な情報の集まり、プログラムが使用するデータのセット、またはユーザが作成した文書である。以下では、ファイル中に入れることのできる様々なタイプの情報のことを、集合的に「ファイルデータ」と呼ぶ。ファイルとは、コンピュータが複数の情報セットを区別できるようにする、ストレージの基本ユニットであると考えることもできる。したがってファイルとは、命令、数字、単語、画像などの寄せ集めを、ユーザが取出し、変更、削除、保存、または出力デバイスへの送信などを行える首尾一貫したユニットにまとめる「接着剤」である。
【0003】
一般に、特定のコンピュータシステムでは、システム内にあるすべてのファイルが特定の形式に従っている。この形式は、ファイルシステムのプロトコルに従って事前に定義される。ファイルシステムとは、ファイルの命名、ストア、および組織化が行われる全体構造のことである。ファイルシステムは、ファイル、ディレクトリまたはフォルダ、およびこれらを探してアクセスするのに必要な情報からなる。
【0004】
ファイル形式の定義に加え、ほとんどのファイルシステムでは、ファイル属性を作成できるようにするためのフレームワークも提供する。ファイル属性とは、ファイルに関する情報を提供するためにファイルデータと組み合せてストアされる情報ユニットであり、属性情報は実際のファイルデータとは異なるものである。通常、ほとんどのファイル属性は、ファイル名、ファイルサイズ、時間値などの情報を含む標準的な性質のものである。通常これらのものは、ヘッダの一部、すなわちそのファイルに関する情報を提供する各ファイルの一部として見分けることができる。例えば、ファイル属性は、値の変更と共に自動的に更新することが可能であり、例えばファイルサイズまたは時間値は、ファイルが修正され、その後保存されたときに、システムにより更新することができる。ファイル名などの他のファイル属性は、ファイルの内容を修正せずに変更することができる。
【0005】
サードパーティのアプリケーションは、ウィルススキャン機能など、システムの追加の特徴または機能を提供するために、ファイルシステムとあいまって動作することが多い。これらのサードパーティのアプリケーションは、実際には各ファイルのアクセス試行を「傍受」し、実際のアクセス動作を実行する前に、ファイルのウィルスをスキャンするかまたは他のテストを行うことができる。ただし残念ながら、ファイルへのアクセスがあるたびにスキャン動作または他のテストを実行するには、かなりの時間がかかってしまう。したがって典型的には、各ファイルのバージョン情報をストアするために情報のログが保持される。例えばログは、システム上にあるファイルのリストと、各ファイルがスキャンされたかどうか、またスキャンされた場合には、どのバージョンのウィルス定義ファイルが使用されたのかを示す表示とを保持することができる。ウィルススキャナは情報のログを使用し、ファイルシステム内にある新しいファイルまたは修正されたファイル、あるいは古いウィルス定義ファイルでスキャンされたファイルのみをスキャンすることによって処理時間を短縮することができる。
【0006】
情報ログを使用すると、あらゆるファイルをアクセス前にスキャンしていた以前のシステムが大幅に改善されるが、こうしたログの使用にはいくつかの欠点もある。例えば、こうした情報ログを保持するには、かなりのオーバヘッドを要する。さらに、項目がスキャンされたかどうかを判定するためにログにアクセスするプロセスでは、ディスク上にある別ファイルを探して調べなければならないため、システム全体のパフォーマンスが低下する。さらに、情報のログは、ファイルの複製やバックアップの際には更新されないため、情況によっては不要なスキャン動作が発生する。
【0007】
【発明が解決しようとする課題】
情報ログを別ファイルとして保持することに関連したパフォーマンスの問題を解決する方法の1つが、「インメモリ」ログを作成し、これを揮発性メモリ、例えばRAM内にストアしておくことであった。インメモリログへのアクセスは、別ファイルへのそれよりも迅速に行うことができるため、前述のログファイルの代わりにインメモリログを使用すると、システムのパフォーマンスは上がる。ただし、システムのオフ、シャットダウン、リブートなどでシステムの電源が切れると、インメモリログは消去されるか、または失われる。したがって、電源停止後は、状態情報またはバージョン情報が即時に特定できない可能性がある。インメモリログに関連付けられた他の欠点は、そのようなログが、システムの使用する動作メモリを大量に消費することである。したがって、インメモリログは、前述の問題に適切な解決策を与えるものではない。
【0008】
本発明の一目的は、上記またはその他の考慮すべき点に関する解決策を提供することである。
【0009】
【課題を解決するための手段】
本発明は、ファイルの一部としてストアされ、属性がいつどのようにして作成されたかに関するバージョン固有の情報を含んでおり、所定の「更新」イベントが発生したときに自動的に無効となる、バージョン固有の属性またはプロパティを作成および使用することによって、これらの問題を解決する。サードパーティのアプリケーションは、一般に、これらのバージョン固有属性を作成し、これにアクセスすることによって外部のログまたはデータベースを不要とすることができる。
【0010】
本発明の一態様は、コンピュータシステム内にストアされたファイルに関連付けられたバージョン固有の情報をアプリケーションに提供する方法に関する。この方法には、ファイルに関連付けられたバージョン固有属性を作成すること、所定のアクセス要求に応答してバージョン固有の情報を自動的に無効とすることにより関連するファイルの更新が常にバージョン固有属性に反映されるようにすること、並びにサードパーティのアプリケーションがバージョン固有属性を分析できるようにすることが含まれる。
【0011】
本発明の他の態様によれば、アプリケーションとは、ウィルススキャンアプリケーション、あるいはバックアップまたはパフォーマンス上の目的でファイルの冗長複製を作成する反復子タイプのアプリケーションなどの、サードパーティのアプリケーションである。本発明のバージョン固有属性は、メタ情報、バージョン情報、およびマスク情報を含むことができる。バージョン情報は、バージョン固有属性の作成に使用されるアプリケーションのバージョンに関し、マスク情報はバージョン固有属性を無効にできる所定のイベントのポリシーまたは定義に関する。他の実施形態では、さらにバージョン固有属性は、属性またはファイルへの無許可のアクセスを防止するためか、あるいはファイルが破損しているかどうかを判定する場合に他のアプリケーションに検証要素を提供するための、デジタル署名または他のセキュリティ情報を含むことができる。
【0012】
本発明の他の態様によれば、バージョン固有属性は、ファイル中のデータやファイルに関連付けられたメタデータの修正などの所定のイベントに基づいて、あるいは他のバージョン固有プロパティが変更されるときに、無効化することができる。無効化動作は、バージョン固有属性の削除または切り捨て、あるいはバージョン固有属性が無効であることを示す他の方法であってよい。
【0013】
他の態様によれば、本発明は、バージョン固有属性を有するファイル形式に関し、属性にはメタ情報セクションと、ファイルのバージョンまたはバージョン固有属性の作成に使用されたアプリケーションのバージョンに関する情報をストアするためのバージョン情報セクションと、バージョン固有属性を無効にするための所定のイベントに関する情報をストアするためのマスク情報セクションとがある。さらに、本発明は、そのようなバージョン固有ファイル属性を作成および保持するためのプロトコルを提供するファイルシステムにも関する。
【0014】
本発明は、コンピュータプロセス、コンピューティングシステム、およびコンピュータプログラムプロダクツなどの製造物として実施することができる。コンピュータプログラムプロダクツは、コンピュータシステム、およびコンピュータプロセスを実行するためのコンピュータプログラム命令の符号化によって読取り可能なコンピュータストレージ媒体であってよい。さらにコンピュータプログラムプロダクツは、コンピューティングシステム、およびコンピュータプロセスを実行するためのコンピュータプログラム命令の符号化によって読取り可能な搬送波上の伝搬信号であってもよい。
【0015】
概略を簡潔に後述した添付の図面、本発明の現在の好ましい実施形態についての以下の詳細な説明、および添付の特許請求の範囲を参照すると、本発明およびその改良点についてより完全に理解することができる。
【0016】
【発明の実施の形態】
本発明は、バージョン固有の属性またはプロパティを作成するためのファイルシステムに関する。バージョン固有属性は、ヘッダ識別ポインタを介する場合、または情報を常駐形式でファイルデータと共にストアする場合のいずれであっても、ファイルの一部としてストアできるという点で他のファイル属性と同様である。ただし、バージョン固有属性は、バージョン固有プロパティを作成したアプリケーションに関するバージョン固有情報をストアする機能を含む、異なる特徴を有する。さらにバージョン固有プロパティは、所定のイベントが発生すると同時に自動的に更新される。実際、無効化を発生させるイベントに関する情報も、バージョン固有プロパティの一部としてストアされる場合がある。
【0017】
図1は、本発明を実施可能な、好適なコンピューティングシステム環境100の一例を示す図である。コンピューティングシステム環境100は、好適なコンピューティング環境の一例にすぎず、本発明の使用範囲または機能性に関してなんらかの制限を与えることを意図するものではない。さらにコンピューティングシステム環境100は、例示的な動作環境100に例示された任意の1構成要素またはその組合せに関してなんらかの依存性または要件を有するものでもない。
【0018】
図1に示された動作環境100に加え、本発明は、数多くの他の汎用または特殊用途向けコンピューティングシステム環境、または構成で動作可能である。本発明での使用に好適なよく知られたコンピューティングシステム、環境、および/または構成の例には、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラム可能な家庭用電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、任意の上記システムまたは装置を含む分散型コンピューティング環境などが含まれるが、これらに限定されるものではない。
【0019】
さらに本発明は、コンピュータによって実行されるプログラムモジュールなどの、一般的なコンピュータ実行可能命令のコンテキストで説明することができる。通常、プログラムモジュールには、ルーチン、プログラム、オブジェクト、構成要素、データ構造などが含まれ、これらが特定のタスクを実行するか、または特定の抽象データタイプを実施する。本発明は、通信ネットワークを介してリンクされたリモート処理装置によってタスクが実行される、分散型コンピューティング環境において実施することもできる。分散型コンピューティング環境では、プログラムモジュールは、メモリストレージ装置を含む、ローカルおよびリモートのどちらのコンピュータストレージ媒体にも配置することができる。
【0020】
図1を参照すると、本発明を実施するための例示的システムには、コンピュータ102の形態での汎用コンピューティングデバイスが含まれる。コンピュータ102の構成要素には、処理ユニット104、システムメモリ106、および、システムメモリを含む様々なシステム構成要素を処理ユニット104に結合させるシステムバス108が含まれるが、これらに限定されるものではない。システムバス108は、メモリバスまたはメモリ制御装置、周辺バス、並びに様々なバスアーキテクチャのうち任意のものを使用するローカルバスを含む、いくつかの種類のバス構造のうちのいずれかが可能である。限定的ではなく例示的なものとして例を挙げると、斯かるアーキテクチャには、Industry Standard Architecture(ISA)バス、Micro Channel Architectures(MCA)バス、拡張ISA(EISA)バス、Video Electronics Standards Association(VESA)ローカルバス、およびメザニンバスとしても知られるPeripheral Component Interconnect(PCI)バスが含まれる。
【0021】
コンピュータ102は、通常、様々なコンピュータ読取り可能媒体を含む。コンピュータ読取り可能媒体は、コンピュータ102がアクセス可能な任意の使用可能媒体であってよく、揮発性および不揮発性媒体、取外し可能および取外し不能媒体のどちらも含まれる。限定的ではなく例示的なものとして例を挙げると、コンピュータ読取り可能媒体は、コンピュータストレージ媒体および通信メディアを含むことができる。コンピュータストレージ媒体には、コンピュータ読取り可能命令、データ構造、プログラムモジュール、または他のデータなどの情報ストレージのための任意の方法または技術で実施された、揮発性および不揮発性、取外し可能および取外し不能のどちらの媒体も含まれる。コンピュータストレージ媒体には、RAM、ROM、EEPROM、フラッシュメモリ、または他のメモリ技術、CDE−ROM、デジタル汎用ディスク(DVD)または他の光ディスクストレージ装置、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージ装置、あるいは、所望の情報をストアするのに使用可能であり、コンピュータ102がアクセス可能な他の媒体が含まれるが、これらに限定されるものではない。典型的に通信メディアは、コンピュータ読取り可能命令、データ構造、プログラムモジュール、または他のデータを、搬送波または他の移送メカニズムなどの被変調データ信号で具体化するものであって、任意の情報伝達メディアを含む。「被変調データ信号」という用語は、その特徴セットのうち1つ以上を有する信号、または信号内の情報を符号化する方法などで変更された信号を意味する。限定的ではなく例示的なものとして例を挙げると、通信メディアには、有線ネットワークまたは直接線接続などの有線メディアと、音響(acoustic)、RF、赤外線、および他の無線メディアなどの無線メディアとが含まれる。上記いずれかを組み合わせる場合は、コンピュータ読取り可能媒体の範囲内であるものとする。
【0022】
システムメモリ106には、読取り専用メモリ(ROM)110およびランダムアクセスメモリ(RAM)112などの、揮発性および/または不揮発性メモリ形態のコンピュータストレージ媒体が含まれる。起動時などにコンピュータ102内の要素間で情報を転送するのに役立つ基本ルーチンを含む、基本入出力システム114(BIOS)は、典型的にはROM110にストアされており、RAM112には、典型的には、即時アクセス可能および//または現在処理ユニット104によって動作中であるファイルおよび/またはプログラムモジュールが含まれる。限定的ではなく例示的なものとして例を挙げると、図1は、オペレーティングシステム132、アプリケーションプログラム134、他のプログラムモジュール136、およびプログラムデータ138を例示している。さらにコンピュータ102は、以下で述べるように、システム132のファイル形式を定義し、バージョン固有プロパティ形式を定義するファイルシステムを備える。
【0023】
コンピュータ102は、他の取外し可能/取外し不能、揮発性/不揮発性のコンピュータストレージ媒体を含むこともできる。例示的な目的でのみ例を挙げると、図1には、取外し不能、不揮発性磁気媒体との間で読取り/書込みを行うハードディスクドライブ116、取外し可能、不揮発性磁気ディスク120との間で読取り/書込みを行う磁気ディスクドライブ118、およびCD−ROMまたは他の光学式媒体などの取外し可能、不揮発性光ディスク124との間で読取り/書込みを行う光ディスクドライブ122が例示されている。例示的な動作環境において使用できる他の取外し可能/取外し不能、揮発性/不揮発性のコンピュータストレージ媒体には、磁気テープカセット、フラッシュメモリカード、デジタル汎用ディスク、デジタルビデオテープ、ソリッドステートRAM、ソリッドステートROMなどが含まれるが、これらに限定されるものではない。ハードディスクドライブ116は、典型的にはインターフェース126などの取外し不能メモリインターフェースを介してシステムバス108に接続され、磁気ディスクドライブ118および光ディスクドライブ122は、典型的には、それぞれインターフェース128および130などのメモリインターフェースによってシステムバス108に接続される。
【0024】
以上で説明し、図1に例示したドライブ、およびそれに関連するコンピュータストレージ媒体は、コンピュータ102に関するコンピュータ読取り可能命令、データ構造、プログラムモジュール、および他のデータのストレージを提供するものである。例えば図1では、ハードディスクドライブ116は、オペレーティングシステム132、アプリケーションプログラム134、他のプログラムモジュール136、およびプログラムデータ138をストアするものとして示されている。
【0025】
ユーザは、キーボード140および、一般にマウス、トラックボール、またはタッチパッドと呼ばれるポインティングデバイス142などの入力装置を介して、コンピュータ102にコマンドおよび情報を入力することができる。他の入力装置(図示せず)は、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送用パラボラアンテナ、スキャナなどを含むことができる。これらおよび他の入力装置は、システムバス108に結合された入力インターフェース148を介して処理ユニット104に接続されることが多い。モニタ150または他の種類のディスプレイ装置も、ビデオアダプタ152を介してシステムバス108に接続することができる。コンピュータは、モニタに加え、図示されていないスピーカおよびプリンタなどの他の周辺出力装置を含むこともできる。
【0026】
コンピュータ102は、リモートコンピュータ154などの1つ以上のリモートコンピュータへの論理接続を使用するネットワーク環境において動作可能である。リモートコンピュータ154は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の共通ネットワークノードであってよく、典型的には、コンピュータ102に関して上記で述べた多くのまたはすべての要素を含む。
【0027】
LANネットワーク環境において使用される場合、コンピュータ102はネットワークインターフェースまたはアダプタ162を介してLANに接続される。WANネットワーク環境において使用される場合、コンピュータ102には典型的に、モデム164またはインターネットなどのWANを介して通信を確立するための他の手段が含まれる。モデム164は内蔵でも外付けでもよく、ユーザ入力インターフェース148または他の適切なメカニズムを介してシステムバス108に接続することができる。ネットワーク環境では、コンピュータ102に関連して描かれているプログラムモジュールまたはその一部を、リモートのメモリストレージ装置にストアすることができる。図示されたネットワーク接続は例示的なものであり、コンピュータ間に通信リンクを確立する他の手段も使用できることが理解できよう。
【0028】
図2は、本発明が実施可能な好適なソフトウェア動作環境200の一例を示す図である。ソフトウェア動作環境200は、好適な動作環境の一例を示したものにすぎず、本発明の使用または機能性の範囲を限定する意図はない。ソフトウェア環境200は、様々なファイル204、206、208、および210の形式および構造を定義する、ファイルシステム202を有する。通常、ファイルシステム202は、ファイルの命名、ストア、および組織化が行われる構造全体も提供する。さらにこのファイルシステムは、ファイルおよび任意のファイル関連項目にアクセスするためのプロトコルを提供する。本発明の一実施形態では、ファイルシステムは、Microsoft(登録商標) Corporationが製造したWindows(登録商標) NTファイルシステム(以下、「NTFS」という)である。NTFSに関する詳細は、David Soloman著「Inside Windows(登録商標) NT, Second Edition」第9章、Microsoft(登録商標) Press 1998年を参照されたい。他の実施形態では、他のファイルシステムプロトコルを使用可能である。
【0029】
図2に示されるように、ファイル204、206、208、および210は、それぞれヘッダ212、214、216、および218を有する。ヘッダ212、214、216、および218には、それぞれの各ファイルに関した情報が含まれる。ヘッダ情報は、ファイルが最後に修正された時間、ファイルが最後に保存された時間、ファイルの長さ、ファイルの名前など、ファイル属性を含むことができる。ヘッダ情報に加え、図2に示された2つのファイル208と210は、それぞれバージョン固有属性220と222も有する。このバージョン固有属性220と222はバージョン固有の情報を含み、それぞれファイル208と210に関して発生する他のイベントによって無効にすることができる。もちろん、ファイルシステムは、省略記号223と225で示されるように、バージョン固有属性を備えているか、または備えていない他の多くのファイルを含むことができる。
【0030】
図2に示されたソフトウェア環境200は、ファイルシステム202とアプリケーションプログラム224と226などのアプリケーションプログラムとの対話も図示している。一実施形態では、アプリケーションプログラム224と226は、サードパーティのアプリケーション、すなわち、ファイルシステム自体と一体になったアプリケーションとは対照的に、ファイルシステムと対話するアプリケーションである。アプリケーションプログラム224と226は、それぞれアプリケーションプログラムインターフェース228と230を介して、ファイルシステム202と対話することができる。さらにアプリケーションプログラムインターフェースは、例えばオペレーティングシステムインターフェース232などのオペレーティングシステムを介して、ファイルシステム202と通信する。別の実施形態(図示せず)では、アプリケーションプログラムインターフェース228は、ファイルシステム202と直接通信することができる。アプリケーションプログラムインターフェース230は、インターネット233などのコンピュータネットワークシステムを介して、オペレーティングシステムインターフェース234と通信する。さらに、オペレーティングシステムインターフェース234は、サーバコンピュータシステムのオペレーティングシステムインターフェースにも関係しており、アプリケーションプログラムインターフェースは、クライアントコンピュータシステムに関連付けられている。オペレーティングシステムインターフェース234は、ネットワークファイルシステムインターフェース235を介してファイルシステム202と通信する。
【0031】
図示されていないが、本発明には、アプリケーションプログラム224と226がファイルシステム202と直接通信するか、制御モジュールの他の層を介してファイルシステム202と通信する実施形態などの、他の実施形態を組み込むことができる。したがって、本発明には、ファイル204、206、208、および210などのファイルにアクセスするために何らかの形でファイルシステムと通信する、アプリケーションプログラム224と226などのアプリケーションまたはプログラムモジュールが含まれ、アクセスには、読取り、実行、更新、またはファイル上で実行される何らかの他の機能が含まれる。
【0032】
ファイルシステム202は、様々なシステム機能を提供する。ファイル204、206、208、および210に基本的な構造を与えることに加え、ファイルシステム202は、ファイルアクセス要求が既存のファイルに関するものであること、要求を作成しているモジュールが要求の作成および実行の許可を得ているかどうかなど、様々な機能を提供することができる。したがって、ファイルシステム202は、アプリケーションプログラム224と226並びに実際のファイル204、206、208、および210などの、アプリケーション間での対話をサービス層236に提供する。この対話層236は、アプリケーションプログラムインターフェース228、230が可能であるのに加え、オペレーティングシステムインターフェース232と234でも可能である。
【0033】
バージョン固有属性220と222に関して、本発明の一実施形態では、アプリケーションプログラム224と226が、それぞれファイル208と210に関するバージョン固有属性220と222を作成および使用することができる。あるいは、サービス層236がバージョン固有属性を作成および使用することができる。バージョン固有属性がいったん作成されると、他のアプリケーションはこの属性にアクセスし、バージョン固有属性220または222の評価に基づいてファイルに関する動作の実行を決定することができる。さらに、他方のアプリケーションは、アプリケーションが有効なバージョン固有属性の有無をテストすると異なる結果を生じさせるようなバージョン固有属性を無効にできる、ファイルに関する動作を実行することができる。
【0034】
特定の例では、サービス層236は、あるファイル、例えばファイル204、206、208、または210に任意の他のアプリケーションまたはモジュールがアクセスするたびに、ウィルスのスキャン機能およびクリーニング機能を実行するウィルススキャン機能を提供する。この例をさらに拡大すると、アプリケーションプログラム224は、ワードプロセッシングアプリケーションであってよく、ファイル204、206、208、および210は、テキストファイルなどのワードプロセッシングタイプのファイルである。このような場合、オペレーティングシステムインターフェースは、ウィルススキャンプログラムモジュールをサービス層236の一部として、実際にワードプロセッシングアプリケーションプログラム224がアクセスを要求するファイルのスキャンに使用することができる。この例でウィルススキャナは、ウィルスがスキャンされたファイルのバージョン固有属性220と222などの、バージョン固有属性を作成することができる。したがって、アプリケーションプログラム224が次にファイル208と210のうち1つに対して要求を作成した場合、ウィルススキャンアプリケーションは、他のスキャンオペレーションが必要であるかどうかを判定するために、バージョン固有属性220と222などの有効なバージョン固有属性の有無を識別するだけである。有効なバージョン固有属性が識別された場合、この特定例ではスキャンは不要である。これに対して、ファイル204または206にアクセスした際などにバージョン固有属性が識別されなかった場合、ウィルススキャンアプリケーションは、これらのファイルがスキャンされていないか、またはスキャンされてから修正されていると認識する。
【0035】
さらにウィルススキャンの例を見ていくと、ウィルススキャンアプリケーションがサービス層236の一部として、ファイル204または206のうち1つをスキャンすると想定した場合、新しいバージョン固有属性(図示せず)が作成され、スキャン済みのファイルに関連付けられる。その後、新しく作成された属性(図示せず)がファイルと共にストアされるため、この属性を将来のアクセス要求に利用することができる。
【0036】
他の実施形態では、バージョン固有属性を、他のアプリケーションがアクセスおよび評価できるデジタル署名を利用して符号化することができる。その後、このデジタル署名を調べて、ファイルが有効な複製であるかどうかを判定することができる。このような場合、ファイルが他のアプリケーションによって勝手に変更されていると、すなわち破損していると、デジタル署名は無効となる。無効化されたデジタル署名は、署名が存在しなかったものとして処理されるため、ファイルを無効として処理することができる。
【0037】
バージョン固有属性は、属性またはファイルへの無許可のアクセスを防ぐためにさらに他のセキュリティ情報を含むことができる。サービス層236はこの情報を、属性をロックしてウィルスアプリケーションなどの不適切なアプリケーションが使用できないようにする手段として使用する。サービス層は、有効なアプリケーションのみが属性またはファイルそれ自体にアクセスすることを保証する目的で、アクセス毎にバージョン固有属性を評価するように構成することができる。
【0038】
本発明を組み込んだファイル300の態様が図3に示されている。ファイル300には、ファイルデータ316、すなわちファイル情報それ自体と、この特定例では何らかの標準属性304を含み、その標準属性が時間やファイルの長さなどであってよい、一般情報を含んでいるヘッダ302とが含まれる。他の実施形態では、ヘッダには標準属性が含まれず、代わりに、図3に示すセクション306などの他のセクションに標準属性がストアされる場合がある。
【0039】
ファイル300は、図3に示されるようにバージョン固有属性308も有する。バージョン固有属性308には、3タイプの情報が含まれる。その1つがメタ情報セクション310であり、これは典型的には、属性の作成に使用されるサードパーティのアプリケーションの名前などの属性の名前、その他、属性の長さ、そのディスク上のアドレス位置などの情報を有する。
【0040】
バージョン固有属性308には、バージョン情報セクション312も含まれる。バージョン情報セクション312には、属性の作成に使用されたサードパーティのアプリケーションのバージョンなど、バージョン固有属性308の作成に使用された最も新しい特定アプリケーションのバージョンに関する情報が含まれる。すなわち、こうしたバージョン情報は、属性を評価しているプログラムモジュールと関連させることができるため、このタイプの情報専用にセクションが割り当てられる。
【0041】
バージョン固有属性308には、関連する更新に関する情報をファイルシステムに提供する際に使用されるマスク情報セクション314も含まれる。マスク情報セクション314は、本来、どのプロトコルまたはポリシーのイベントがバージョン固有属性308を無効化できるか、またはできないかを、他のアプリケーションまたはファイルシステムに指示するものである。
【0042】
特定の実施形態では、ファイルシステムの一部であるかまたはそうでないウィルススキャンアプリケーションによってバージョン固有属性308が作成されると、メタ情報セクション310は、バージョン固有属性308の作成に使用されたウィルススキャンアプリケーションの名前を保持することができる。さらにバージョン情報セクション312には、バージョン固有属性が作成された時に使用された特定のウィルス定義ファイルに関連する情報が含められることになる。ウィルススキャンアプリケーションは、最近検出されたウィルスを含めるために頻繁に更新されるので、この特定の場合ではバージョン情報が重要である。したがって、ウィルススキャンアプリケーションは、ファイルが以前にスキャンされたことがあるかどうかを判定するだけでなく、更新済みのウィルス定義ファイルを使用してスキャンされたかどうかも判定しなければならない。
【0043】
マスク情報セクション314に関して、ウィルススキャンアプリケーションがバージョン固有属性308を作成すると、マスク情報セクション314にはバージョン固有属性308の無効化を発生させるような特定のイベントが含められる可能性があり、このイベントはウィルススキャンアプリケーションに一意的に直接関係する場合がある。この特定の場合では、バージョン固有属性308の無効化を発生させることのあるこのようなイベントに、新しいファイルデータの追加またはファイルデータの消去のいずれかによるファイルデータセクション306の修正が含まれることがある。他の実施形態では、他の所定のイベントによってバージョン固有属性の無効化を発生させることがある。
【0044】
この特定の例では、具体的にはマスク情報セクション314に含めることができないためにバージョン固有属性が無効化されることのない所定のイベントに、読取り専用アクセスイベント、ファイル名の変更、またはファイル300のバックアップを含めることができる。実際には、イベントがバージョン固有属性を無効化しなければ、ファイル名が変更されたような場合でもその属性はファイルに付属のままとなる。
【0045】
バージョン固有属性308は、サードパーティのアプリケーション、例えばファイルシステムとは別のアプリケーションによって作成される。バージョン固有属性を作成する場合、サードパーティのアプリケーションは、名前、バージョン、およびマスクの情報を、ファイルシステムに提供する。次いでファイルシステムが属性を作成し、これを特定ファイルに関連付ける。本発明の一実施形態では、バージョン固有属性308を作成する方法の1つに、Windows(登録商標) NTFSに属性の作成を要求するサードパーティのアプリケーションが含まれる。この実施形態でバージョン固有属性を作成するのに使用されるコマンドが、表1に示される。表1に示されたコードは、ファイルa.txtがすでに作成されており、サードパーティのアプリケーションの名前が「Inoculan」と想定したものである。
【0046】
【表1】
Figure 0004348036
【0047】
表1に示されるように、サードパーティのアプリケーションはバージョン固有属性の作成を要求し、次いで、作成された属性が閉じる前に属性にデータを書き込むだけである。この機能を働かせるためには、ファイルシステムが事前にバージョン固有属性タイプを定義していなければならない。他の実施形態では、他の方法を使用してバージョン固有属性を作成し、これを配置することができる。バージョン固有属性308をいったん作成すると、ファイルがアクセスされたときに他のアプリケーションがこれを評価および/または無効化することができる。
【0048】
本発明の他の実施形態では、NTWriteFileコマンドの前に、バージョン固有属性のセキュリティの設定に関する他のコマンドを挿入することができる。各バージョン固有属性に、別々のセキュリティ記述子を作成または定義することができる。あるいは、各アプリケーション、例えばInoculanは、デジタル署名を使用して、そのアプリケーションが関係するバージョン固有プロパティの保全性を検証することができる。セキュリティのタイプがいったん定義されると、その情報をバージョン固有属性のNTWriteFileコマンドの前にストアすることができる。
【0049】
NTWriteFile動作後、NTClose動作を使用してバージョン固有属性を閉じることができる。
【0050】
ファイル300はバージョン固有属性を1つだけ有するように図示および説明されているが、ファイル300は、破断記号318で示されるような他のバージョン固有属性も含めて他の属性を有することもできる。実際に、いくつかのサードパーティのアプリケーションは、持続状態情報がファイルの一部としてストアされることを要求することが可能であり、したがってバージョン固有属性308などの多数のバージョン固有属性を作成し、ファイル300と共にストアすることができる。
【0051】
以上、例示的な物理環境について論じてきたが、以下のセクションでは、本発明の態様を具体化する動作モジュールについて説明する。本発明の様々な実施形態の論理的動作は、(1)コンピューティングシステム上で実行中のコンピュータが実施する一連のステップまたはプログラムモジュールとして、および/または(2)コンピューティングシステム内で相互接続されたハードウェアモジュールまたは論理モジュールとして実施される。この実施は、本発明を実施するコンピューティングシステムのパフォーマンス要件に依存する選択の問題である。したがって、本明細書に記載された本発明の実施形態を構成している論理動作は、動作(operation)、ステップ、またはモジュールと呼ばれることもある。
【0052】
図4は、本発明の態様によるファイルへのアクセスに関連する動作特性を示すフローダイアグラムである。フロー400が開始される前に、図2に示されたファイル204、206、208、または210などのファイルが、ファイルシステム202(図2)などのファイルシステム内に存在する。本発明の一実施形態では、いったんファイルが作成されると、そのファイルにアクセスしようと試みたときに、図4に関して図示および説明したフロー400が開始される。実際には、プロセス400はアクセス試行ステップS402で開始されるが、このアクセス試行ステップS402は、ファイルシステム内の任意のファイルの読取り、実行、または更新に関するものである。アクセス試行は、アプリケーションプログラム224(図2)などのサードパーティのアプリケーションによって、またはサービス層236(図2)によって実行することができる。
【0053】
アクセス試行ステップS402に続き、判断行為(determination act)ステップS404において、アクセスが無効化アクセスであるかどうかを判定する。アクセスが無効化アクセスであるかどうかの判定には、複数の特定ファイルにアクセスしていると想定した、各バージョン固有属性内にあるマスク情報の評価が含まれる。マスク情報を評価することにより、そのファイルへのどのタイプのアクセスが、特定のバージョン固有属性を無効にするように要求しているのかがわかる。したがって、マスク情報と実際のアクセス試行とを比較することにより、バージョン固有属性を無効にすべきかどうかがわかる。判断行為ステップS404でこのような適切な更新アクセス試行が識別されると、フローはYESの無効化動作ステップS406へと進む。
【0054】
本発明の一実施形態では、バージョン固有属性はウィルススキャンアプリケーションによって作成および使用される。このような状況では、判断行為ステップS404において、アクセス試行が適切な更新アクセスであるかどうかがウィルススキャンアプリケーションにより設定した基準に基づき判定される。すなわち、ウィルススキャンアプリケーションは、アクセス試行が、古いデータを変更するかまたは新しいデータを追加することによって実際のファイルデータを修正するかどうかなど、適切な更新アクセスとは何であるかを事前に決定している。例えば、特定のウィルススキャンアプリケーションは、新しいデータの作成を含み、ファイル中のデータにどんな変更が行われる場合でも必ずそのバージョン固有プロパティが無効化されることを希望することができる。変更がバージョン固有プロパティまたは他のファイルのメタデータまたは他のメタ情報にだけ関係する場合には、無効化は発生しない。
【0055】
別の実施形態では、反復子アプリケーションがバージョン固有属性を作成し、これを使用することができる。このような場合、反復子アプリケーションは、ファイルのデータまたはメタデータのいずれかにどんな変更が行われる場合でも必ず、そのバージョン固有プロパティが無効化されることを希望することができる。これら特定のバージョン固有プロパティは、このクラスのバージョン固有プロパティだけに影響を与えるのではないような変更が行われると、必ず無効化される。この場合、特定のクラスを定義することにより、複数の反復子が存在することでファイルが何度も反復されることを防いでおり、1つの反復子アプリケーションによる反復インスタンスは、それぞれ、第2の反復子アプリケーションによる反復の必要に応じて生じることになる。
【0056】
無効化動作ステップS406において、バージョン固有プロパティまたはバージョン固有属性308(図3)などの属性を無効にする。一実施形態では、無効化行為ステップS406で、バージョン固有属性を「無効化」するためにバージョン固有属性を削除または切り捨てる。あるいは、無効化動作ステップS406でバージョン固有属性にマークを付けるか、そうでなければ属性が無効である旨の表示を与える。本来、属性を無効にする行為は、バージョン固有属性に依拠したアプリケーションが、バージョン固有属性が無効化されていることを認識できるようにするものでなければならない。バージョン固有属性を無効化する他の方法には、無効化アクセスまたはバージョン固有属性への情報の追加、あるいはその中に含まれる情報の修正も含むことができる。無効化行為ステップS406では、時間変更、最終書込み時間、または最終アクセス時間などの他の項目は変更しない。
【0057】
ファイルが複数の関連するバージョン固有属性を有する場合、動作ステップS404およびS406は、それぞれのバージョン固有属性について繰返し行われる。
【0058】
無効化行為ステップS406に続き、アクセス実行動作ステップS408において、ファイルに対して要求されたアクセスを実行する。ファイルに対するアクセスを実行する行為は、バージョン固有属性が無効化された後に開始することが重要である。そうでないと、バージョン固有属性が信頼できなくなる可能性がある。アクセス実行動作ステップS408に続き、フロー400は終了動作ステップS410で終了する。
【0059】
判断行為ステップS404においてアクセス試行が無効化アクセスに関連していないと判定されると、フローはNOの判断動作ステップS412に進む。判断動作ステップS412では、アクセスがバージョン固有属性に依存しているかどうか、例えば、アクセス試行が動作を実行する際にバージョン固有属性を使用しているアプリケーションによるアクセス試行であるかどうかを判定する。例えば、バージョン固有属性を使用するウィルススキャンアプリケーションはアクセス試行を生成することが可能であり、その場合、判断動作ステップS412において、そのアクセス試行がバージョン固有属性を使用するそのようなアプリケーションによって生成されたものであるかどうかを判定する。
【0060】
アクセス試行がバージョン固有属性に依拠するアプリケーションによって実行されたものでない場合、フローはNOのアクセス実行動作ステップS408に進む。アクセス実行動作ステップS408では、最初に要求されたアクセス動作を実行する。判断動作ステップS412に続いてアクセス実行動作ステップS408が行われる場合、アクセス動作は、判断行為ステップS404が判定したような無効化を要求する動作には関連していない。例えば、このアクセス試行は、ユーザが実際のデータを修正できない読取り動作に関連していることがある。アクセス実行動作ステップS408に続き、プロセスのフローは前述のようにステップS410で終了する。
【0061】
判断動作ステップS412において、アクセスがバージョン固有属性に依存していると判定した場合、フローはYESの判断行為ステップS414に進む。判断行為ステップS414において、バージョン固有属性が有効であるかどうかを判定するためにこれを分析する。属性が有効であるかどうかの判定には、属性が存在するかどうか、これが無効としてマークされているかどうか、または情報がすべて利用できないように切り捨てられているかどうかが含まれる。判断行為ステップS414において属性が有効でないと判定されると、フローはNOの無効属性に関するアクセス実行行為ステップS416に進む。
【0062】
実行行為ステップS416では、アクセスが無効であるという判定に基づいて、所定の機能が実行される。一実施形態では、アクセス試行がウィルススキャンアプリケーションによって生成されたものである場合、実行動作ステップS416では、そのようなウィルススキャン機能をファイル上で実行する。
【0063】
無効属性に関する動作実行ステップS416に続き、バージョン固有属性作成行為ステップS418では、そのファイルに関してバージョン固有属性を作成または有効化する。バージョン固有属性の有効化には、そのファイルのバージョン固有属性を作成すること、または既存のバージョン固有属性に情報を追加することが含まれる。他の実施形態では、属性が有効であるという表示を与えることによって、後に属性が有効であることがわかる限りは、他の方法で属性を有効化することができる。バージョン固有属性有効化行為ステップS418に続き、プロセス400は終了動作ステップS410で終了する。
【0064】
判断行為ステップS414においてバージョン固有属性が有効であると判定された場合、フローはYESの実行動作ステップS420に進む。実行動作ステップS420は、バージョン固有属性が有効であるという判定に関する任意の行為を実行することに関する。バージョン固有属性を使用する特定のアプリケーションによって、実行動作ステップS420には異なるタイプの動作が含まれることがある。一例では、属性が有効であると判定された場合、ウィルススキャン状況などでは何の動作も実行されない。このような場合、判断行為ステップS414においてバージョン固有属性が有効であると判定されると、ファイルは以前にスキャンされているため、他のスキャンは不要である。したがって、そのファイルについては何の動作も実行されず、動作ステップS420は終了動作ステップS410に制御を渡すだけである。他の実施形態では、バージョン固有属性が有効であると判定されると、ステップS420で動作が実行開始される場合がある。
【0065】
前述のシステムおよび方法は、バージョン情報が別のログまたはデータベースファイルに常駐しているのではなく、ファイルの一部であるため、バージョン情報をプログラムモジュールまたはアプリケーションに提供するという従来の方法に比べてかなり有利である。アクセス側のアプリケーションは、利用不能、破損、その他管理不能になる可能性がある外付けタイプのファイルにアクセスする必要がない。さらに、電源が切断されてもファイル属性は失われず、属性は、インメモリ情報ログの場合のように大量の動作メモリを消費せずに済む。さらに、プロセスは自動的に更新され、すなわち、関連するイベントが発生したときにはバージョン固有情報が無効化される。バージョン固有情報を自動的に無効化することにより、関連する適切な更新は見逃されることがなく、不要な行為は実行されない確率が高くなる。例えば、ウィルススキャンの実施に関して言えば、従来技術の方法では、バックアップ機能および/または複製機能の後ではこのようなバージョン情報は保持されなかったため、追加の処理ステップが実行されていたが、バージョン情報はバックアップ機能や複製機能では無効化されなくなっているため、将来アクセスしたときにウィルススキャンは不要である。
【0066】
前述のように、本明細書に記載した本発明は、コンピュータプロセス、コンピューティングシステム、またはコンピュータプログラムプロダクツなどの製造物として実施することができる。コンピュータプログラムプロダクツは、コンピュータシステム、およびコンピュータプロセスを実行するためのコンピュータプログラム命令の符号化によって読取り可能な、コンピュータストレージ媒体であってよい。さらにコンピュータプログラムプロダクツは、コンピューティングシステム、およびコンピュータプロセスを実行するためのコンピュータプログラム命令の符号化によって読取り可能な、搬送波上の伝搬信号であってもよい。
【0067】
さらに、本発明は構造上の特徴および/または方法論的ステップに固有の言語で記述されているが、添付の特許請求の範囲で定義された本発明は、記載されている特定の特徴またはステップに限定されるものではないことを理解されたい。一例として、他のアプリケーションでは、ウィルススキャンアプリケーションおよび反復子の他にも、バージョン固有属性を利用することができる。さらに、他のタイプのファイルシステムも、本発明の原理から恩恵を受けることができる。したがって、特定の特徴およびステップは、記載された本発明を実施する好ましい形態として開示されたものである。
【図面の簡単な説明】
【図1】本発明を組み込むことのできるコンピュータシステムの機能図である。
【図2】本発明のソフトウェア構成要素を示す構成図である。
【図3】本発明によるファイルの構成要素を示す機能図である。
【図4】本発明の一実施形態の機能的な特徴を示すフローダイアグラムである。
【符号の説明】
100 コンピューティングシステム環境(動作環境)
102 コンピュータ
104 処理ユニット
106 システムメモリ
108 システムバス
114 基本入出力システム
116 ハードディスクドライブ
118 磁気ディスクドライブ
120 不揮発性磁気ディスク
122 光ディスクドライブ
124 不揮発性光ディスク
126 ハードディスクドライブインターフェース
128 磁気ディスクドライブインターフェース
132 オペレーティングシステム
134,224,226 アプリケーションプログラム
136 プログラムモジュール
138 プログラムデータ
140 キーボード
142 ポインティングデバイス
148 ユーザ入力インターフェース
150 モニタ
152 ビデオアダプタ
154 リモートコンピュータ
162 アダプタ
164 モデム
200 ソフトウェア動作環境
202 ファイルシステム
204,206,208,210,316 ファイルデータ
212,214,216,218,302 ヘッダ
220,222,308 バージョン固有属性
223,225 省略記号
224 アプリケーションプログラム
228,230 アプリケーションプログラムインターフェース(API)
232,234 オペレーティングシステムインターフェース
233 インターネット
235 ネットワークファイルシステムインターフェース
236 サービス層(対話層)
300 ファイル
304 標準属性
306 ファイルデータセクション
310 メタ情報セクション
312 バージョン情報セクション
314 マスク情報セクション
318 破断記号
400 プロセス(フロー)

Claims (11)

  1. コンピュータシステムにストアされたファイルに、前記ファイルの作成に使用されたアプリケーションとは独立のウイルススキャンアプリケーションに関係するバージョン固有情報を提供する方法であって、
    前記方法は、
    前記ウイルススキャンアプリケーションからの要求に応答して、前記ファイルに関連付けられるバージョン固有属性であって、前記ウイルススキャンアプリケーションに関係するバージョン固有情報を含むバージョン固有属性を作成するステップと、
    所定のファイルオペレーション要求を前記アプリケーションから受信して、前記作成されたバージョン固有属性を無効化することにより、前記バージョン固有属性を保守して前記ファイルに適切な更新を反映するステップと、
    前記ウイルススキャンアプリケーションから前記バージョン固有属性を評価する要求を受け取るステップと、
    前記バージョン固有属性を評価する要求に応答して前記バージョン固有属性を前記ウイルススキャンアプリケーションに提供するステップと、
    前記提供されたバージョン固有属性が無効な場合に、バージョン固有属性を再作成して、前記ファイルに提供するステップと
    を含み、
    前記バージョン固有属性は、所定のファイルオペレーション要求が前記バージョン固有属性を無効化することに関連する情報を含むマスク情報を含み、前記無効化は前記マスク情報の評価に基づいて行われることを特徴とする方法。
  2. 前記バージョン固有情報はウイルス定義ファイルのバージョンに関係する情報であることを特徴とする請求項1に記載の方法。
  3. 前記所定のファイルオペレーション要求はファイルデータの更新であることを特徴とする請求項1に記載の方法。
  4. 前記バージョン固有属性内にセキュリティ情報を提供するステップをさらに含むことを特徴とする請求項1に記載の方法。
  5. 請求項1乃至4のいずれかに記載の方法を実行する、コンピュータ読み取り可能なコンピュータプログラム。
  6. コンピュータシステムにストアされたファイルにアクセスする方法であって、
    前記ファイルは、前記ファイルの作成に使用されたアプリケーションとは独立のウイルススキャンアプリケーションによって提供される関連付けられたバージョン固有属性であって、前記ウイルススキャンアプリケーションに関係するメタ情報と、所定のファイルオペレーション要求がバージョン固有属性を無効化することに関連する情報を提供するマスク情報とを含むバージョン固有属性を有し、
    前記方法は、
    前記所定のファイルオペレーション要求を受信するステップと、
    前記所定のファイルオペレーション要求が前記ファイルへのアクセスを無効化することに関係するものであるか否かを、前記マスク情報を評価することによって判定するステップと、
    前記所定のファイルオペレーション要求が前記ファイルへのアクセスを無効化することに関係するものである場合は、前記バージョン固有属性を無効にした上で前記所定のファイルオペレーションを実行するステップと、
    前記所定のファイルオペレーション要求が前記ファイルへのアクセスを無効化することに関係するものでない場合は、前記所定のファイルオペレーションが前記バージョン固有属性に依存するかどうかを判定し、依存すると判定され、さらに、前記バージョン固有属性が無効であると判定された場合には、前記バージョン固有属性を有効にするステップと
    を含むことを特徴とする方法。
  7. 請求項6に記載の方法を実行する、コンピュータ読み取り可能なコンピュータプログラム。
  8. コンピュータのファイルシステム内のファイルについてのバージョン固有情報を管理するコンピュータプロセスを実行する、コンピュータ読み取り可能なコンピュータプログラムであって、
    コンピュータに、
    バージョン固有情報を、前記ファイルについてのバージョン固有属性であって、前記ファイルの生成に使用されたアプリケーションとは独立のウイルススキャンアプリケーションに関係するメタ情報と、所定のファイルオペレーション要求が前記バージョン固有属性を無効化することに関連する情報を提供するマスク情報とを含むバージョン固有属性を生成する属性として格納するステップと、
    所定のファイルオペレーション要求に応答して、マスク情報を評価することによって前記バージョン固有属性を無効化するステップと
    を含むコンピュータプロセスを実行させるためのコンピュータプログラム。
  9. 前記バージョン固有情報は前記ウイルススキャンアプリケーションに使用されるウイルス定義ファイルに関係する情報であることを特徴とする請求項に記載のコンピュータプログラム。
  10. 前記所定のファイルオペレーション要求は前記ファイルの修正に関係することを特徴とする請求項に記載のコンピュータプログラム。
  11. 前記バージョン固有属性は、複製、名前変更、またはバックアップのうちの1つのファイルオペレーションが実行された後でも損なわれないことを特徴とする請求項10に記載のコンピュータプログラム。
JP2001398349A 2000-12-27 2001-12-27 ファイル中にバージョン固有プロパティを作成し保持する方法およびシステム Expired - Fee Related JP4348036B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/750,366 2000-12-27
US09/750,366 US7058667B2 (en) 2000-12-27 2000-12-27 Method and system for creating and maintaining version-specific properties in a file

Publications (3)

Publication Number Publication Date
JP2002229826A JP2002229826A (ja) 2002-08-16
JP2002229826A5 JP2002229826A5 (ja) 2005-10-27
JP4348036B2 true JP4348036B2 (ja) 2009-10-21

Family

ID=25017571

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001398349A Expired - Fee Related JP4348036B2 (ja) 2000-12-27 2001-12-27 ファイル中にバージョン固有プロパティを作成し保持する方法およびシステム

Country Status (5)

Country Link
US (2) US7058667B2 (ja)
EP (1) EP1235143B1 (ja)
JP (1) JP4348036B2 (ja)
AT (1) ATE431942T1 (ja)
DE (1) DE60138753D1 (ja)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058667B2 (en) * 2000-12-27 2006-06-06 Microsoft Corporation Method and system for creating and maintaining version-specific properties in a file
US20020147985A1 (en) * 2001-04-05 2002-10-10 Koji Miyajima Video distribution system and video distribution method
JP3946057B2 (ja) * 2002-03-01 2007-07-18 富士通株式会社 整合性検査支援方法および整合性検査支援システム
JP2003288211A (ja) * 2002-03-27 2003-10-10 Minolta Co Ltd ネットワーク管理プログラム
US7519984B2 (en) * 2002-06-27 2009-04-14 International Business Machines Corporation Method and apparatus for handling files containing confidential or sensitive information
JP3979285B2 (ja) * 2002-12-17 2007-09-19 株式会社日立製作所 情報処理システム
WO2005041043A1 (ja) 2003-10-22 2005-05-06 Olympus Corporation ファイル生成方法及びファイル検索方法
EP2442576A3 (en) 2004-04-26 2013-08-21 Olympus Corporation Generating, editing and updating data of a stereoscopic image file, generating a stereoscopic image file and reproducing data therefrom
JP4642375B2 (ja) * 2004-04-26 2011-03-02 オリンパス株式会社 画像処理装置、画像加工・編集装置、画像ファイル再生装置、画像処理方法、画像加工・編集方法及び画像ファイル再生方法
JP4589651B2 (ja) * 2004-04-26 2010-12-01 オリンパス株式会社 画像処理装置、画像加工・編集装置、画像ファイル再生装置、画像処理方法、画像加工・編集方法及び画像ファイル再生方法
US20060117008A1 (en) * 2004-11-17 2006-06-01 Kabushiki Kaisha Toshiba File management apparatus and file management program
US7873596B2 (en) 2006-05-23 2011-01-18 Microsoft Corporation Extending cluster allocations in an extensible file system
US8321439B2 (en) 2004-12-17 2012-11-27 Microsoft Corporation Quick filename lookup using name hash
US8606830B2 (en) 2004-12-17 2013-12-10 Microsoft Corporation Contiguous file allocation in an extensible file system
US9639554B2 (en) 2004-12-17 2017-05-02 Microsoft Technology Licensing, Llc Extensible file system
US20060161911A1 (en) * 2005-01-18 2006-07-20 Barrs John W Method and apparatus for managing versioning data in a network data processing system
US7395386B2 (en) * 2005-01-18 2008-07-01 Lenovo (Singapore) Pte. Ltd. Method and apparatus for data versioning and recovery using delta content save and restore management
US7565645B2 (en) * 2005-01-18 2009-07-21 Lenovo (Singapore) Pte Ltd. Method and apparatus for marking code for data versioning
US20060161601A1 (en) * 2005-01-18 2006-07-20 Barrs John W Heap manager and application programming interface support for managing versions of objects
US20060161602A1 (en) * 2005-01-18 2006-07-20 Barrs John W Object based access application programming interface for data versioning
US20060161576A1 (en) * 2005-01-18 2006-07-20 Barrs John W Method and apparatus for dimensional data versioning and recovery management
US20060161751A1 (en) * 2005-01-18 2006-07-20 Barrs John W Virtual memory management infrastructure for monitoring deltas and supporting undo versioning in a paged memory system
US20060161603A1 (en) * 2005-01-18 2006-07-20 Barrs John W Platform infrastructure to provide an operating system based application programming interface undo service
US20060161912A1 (en) * 2005-01-18 2006-07-20 Barrs John W Infrastructure for device driver to monitor and trigger versioning for resources
US7882561B2 (en) 2005-01-31 2011-02-01 Microsoft Corporation System and method of caching decisions on when to scan for malware
US7581250B2 (en) * 2005-02-17 2009-08-25 Lenovo (Singapore) Pte Ltd System, computer program product and method of selecting sectors of a hard disk on which to perform a virus scan
US20060253503A1 (en) * 2005-05-05 2006-11-09 International Business Machines Corporation Method and apparatus for aging a versioned heap system
US7805419B2 (en) * 2005-07-11 2010-09-28 Application Security, Inc. System for tracking and analyzing the integrity of an application
JP2007034623A (ja) * 2005-07-26 2007-02-08 Sharp Corp コンピュータウイルスの検出方法、プログラム、プログラムが記憶された記録媒体およびコンピュータウイルスの検出装置
US8984636B2 (en) 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
US7895651B2 (en) 2005-07-29 2011-02-22 Bit 9, Inc. Content tracking in a network security system
US8272058B2 (en) 2005-07-29 2012-09-18 Bit 9, Inc. Centralized timed analysis in a network security system
JP2007128448A (ja) * 2005-11-07 2007-05-24 Sony Corp ファイルシステム及びファイル情報処理方法
US8205150B2 (en) * 2007-01-22 2012-06-19 Cfph, Llc Document changes
US20090094698A1 (en) * 2007-10-09 2009-04-09 Anthony Lynn Nichols Method and system for efficiently scanning a computer storage device for pestware
WO2009062182A1 (en) 2007-11-09 2009-05-14 Topia Technology Architecture for management of digital files across distributed network
US7818293B2 (en) * 2008-01-02 2010-10-19 International Business Machines Corporation Method and system to synchronize updated versions of a document edited on a collaborative site that are under document management control
US8856088B2 (en) * 2008-04-01 2014-10-07 Microsoft Corporation Application-managed file versioning
US20100153919A1 (en) * 2008-12-11 2010-06-17 Wolfram Kramer Systems and methods for tracking software stands in a software production landscape
US8312548B1 (en) * 2009-04-24 2012-11-13 Network Appliance, Inc. Volume metadata update system for antivirus attributes
US9165285B2 (en) 2010-12-08 2015-10-20 Microsoft Technology Licensing, Llc Shared attachments
US8682989B2 (en) 2011-04-28 2014-03-25 Microsoft Corporation Making document changes by replying to electronic messages
US10552799B2 (en) 2011-04-28 2020-02-04 Microsoft Technology Licensing, Llc Upload of attachment and insertion of link into electronic messages
US11308449B2 (en) 2011-04-28 2022-04-19 Microsoft Technology Licensing, Llc Storing metadata inside file to reference shared version of file
US9137185B2 (en) 2011-04-28 2015-09-15 Microsoft Technology Licensing, Llc Uploading attachment to shared location and replacing with a link
US10185932B2 (en) 2011-05-06 2019-01-22 Microsoft Technology Licensing, Llc Setting permissions for links forwarded in electronic messages
US9172771B1 (en) 2011-12-21 2015-10-27 Google Inc. System and methods for compressing data based on data link characteristics
US8560579B1 (en) * 2011-12-21 2013-10-15 Google Inc. Systems and methods for managing a network by generating files in a virtual file system
KR20130089114A (ko) * 2012-02-01 2013-08-09 삼성전자주식회사 미디어 파일을 관리하기 위한 장치 및 그 방법
JP6013895B2 (ja) * 2012-12-12 2016-10-25 株式会社日立情報通信エンジニアリング ファイル管理システム及び方法、プログラム
US9471798B2 (en) 2013-09-20 2016-10-18 Oracle International Corporation Authorization policy objects sharable across applications, persistence model, and application-level decision-combining algorithm
US10171437B2 (en) * 2015-04-24 2019-01-01 Oracle International Corporation Techniques for security artifacts management
US10489599B2 (en) 2015-07-02 2019-11-26 Oracle International Corporation Data encryption service and customized encryption management
US10102190B2 (en) 2015-12-28 2018-10-16 Microsoft Technology Licensing, Llc. Memory conserving versioning of an electronic document
US20170357494A1 (en) * 2016-06-08 2017-12-14 International Business Machines Corporation Code-level module verification
US12111944B2 (en) * 2017-03-16 2024-10-08 Jun Yu Method and system for policy based real time data file access control
CN110287061B (zh) * 2019-06-25 2023-05-16 重庆城市职业学院 基于计算机的信息维护系统
KR102088170B1 (ko) * 2019-08-27 2020-03-12 루나 주식회사 신구 데이터간의 차분에 대한 데이터 구조화 방법 및 그 디바이스
CN112651026B (zh) * 2020-12-30 2024-05-24 微梦创科网络科技(中国)有限公司 一种具有业务安全问题的应用版本挖掘方法及装置

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5852740A (ja) 1981-09-24 1983-03-29 Fujitsu Ltd 区分編成フアイルの復元処理制御方式
JPH02226442A (ja) 1989-02-28 1990-09-10 Toshiba Corp データベースシステムのデッドロック防止方式
US5117352A (en) 1989-10-20 1992-05-26 Digital Equipment Corporation Mechanism for fail-over notification
US5161227A (en) 1989-11-13 1992-11-03 International Business Machines Corporation Multilevel locking system and method
US5459862A (en) 1990-06-14 1995-10-17 Sunquest Informaion Systems, Inc. Network concurrency control for autonomous databases featuring independent lock release and lock ownership transfer
US5367671A (en) 1990-09-25 1994-11-22 International Business Machines Corp. System for accessing extended object attribute (EA) data through file name or EA handle linkages in path tables
JPH04308961A (ja) 1991-01-18 1992-10-30 Ncr Corp 占有されたプロセスの同期ロックの状態を通知するための手段及び装置
US5485601A (en) * 1992-05-14 1996-01-16 Ching; Hugh Completely automated and self-generating software system
US5485607A (en) 1993-02-05 1996-01-16 Digital Equipment Corporation Concurrency-control method and apparatus in a database management system utilizing key-valued locking
US5537529A (en) * 1993-04-22 1996-07-16 Apple Computer, Inc. Apparatus and method for creating versions of computer models and creating communications incorporating created versions therefrom
US5499365A (en) * 1993-08-04 1996-03-12 International Business Machines Corporation System and method for controlling versions of objects in an object oriented computing environment
US5515522A (en) * 1994-02-24 1996-05-07 Hewlett-Packard Company Coherence index generation for use by an input/output adapter located outside of the processor to detect whether the updated version of data resides within the cache
US5806078A (en) * 1994-06-09 1998-09-08 Softool Corporation Version management system
JPH08147159A (ja) 1994-11-16 1996-06-07 Hitachi Ltd 情報処理装置
US5745747A (en) 1995-02-06 1998-04-28 International Business Machines Corporation Method and system of lock request management in a data processing system having multiple processes per transaction
US5701452A (en) 1995-04-20 1997-12-23 Ncr Corporation Computer generated structure
JPH0934763A (ja) * 1995-07-19 1997-02-07 Fuji Xerox Co Ltd ファイル管理装置およびファイル管理方法
US6067410A (en) * 1996-02-09 2000-05-23 Symantec Corporation Emulation repair system
US5729743A (en) * 1995-11-17 1998-03-17 Deltatech Research, Inc. Computer apparatus and method for merging system deltas
JP3392283B2 (ja) 1996-02-23 2003-03-31 株式会社日立情報システムズ コンピュータウィルスの侵入防止方法
US6366930B1 (en) * 1996-04-12 2002-04-02 Computer Associates Think, Inc. Intelligent data inventory & asset management systems method and apparatus
US5832484A (en) 1996-07-02 1998-11-03 Sybase, Inc. Database system with methods for parallel lock management
US5996113A (en) * 1996-11-26 1999-11-30 Intel Corporation Method and apparatus for generating digital checksum signatures for alteration detection and version confirmation
US5892904A (en) * 1996-12-06 1999-04-06 Microsoft Corporation Code certification for network transmission
US6374250B2 (en) 1997-02-03 2002-04-16 International Business Machines Corporation System and method for differential compression of data from a plurality of binary sources
US5999947A (en) * 1997-05-27 1999-12-07 Arkona, Llc Distributing database differences corresponding to database change events made to a database table located on a server computer
US6141720A (en) 1997-06-12 2000-10-31 Cabletron Systems, Inc. Method and apparatus for coordination of a shared object in a distributed system
US5909689A (en) * 1997-09-18 1999-06-01 Sony Corporation Automatic update of file versions for files shared by several computers which record in respective file directories temporal information for indicating when the files have been created
US6026401A (en) 1997-10-14 2000-02-15 International Business Machines Corporation Locking tool data objects in a framework environment
US5991774A (en) * 1997-12-22 1999-11-23 Schneider Automation Inc. Method for identifying the validity of an executable file description by appending the checksum and the version ID of the file to an end thereof
US6035423A (en) * 1997-12-31 2000-03-07 Network Associates, Inc. Method and system for providing automated updating and upgrading of antivirus applications using a computer network
US6052531A (en) * 1998-03-25 2000-04-18 Symantec Corporation Multi-tiered incremental software updating
US6209128B1 (en) * 1998-06-05 2001-03-27 International Business Machines Corporation Apparatus and method for providing access to multiple object versions
US6604236B1 (en) 1998-06-30 2003-08-05 Iora, Ltd. System and method for generating file updates for files stored on read-only media
US6562076B2 (en) 1998-08-31 2003-05-13 Xerox Corporation Extending application behavior through active properties attached to a document in a document management system
US6577920B1 (en) * 1998-10-02 2003-06-10 Data Fellows Oyj Computer virus screening
US6412034B1 (en) 1999-04-16 2002-06-25 Oracle Corporation Transaction-based locking approach
US6629127B1 (en) 1999-07-26 2003-09-30 Microsoft Corporation Methods and systems for processing HTTP requests
US6377960B1 (en) * 1999-07-26 2002-04-23 Microsoft Corporation Transactional configuration store and runtime versus administration isolation with version snapshots and aging
US6609128B1 (en) * 1999-07-30 2003-08-19 Accenture Llp Codes table framework design in an E-commerce architecture
US6636242B2 (en) * 1999-08-31 2003-10-21 Accenture Llp View configurer in a presentation services patterns environment
US6865549B1 (en) 1999-11-15 2005-03-08 Sun Microsystems, Inc. Method and apparatus for concurrency control in a policy-based management system
US6529905B1 (en) 2000-01-11 2003-03-04 Frontline Solutions, Inc. Method and system for allowing multiple users to edit a hierarchical data structure
US6763466B1 (en) * 2000-01-11 2004-07-13 Networks Associates Technology, Inc. Fast virus scanning
US6721767B2 (en) * 2000-01-31 2004-04-13 Commvault Systems, Inc. Application specific rollback in a computer system
US6856630B2 (en) * 2000-02-02 2005-02-15 Semiconductor Energy Laboratory Co., Ltd. Beam homogenizer, laser irradiation apparatus, semiconductor device, and method of fabricating the semiconductor device
US6598060B2 (en) * 2000-12-27 2003-07-22 Microsoft Corporation Method and system for creating and maintaining version-specific properties in a distributed environment
US7058667B2 (en) 2000-12-27 2006-06-06 Microsoft Corporation Method and system for creating and maintaining version-specific properties in a file
US6625698B2 (en) 2000-12-28 2003-09-23 Unisys Corporation Method and apparatus for controlling memory storage locks based on cache line ownership
US6748470B2 (en) 2001-11-13 2004-06-08 Microsoft Corporation Method and system for locking multiple resources in a distributed environment

Also Published As

Publication number Publication date
US20060242208A1 (en) 2006-10-26
US7058667B2 (en) 2006-06-06
EP1235143B1 (en) 2009-05-20
DE60138753D1 (de) 2009-07-02
EP1235143A3 (en) 2005-08-10
JP2002229826A (ja) 2002-08-16
US20020116406A1 (en) 2002-08-22
EP1235143A2 (en) 2002-08-28
ATE431942T1 (de) 2009-06-15
US7849054B2 (en) 2010-12-07

Similar Documents

Publication Publication Date Title
JP4348036B2 (ja) ファイル中にバージョン固有プロパティを作成し保持する方法およびシステム
JP4416366B2 (ja) 分散型環境においてバージョン固有プロパティを作成し維持するための方法、および、システム
US8180812B2 (en) Templates for configuring file shares
US7272606B2 (en) System and method for detecting and storing file content access information within a file system
US7912866B2 (en) System and method for detecting and storing file identity change information within a file system
US6449615B1 (en) Method and system for maintaining the integrity of links in a computer network
US9424266B2 (en) Efficient file hash identifier computation
US7831560B1 (en) Snapshot-aware secure delete
US20080307138A1 (en) Method and system for locking resources in a distributed environment
US20070118700A1 (en) System and methods for sharing configuration information with multiple processes via shared memory
US9430160B2 (en) Consistency without ordering dependency
CN1606011A (zh) 用于处理文件请求的方法和系统
TW200408980A (en) System and method for managing file names for file system filter drivers
KR20090079933A (ko) 제한된 네임스페이스 환경에서의 역 네임 맵핑을 위한, 자원으로의 액세스를 제한하는 시스템 및 파일 시스템의 구성요소로의 액세스를 제한하는 방법 및 컴퓨터-판독가능 매체
US20090313702A1 (en) Content transfer control
US20060117048A1 (en) Method and system of synchronizing filter metadata after a restore
WO2009123342A1 (ja) データベースシステム、データベース更新方法、データベース、及びデータベース更新プログラム
US8635331B2 (en) Distributed workflow framework
KR100604239B1 (ko) 다양한 파일 록킹 프로토콜에 대한 단일 파일 록킹 의미론을 실시하여 파일 서버를 동작하는 방법 및 이 방법에 의해 동작되는 파일 서버
US20100293197A1 (en) Directory Opportunistic Locks Using File System Filters
Hogan et al. Examining Semantics In Multi-Protocol Network File Systems
Hogan et al. Examining Semantics In Multi-Protocol Network File Systems (CMU-CS-02-103)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041227

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050902

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080229

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080529

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080603

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080630

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080703

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080731

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080805

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080901

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090330

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20090401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090401

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090513

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090619

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090717

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120724

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120724

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130724

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees