JP4348036B2 - ファイル中にバージョン固有プロパティを作成し保持する方法およびシステム - Google Patents
ファイル中にバージョン固有プロパティを作成し保持する方法およびシステム Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99954—Version 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
【発明の属する技術分野】
本発明は一般にファイルシステムに関し、より詳細には、特定のファイルシステムで各ファイルの一部としてストアされるファイル属性の形式および管理に関する。さらに詳細には、本発明は、サードパーティのアプリケーション(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】
【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に記載の方法。
- 前記所定のファイルオペレーション要求はファイルデータの更新であることを特徴とする請求項1に記載の方法。
- 前記バージョン固有属性内にセキュリティ情報を提供するステップをさらに含むことを特徴とする請求項1に記載の方法。
- 請求項1乃至4のいずれかに記載の方法を実行する、コンピュータ読み取り可能なコンピュータプログラム。
- コンピュータシステムにストアされたファイルにアクセスする方法であって、
前記ファイルは、前記ファイルの作成に使用されたアプリケーションとは独立のウイルススキャンアプリケーションによって提供される関連付けられたバージョン固有属性であって、前記ウイルススキャンアプリケーションに関係するメタ情報と、所定のファイルオペレーション要求がバージョン固有属性を無効化することに関連する情報を提供するマスク情報とを含むバージョン固有属性を有し、
前記方法は、
前記所定のファイルオペレーション要求を受信するステップと、
前記所定のファイルオペレーション要求が前記ファイルへのアクセスを無効化することに関係するものであるか否かを、前記マスク情報を評価することによって判定するステップと、
前記所定のファイルオペレーション要求が前記ファイルへのアクセスを無効化することに関係するものである場合は、前記バージョン固有属性を無効にした上で前記所定のファイルオペレーションを実行するステップと、
前記所定のファイルオペレーション要求が前記ファイルへのアクセスを無効化することに関係するものでない場合は、前記所定のファイルオペレーションが前記バージョン固有属性に依存するかどうかを判定し、依存すると判定され、さらに、前記バージョン固有属性が無効であると判定された場合には、前記バージョン固有属性を有効にするステップと
を含むことを特徴とする方法。 - 請求項6に記載の方法を実行する、コンピュータ読み取り可能なコンピュータプログラム。
- コンピュータのファイルシステム内のファイルについてのバージョン固有情報を管理するコンピュータプロセスを実行する、コンピュータ読み取り可能なコンピュータプログラムであって、
コンピュータに、
バージョン固有情報を、前記ファイルについてのバージョン固有属性であって、前記ファイルの生成に使用されたアプリケーションとは独立のウイルススキャンアプリケーションに関係するメタ情報と、所定のファイルオペレーション要求が前記バージョン固有属性を無効化することに関連する情報を提供するマスク情報とを含むバージョン固有属性を生成する属性として格納するステップと、
所定のファイルオペレーション要求に応答して、マスク情報を評価することによって前記バージョン固有属性を無効化するステップと
を含むコンピュータプロセスを実行させるためのコンピュータプログラム。 - 前記バージョン固有情報は前記ウイルススキャンアプリケーションに使用されるウイルス定義ファイルに関係する情報であることを特徴とする請求項8に記載のコンピュータプログラム。
- 前記所定のファイルオペレーション要求は前記ファイルの修正に関係することを特徴とする請求項9に記載のコンピュータプログラム。
- 前記バージョン固有属性は、複製、名前変更、またはバックアップのうちの1つのファイルオペレーションが実行された後でも損なわれないことを特徴とする請求項10に記載のコンピュータプログラム。
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)
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)
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 |
-
2000
- 2000-12-27 US US09/750,366 patent/US7058667B2/en not_active Expired - Fee Related
-
2001
- 2001-12-20 EP EP01130444A patent/EP1235143B1/en not_active Expired - Lifetime
- 2001-12-20 AT AT01130444T patent/ATE431942T1/de not_active IP Right Cessation
- 2001-12-20 DE DE60138753T patent/DE60138753D1/de not_active Expired - Lifetime
- 2001-12-27 JP JP2001398349A patent/JP4348036B2/ja not_active Expired - Fee Related
-
2006
- 2006-06-06 US US11/448,529 patent/US7849054B2/en not_active Expired - Fee Related
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 |