JP2002229834A - 分散型環境においてバージョン固有プロパティを作成し維持するための方法、および、システム - Google Patents

分散型環境においてバージョン固有プロパティを作成し維持するための方法、および、システム

Info

Publication number
JP2002229834A
JP2002229834A JP2001398350A JP2001398350A JP2002229834A JP 2002229834 A JP2002229834 A JP 2002229834A JP 2001398350 A JP2001398350 A JP 2001398350A JP 2001398350 A JP2001398350 A JP 2001398350A JP 2002229834 A JP2002229834 A JP 2002229834A
Authority
JP
Japan
Prior art keywords
version
specific
access
information
property
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.)
Granted
Application number
JP2001398350A
Other languages
English (en)
Other versions
JP4416366B2 (ja
JP2002229834A5 (ja
Inventor
Jonathan S Goldick
エス.ゴールディック ジョナサン
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 JP2002229834A publication Critical patent/JP2002229834A/ja
Publication of JP2002229834A5 publication Critical patent/JP2002229834A5/ja
Application granted granted Critical
Publication of JP4416366B2 publication Critical patent/JP4416366B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems
    • 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/953Organization of data
    • Y10S707/955Object-oriented
    • 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/964Database arrangement
    • Y10S707/966Distributed
    • 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/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • 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/99953Recoverability
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 バージョン固有プロパティまたは分散型環境
においてオブジェクトの一部として格納されたプロパテ
ィを作成し維持し、プロパティがいつどのようにして作
成されたかに関するバージョン固有の情報を格納し、所
定の「更新」イベントが発生したときに自動的に無効と
なる方法およびシステムを提供すること。 【解決手段】 第三者アプリケーションは、一般に、こ
れらのバージョン固有プロパティを作成し、これにアク
セスすることによって、持続状態情報を格納するための
外部のログまたはデータベースを不要とすることができ
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般に分散コンピ
ューティング環境に関し、より詳細には、特定のシステ
ムにおいて各オブジェクトの一部として格納されたオブ
ジェクトプロパティのフォーマットおよび管理に関す
る。さらに詳細には、本発明は、第三者のアプリケーシ
ョンに状況情報を提供するためのオブジェクトプロパテ
ィの使用に関する。
【0002】
【従来の技術】インターネットなどの分散型環境では、
通常、コンピュータ情報は「リソース」または「オブジ
ェクト」と呼ばれる単位で格納される。リソースとは、
Uniform Resource Locator
(URL)またはUniformResource I
dentifier(URI)を介してWeb上でアク
セスできる、任意のエンティティであってよい。リソー
スメンバのグループを集めたものが、「コレクション」
と呼ばれる。リソースをグループにまとめることの利点
は、いったんリソースグループがまとまると、非分散型
環境にあるコンピュータファイルと同じ方法で処理する
ことが可能であるという事実に関するものであり、この
場合、ファイルとリソースコレクションはどちらもそれ
ぞれがデータおよびメタデータを有する。データとは、
オブジェクトまたはリソースいずれかに関する実際の目
的データであり、メタデータとは、ファイルまたはリソ
ースの内容を表す情報であって、データの場合もある。
【0003】インターネットおよび他の分散型環境が広
く普及するに従って、クライアントシステムがサーバシ
ステムやサーバシステム上のリソースと対話する際にク
ライアントシステムが使用する代表的な機能にも改良が
重ねられてきた。たとえば、Hypertext Tr
ansfer Protocol(HTTP)バージョ
ン1.1などの過去のプロトコルは、サーバ側のアプリ
ケーションやドキュメントに情報を「入れる(pu
t)」機能であった。クライアントは、ヘッダに「PU
T」コマンドを組み込んだ特定のHypertext
Markup Language(HTML)要求を使
用する。次いでサーバがこのヘッダ情報を解釈してコマ
ンドを実行する、というものであった。
【0004】最近の開発により、分散型ネットワークを
介してクライアントシステムからサーバシステム上にあ
るリソースをオーサリングする概念が増加してきた。こ
の顕著な例の1つが、World Wide Web
Distributed Authoring and
Versioning標準の略であるWebDAV標
準の開発に関するものであり、以下、本明細書では簡単
に「DAV」という。DAVはヘッダとメソッドのセッ
トを提供するものであり、上書き禁止(ロック)、プロ
パティ、およびネームスペース管理のための機能が提供
できるようにHTTPが拡張されている。IETFが作
成し、IESGによって提唱標準(proposed
standard)RFC 2518として承認された
文書が、1999年2月に出版されており、DAVに関
してはこの標準でより詳細に説明されている。
【0005】DAVでは、リソースに関連するプロパテ
ィオブジェクトを作成するが、このプロパティは従来の
ファイルシステムにおいて使用されたファイルのプロパ
ティと同様のものである。プロパティは、リソースの名
前、リソースの原作者、リソース(またはリソースコレ
クション)の最新バージョン番号などの情報を格納する
ことができる。
【0006】第三者アプリケーションは、サーバ側のリ
ソースシステムと組み合わせることにより、ウィルスス
キャン機能などの追加のシステム特性または機能を提供
する場合が多い。これらの第三者アプリケーションは、
実際にそれぞれのリソースのアクセス試行を「傍受」し
てウィルス対象をスキャンするか、または実際のアクセ
ス操作を行う前に他のテストを実行することができる。
しかし、リソースにアクセスするたびにスキャン操作や
他のテストを行っていては、膨大な時間がかかってしま
う。したがって、各リソースのバージョン情報を格納し
ておく情報のログを保持することができる。たとえばロ
グは、システム上にあるリソースのリスト、および各リ
ソースがスキャンされたかどうか、さらにスキャンされ
た場合はどのバージョンのウィルス定義ファイル(vi
rus definitionfile)が使用された
かについて、保持することができる。ウィルススキャナ
はこの情報のログを使用して、新規または修正済みのリ
ソース、あるいは古いウィルス定義ファイルでスキャン
されたリソースだけをスキャンすることで、処理時間を
削減することができる。
【0007】アクセスの前に必ずあらゆるリソースをス
キャンしているシステムは、ログを使用することで大幅
に改善されるが、こうしたログの使用によって生じる欠
点もある。たとえば、かかる情報ログを保持するために
は、かなりのオーバヘッドが必要である。さらに、各項
目がスキャンされたかどうかを判定するためにログにア
クセスするプロセスでは、ディスク上に別ファイルを配
置し、これを調べなければならないため、システム全体
の性能が低下する。さらに、リソースがコピーまたはバ
ックアップされるときには情報のログは更新されず、状
況によっては不要なスキャン動作を発生させることにな
る。
【0008】情報ログを別ファイルとして保持しておく
ために生じる性能低下の問題を解決する方法の1つが、
揮発性メモリ、たとえばRAM内に作成および格納され
る「インメモリ(in−memory)」ログを保持す
ることである。インメモリログへのアクセスは別ファイ
ルへのそれよりも速いため、上記ログファイルの代わり
にインメモリログを使用することで、システムの性能が
向上する。ただし、システムのオフ、シャットダウン、
リブートなどでシステムの電源が切れると、インメモリ
ログは消去されるか、または失われる。したがって、電
源停止後は、状態情報またはバージョン情報が即時に特
定できない可能性がある。インメモリログに関連する他
の欠点は、かかるログが、システムの使用する操作メモ
リを大量に消費することである。したがって、インメモ
リログは、前述の問題に適切な解決策を与えるものでは
ない。
【0009】
【発明が解決しようとする課題】本発明の一目的は、上
記またはその他の考慮すべき点に関する解決策を提供す
ることである。そこで、本発明の目的は、バージョン固
有プロパティまたは分散型環境においてオブジェクトの
一部として格納されたプロパティを作成し維持し、プロ
パティがいつどのようにして作成されたかに関するバー
ジョン固有の情報を格納し、所定の「更新」イベントが
発生したときに自動的に無効となる方法およびシステム
を提供することにある。
【0010】
【課題を解決するための手段】本発明は、リソースまた
はオブジェクトのコレクション(collectio
n)の一部として格納され、プロパティがいつどのよう
にして作成されたかに関するバージョン固有の情報を格
納し、所定の「更新」イベントが発生したときに自動的
に無効となる、バージョン固有の属性またはプロパティ
を作成および使用することによって、これらの問題を解
決する。第三者アプリケーションは、一般に、これらの
バージョン固有プロパティを作成し、これにアクセスす
ることによって、外部のログまたはデータベースを不要
とすることができる。
【0011】本発明の一態様は、コンピュータシステム
内に格納されたオブジェクトに関連するバージョン固有
の情報をアプリケーションに提供する方法に関する。こ
の方法には、オブジェクトに関連するバージョン固有プ
ロパティを作成すること、所定のアクセス要求に応答し
てバージョン固有の情報を自動的に無効とすることによ
り、関連するオブジェクトの更新が常にバージョン固有
プロパティに反映されるようにすること、ならびに第三
者アプリケーションがバージョン固有プロパティを分析
できるようにすることが含まれる。
【0012】本発明の他の態様によれば、アプリケーシ
ョンとは、ウィルススキャンアプリケーション、あるい
はバックアップまたは性能上の目的でデータオブジェク
トの冗長コピーを作成するレプリケータタイプのアプリ
ケーションなどの、第三者アプリケーションである。さ
らに、本発明のバージョン固有プロパティは、メタ情
報、バージョン情報、およびマスク情報を含むことがで
きる。バージョン情報は、オブジェクト自体または固有
のプロパティ作成に使用されるアプリケーションのバー
ジョンに関し、マスク情報は、バージョン固有プロパテ
ィを無効化できる所定のイベントのポリシーまたは定義
に関する。他の実施形態では、さらにバージョン固有プ
ロパティは、プロパティまたはデータオブジェクトへの
無許可のアクセスを防止するためか、あるいはデータオ
ブジェクトが破損されているかどうかを判定する場合に
他のアプリケーションに検証要素を提供するための、デ
ジタル署名または他のセキュリティ情報を含むことがで
きる。
【0013】本発明の他の態様によれば、バージョン固
有プロパティは、オブジェクト内のデータやオブジェク
トに関連するメタデータの修正などの所定のイベントに
基づいて、あるいは他のバージョン固有プロパティが変
更されるときに、無効化することができる。無効化動作
は、バージョン固有プロパティの削除または切り捨て、
あるいはバージョン固有プロパティが無効であることを
示す他の方法であってよい。
【0014】他の態様によれば、本発明は、バージョン
固有プロパティを有するオブジェクト形式に関する。バ
ージョン固有プロパティにはメタ情報セクションと、プ
ロパティを作成したアプリケーションのバージョンに関
する情報を格納するためのバージョン情報セクション
と、プロパティの無効化を発生される所定のイベントに
関する情報を格納するためのマスク情報セクションとが
ある。さらに、本発明は、かかるバージョン固有プロパ
ティを作成および保持するためのプロトコルを提供する
システムにも関する。
【0015】本発明は、コンピュータプロセス、コンピ
ューティングシステム、およびコンピュータプログラム
製品などの製造物として実施することができる。コンピ
ュータプログラム製品は、コンピュータシステム、およ
びコンピュータプロセスを実行するためのコンピュータ
プログラム命令の符号化によって読取り可能な、コンピ
ュータ記憶媒体であってよい。さらにコンピュータプロ
グラム製品は、コンピューティングシステム、およびコ
ンピュータプロセスを実行するためのコンピュータプロ
グラム命令の符号化によって読取り可能な、搬送波上の
伝播信号であってもよい。
【0016】概略を簡潔に後述した添付の図面、本発明
の現在の好ましい実施形態についての以下の詳細な説
明、および添付の特許請求の範囲を参照すると、本発明
およびその改良点についてより完全に理解することがで
きる。
【0017】
【発明の実施の形態】本発明は、バージョン固有プロパ
ティ、あるいはデータオブジェクトに関するメタ情報を
定義または提供するプロパティを作成する、データオブ
ジェクトモデルに関する。バージョン固有プロパティ
は、メタ情報識別ポインタを介する場合、あるいはデー
タオブジェクトそれ自体と常駐させる方法で情報を格納
する場合のいずれも、データオブジェクトと関連して格
納することが可能であるという点が、他のデータオブジ
ェクトプロパティと同様である。ただし、バージョン固
有プロパティは、バージョン固有プロパティを作成した
アプリケーションに関するバージョン固有情報を格納す
る機能を含め、既存のメタ情報プロパティとは比較的異
なる特徴を有する。さらにバージョン固有プロパティ
は、所定のイベントが発生すると同時に自動的に更新さ
れる。実際、無効化を発生させるイベントに関する情報
も、バージョン固有プロパティの一部として格納される
場合がある。
【0018】図1は、本発明が実施可能な、好適なコン
ピューティングシステム環境100の一例を示す図であ
る。コンピューティングシステム環境100は、好適な
コンピューティング環境の一例にすぎず、本発明の使用
範囲または機能性に関して、なんらかの制限を与えるこ
とを意図するものではない。さらにコンピューティング
環境100は、例示的な動作環境100に例示された任
意の1構成要素またはその組合せに関して、なんらかの
依存性または要件を有するものでもない。
【0019】図1に示された環境100に加え、本発明
は、数多くの他の汎用または特殊用途向けコンピューテ
ィングシステム環境または構成で動作可能である。本発
明での使用に好適なよく知られたコンピューティングシ
ステム、環境、および/または構成の例には、パーソナ
ルコンピュータ、サーバコンピュータ、ハンドヘルドま
たはラップトップデバイス、マルチプロセッサシステ
ム、マイクロプロセッサベースシステム、セットトップ
ボックス、プログラム可能な家庭用電子機器、ネットワ
ークPC、ミニコンピュータ、メインフレームコンピュ
ータ、任意の上記システムまたはデバイスを含む分散型
コンピューティング環境などが含まれるが、これらに限
定されるものではない。
【0020】さらに本発明は、コンピュータによって実
行されるプログラムモジュールなどの、一般的なコンピ
ュータ実行可能命令の情況で説明することができる。通
常、プログラムモジュールには、ルーチン、プログラ
ム、オブジェクト、構成要素、データ構造などが含ま
れ、これらが特定のタスクを実行するか、または特定の
抽象データタイプを実施する。本発明は、通信ネットワ
ークを介してリンクされたリモート処理デバイスによっ
てタスクが実行される、分散型コンピューティング環境
において実施することもできる。分散型コンピューティ
ング環境では、プログラムモジュールは、メモリ記憶デ
バイスを含む、ローカルおよびリモートのどちらのコン
ピュータ記憶媒体にも配置することができる。
【0021】図1を参照すると、本発明を実施するため
の例示的システムには、コンピュータ102の形態での
汎用コンピューティングデバイスが含まれる。コンピュ
ータ102の構成要素には、処理ユニット104、シス
テムメモリ106、および、システムメモリを含む様々
なシステム構成要素を処理ユニット104に結合させる
システムバス108が含まれるが、これらに限定される
ものではない。システムバス108は、メモリバスまた
はメモリ制御装置、周辺バス、ならびに様々なバスアー
キテクチャのうち任意のものを使用するローカルバスを
含む、いくつかの種類のバス構造のうちのいずれかが可
能である。限定的ではなく例示的なものとして例を挙げ
ると、かかるアーキテクチャには、Industry
Standard Architecture(IS
A)バス、Micro Channel Archit
ectures(MCA)バス、拡張ISA(EIS
A)バス、Video Electronics St
andards Association(VESA)
ローカルバス、およびメザニンバスとしても知られるP
eripheral Component Inter
connect(PCI)バスが含まれる。
【0022】コンピュータ102は、通常、様々なコン
ピュータ読取り可能媒体を含む。コンピュータ読取り可
能媒体は、コンピュータ102がアクセス可能な任意の
使用可能媒体であってよく、揮発性および不揮発性媒
体、取外し可能および取外し不能媒体のどちらも含まれ
る。限定的ではなく例示的なものとして例を挙げると、
コンピュータ読取り可能媒体は、コンピュータ記憶媒体
および通信媒体を含むことができる。コンピュータ記憶
媒体には、コンピュータ読取り可能命令、データ構造、
プログラムモジュール、または他のデータなどの情報を
記憶するための任意の方法または技術で実施された、揮
発性および不揮発性、取外し可能および取外し不能のど
ちらの媒体も含まれる。コンピュータ記憶媒体には、R
AM、ROM、EEPROM、フラッシュメモリ、また
は他のメモリ技術、CDE−ROM、デジタル汎用ディ
スク(DVD)または他の光ディスク記憶装置、磁気カ
セット、磁気テープ、磁気ディスク記憶または他の磁気
記憶デバイス、あるいは、所望の情報を格納するのに使
用可能でありコンピュータ102がアクセス可能な他の
媒体が含まれるが、これらに限定されるものではない。
【0023】典型的に通信媒体は、コンピュータ読取り
可能命令、データ構造、プログラムモジュール、または
他のデータを、搬送波または他の移送メカニズムなどの
被変調データ信号で具体化するものであって、任意の情
報伝達媒体を含む。「被変調データ信号」という用語
は、その特徴セットのうち1つまたは複数を有する信
号、または信号内の情報を符号化する方法などで変更さ
れた信号を意味する。限定的ではなく例示的なものとし
て例を挙げると、通信媒体には、有線ネットワークまた
は直接線接続などの有線媒体と、音響(acousti
c)、RF、赤外線、および他の無線媒体などの無線媒
体とが含まれる。上記いずれかを組み合わせる場合は、
コンピュータ読取り可能媒体の範囲内であるものとす
る。
【0024】システムメモリ106には、読取り専用メ
モリ(ROM)110およびランダムアクセスメモリ
(RAM)112などの、揮発性および/または不揮発
性メモリ形態のコンピュータ記憶媒体が含まれる。起動
時などにコンピュータ102内の要素間で情報を転送す
るのに役立つ基本ルーチンを含む、基本入出力システム
114(BIOS)は、典型的にはROM 110に格
納されており、RAM112には、典型的には、即時ア
クセス可能かつ/または現在処理ユニット104によっ
て動作中であるファイルおよび/またはプログラムモジ
ュールが含まれる。限定的ではなく例示的なものとして
例を挙げると、図1は、オペレーティングシステム13
2、アプリケーションプログラム134、他のプログラ
ムモジュール136、およびプログラムデータ138を
例示している。さらにコンピュータ102は、以下で述
べるように、システム102のファイル形式を定義し、
バージョン固有プロパティ形式を定義する、ファイルシ
ステムを備える。
【0025】コンピュータ102は、他の取外し可能/
取外し不能、揮発性/不揮発性のコンピュータ記憶媒体
を含むこともできる。例示的な目的でのみ例を挙げる
と、図1には、取外し不能、不揮発性磁気媒体との間で
読取り/書込みを行うハードディスクドライブ116、
取外し可能、不揮発性磁気ディスク120との間で読取
り/書込みを行う磁気ディスクドライブ118、および
CD ROMまたは他の光学式媒体などの取外し可能、
不揮発性光ディスク124との間で読取り/書込みを行
う光ディスクドライブ122が例示されている。例示的
な動作環境において使用できる他の取外し可能/取外し
不能、揮発性/不揮発性のコンピュータ記憶媒体には、
磁気テープカセット、フラッシュメモリカード、デジタ
ル汎用ディスク、デジタルビデオテープ、ソリッドステ
ートRAM、ソリッドステートROMなどが含まれる
が、これらに限定されるものではない。ハードディスク
ドライブ116は、典型的にはインターフェース126
などの取外し不能メモリインターフェースを介してシス
テムバス108に接続され、磁気ディスクドライブ11
8および光ディスクドライブ122は、典型的には、そ
れぞれインターフェース128および130などのメモ
リインターフェースによって、システムバス108に接
続される。
【0026】以上で説明し図1に例示したドライブおよ
びそれに関連するコンピュータ記憶媒体は、コンピュー
タ102に関するコンピュータ読取り可能命令、データ
構造、プログラムモジュール、および他のデータを格納
するものである。たとえば図1では、ハードディスクド
ライブ116は、オペレーティングシステム132、ア
プリケーションプログラム134、他のプログラムモジ
ュール136、およびプログラムデータ138を格納す
るものとして示されている。
【0027】ユーザは、キーボード140および、一般
にマウス、トラックボール、またはタッチパッドと呼ば
れるポインティングデバイス142などの入力デバイス
を介して、コンピュータ102にコマンドおよび情報を
入力することができる。他の入力デバイス(図示せず)
は、マイクロフォン、ジョイスティック、ゲームパッ
ド、衛星放送用パラボラアンテナ、スキャナなどを含む
ことができる。これらおよび他の入力デバイスは、シス
テムバス108に結合された入力インターフェース14
8を介して、処理ユニット104に接続されることが多
い。モニタ150または他の種類のディスプレイデバイ
スも、ビデオアダプタ152を介してシステムバス10
8に接続することができる。コンピュータは、モニタに
加え、図示されていないスピーカおよびプリンタなどの
他の周辺出力デバイスを含むこともできる。
【0028】コンピュータ108は、リモートコンピュ
ータ154などの1つまたは複数のリモートコンピュー
タへの論理接続を使用するネットワーク環境において動
作可能である。リモートコンピュータ154は、パーソ
ナルコンピュータ、サーバ、ルータ、ネットワークP
C、ピアデバイス、または他の共通ネットワークノード
であってよく、典型的には、コンピュータ102に関し
て上記で述べた多くのまたはすべての要素を含む。
【0029】LANネットワーク環境において使用され
る場合、コンピュータ102はネットワークインターフ
ェースまたはアダプタ162を介してLANに接続され
る。WANネットワーク環境において使用される場合、
コンピュータ102は典型的には、モデム164また
は、インターネットなどのWANを介して通信を確立す
るための他の手段が含まれる。モデム164は内蔵でも
外付けでもよく、ユーザ入力インターフェース148ま
たは他の適切なメカニズムを介して、システムバス10
8に接続することができる。ネットワーク環境では、コ
ンピュータ102に関連して描かれているプログラムモ
ジュールまたはその一部を、リモートのメモリ記憶デバ
イスに格納することができる。図示されたネットワーク
接続は例示的なものであり、コンピュータ間に通信リン
クを確立する他の手段も使用できることを理解されよ
う。
【0030】図2は、本発明が実施可能なソフトウェア
動作環境200の一例を示す図である。ソフトウェア動
作環境200は、好適な動作環境の一例を示したものに
すぎず、本発明の使用または機能性の範囲を限定する意
図はない。ソフトウェア環境200は、データオブジェ
クト204、206、208、および210などのデー
タオブジェクトの形式および構造を定義する、XML
ストア202を有する。通常、XML ストア202
は、オブジェクトの命名、格納、および組織化が行われ
る構造全体も提供する。さらにこのストアは、ストア2
02内にある任意のオブジェクトにアクセスするための
プロトコルを提供する。XMLストアに関連して図示さ
れているが、他のデータオブジェクトの構成またはコレ
クションは、本発明の態様を組み込むことができる。デ
ータオブジェクト204、206、208、および21
0は、実際のファイルタイプデータを表すXMLデータ
オブジェクトである。データオブジェクト204、20
6、208、および210は、ユーザまたは他のプログ
ラムモジュールによってアクセスおよび/または修正が
可能である。もちろん、XMLストア202は、省略記
号223および225で示されるように、多くの他のオ
ブジェクトを含むことができる。
【0031】典型的には、各データオブジェクト20
4、206、208、および210は、各オブジェクト
に関連する何らかの形のメタ情報オブジェクト(図示せ
ず)を有し、メタ情報は、オブジェクトの作者、オブジ
ェクトが最後にアクセスされた時間、などのような情報
を含む。このメタ情報は、データオブジェクトの一部と
して、あるいはポインタまたはメタ情報オブジェクトを
その特定のデータオブジェクトに関連付ける何らかの他
の識別要素を有する他のオブジェクトの一部として、格
納することができる。
【0032】メタ情報オブジェクトに加え、データオブ
ジェクトを、オブジェクト220および222などのバ
ージョン固有プロパティオブジェクトに関連付けること
もできる。バージョン固有プロパティ220および22
2は、それぞれデータオブジェクト208および210
に関連する。バージョン固有プロパティ220および2
22はバージョン固有情報を備えており、それぞれオブ
ジェクト208および210に関して発生する他のイベ
ントによって無効化することができる。
【0033】図2に示されたソフトウェア環境200
は、XMLストア202とアプリケーション224およ
び226などのアプリケーションプログラムとの対話も
図示している。一実施形態では、アプリケーションプロ
グラム226は、XMLストア202のロケーションで
あるサーバシステムとは別のクライアントシステム上で
動作するクライアントアプリケーションプログラムであ
る。他の実施形態では、アプリケーションプログラム、
すなわちプログラム224が実際にはサーバシステムの
一部である場合がある。アプリケーション224および
226は、それぞれアプリケーションプログラムインタ
ーフェース228および230を介して、XMLストア
202と対話する。さらに、アプリケーションインター
フェース230は、実際には事前に定義されたプロトコ
ルに従って、インターネット232などの複雑なネット
ワークを介してXMLストア202と通信することがで
きる。本発明では、アプリケーション224および22
6などのアプリケーションまたはプログラムモジュール
が、オブジェクト204、206、208、および21
0などのデータオブジェクトにアクセスするために、何
らかの形でXMLストア202と対話することが重要で
あり、アクセスにはオブジェクトの移動、コピー、削
除、読取り、実行、または更新などが含まれる。
【0034】アプリケーションプログラム224および
226は、アプリケーションモジュールの層、すなわち
サービス層236を介して、オブジェクト204、20
6、208、および210にアクセスすることができ
る。サービス層236は、オブジェクトアクセス要求が
既存のオブジェクトに関するものであること、要求を作
成しているモジュールが要求の作成および実行の許可を
得ているかどうかなど、様々な機能を提供することがで
きる。この対話層236は、アプリケーションプログラ
ムインターフェース228、230が可能であるのに加
え、クライアントまたはサーバのコンピュータシステム
の一部であってよいオペレーティングシステムインター
フェース(図示せず)でも可能である。
【0035】本発明の一実施形態では、バージョン固有
プロパティ220および222に関して、アプリケーシ
ョンプログラム224および226が、それぞれオブジ
ェクト208および210に関するバージョン固有プロ
パティ220および222を作成および使用することが
できる。あるいは、サービス層236がバージョン固有
プロパティを作成および使用することができる。バージ
ョン固有プロパティがいったん作成されると、他のアプ
リケーションはこのプロパティにアクセスし、バージョ
ン固有プロパティ220または222の評価に基づいて
オブジェクトに関する動作の実行を決定することができ
る。さらに、他方のアプリケーションは、アプリケーシ
ョンが有効なバージョン固有プロパティの有無をテスト
すると異なる結果を生じさせるようなバージョン固有プ
ロパティを無効化できる、データオブジェクトに関する
動作を実行することができる。
【0036】特定の例では、サービス層236は、オブ
ジェクト、たとえばオブジェクト204、206、20
8、または210に任意の他のアプリケーションまたは
モジュールがアクセスするたびに、ウィルスのスキャン
機能およびクリーニング機能を実行するウィルススキャ
ン機能を提供する。この例をさらに拡大すると、アプリ
ケーションプログラム224は、ワードプロセッシング
アプリケーションであってよく、オブジェクト204、
206、208、および210は、特定のテキスト構成
要素を有するXMLオブジェクトなどのワードプロセッ
シングタイプオブジェクトである。このような場合、ウ
ィルススキャンプログラムモジュールは、サービス層2
36の一部として、実際にワードプロセッシングアプリ
ケーション224がアクセスを要求するオブジェクトの
スキャンに使用することができる。この例でウィルスス
キャナは、ウィルスがスキャンされたオブジェクトのプ
ロパティ220および222などの、バージョン固有プ
ロパティを作成することができる。したがって、アプリ
ケーション224が次にオブジェクト208および21
0のうち1つに対して要求を作成した場合、ウィルスス
キャンアプリケーションは、他のスキャンオペレーショ
ンが必要であるかどうかを判定するために、プロパティ
220および222などの有効なバージョン固有プロパ
ティの有無を識別するだけである。有効なバージョン固
有プロパティが識別された場合、この特定例ではスキャ
ンは不要である。これに対して、オブジェクト204ま
たは206にアクセスした際などにバージョン固有プロ
パティが識別されなかった場合、ウィルススキャンアプ
リケーションは、これらのオブジェクトがスキャンされ
ていないか、またはスキャンされてから修正されている
と認識する。
【0037】さらにウィルススキャンの例を見ていく
と、ウィルススキャンアプリケーションがサービス層2
36の一部として、オブジェクト204または206の
うち1つをスキャンすると想定した場合、新しいバージ
ョン固有プロパティ(図示せず)が作成され、スキャン
済みのオブジェクトに関連する。その後、新しく作成さ
れたプロパティ(図示せず)がオブジェクトと共に格納
されるため、このプロパティを将来のアクセス要求に利
用することができる。
【0038】他の実施形態では、バージョン固有プロパ
ティを、他のアプリケーションがアクセスおよび評価で
きるデジタル署名を利用して符号化することができる。
その後このデジタル署名を調べて、ファイルが有効なコ
ピーであるかどうかを判定することができる。このよう
な場合、ファイルが他のアプリケーションによって勝手
に変更されている、すなわち破損していると、デジタル
署名は無効となる。無効化されたデジタル署名は、署名
が存在しなかったものとして処理されるため、データオ
ブジェクトを無効として処理することができる。
【0039】バージョン固有属性は、属性またはデータ
オブジェクトへの無許可のアクセスを防ぐためにさらに
他のセキュリティ情報を含むことができる。サービス層
236はこの情報を、プロパティをロックしてウィルス
アプリケーションなどの不適切なアプリケーションが使
用できないようにする手段として使用する。サービス層
は、有効なアプリケーションのみがプロパティまたはデ
ータオブジェクトそれ自体にアクセスすることを保証す
る目的で、アクセスごとにバージョン固有プロパティを
評価するように構成することができる。
【0040】本発明を組み込んだオブジェクトのコレク
ション300が図3に示されている。コレクション30
0は、実際のオブジェクト情報に関するデータオブジェ
クト302を有する。さらにコレクション300は、こ
の特定の例では、時間やオブジェクトサイズなどの何ら
かの標準プロパティを含む一般情報を含んでいる、メタ
情報オブジェクト304を有する。他の実施形態では、
メタ情報オブジェクト304は標準プロパティを含ま
ず、その代わりに標準プロパティは他のオブジェクト
(図示せず)に格納される場合がある。
【0041】コレクション300は、図3に示されるよ
うにバージョン固有プロパティ306も有する。バージ
ョン固有プロパティ306には、3タイプの情報が含ま
れる。その1つがメタ情報セクション308であり、こ
れは典型的には、プロパティの作成に使用される第三者
アプリケーションの名前などのプロパティの名前、その
他、プロパティの長さ、そのディスク上のアドレス位置
などの情報を有する。
【0042】バージョン固有プロパティ306には、バ
ージョン情報セクション310も含まれる。バージョン
情報セクション310には、プロパティの作成に使用さ
れた第三者アプリケーションのバージョンなど、バージ
ョン固有プロパティ306の作成に使用された最も新し
い特定アプリケーションのバージョンに関する情報が含
まれる。すなわち、こうしたバージョン情報は、プロパ
ティを評価しているプログラムモジュールと関連させる
ことができるため、このタイプの情報専用にセクション
が割り当てられる。
【0043】バージョン固有プロパティ306には、関
連する更新に関する情報をサーバシステムに提供する際
に使用される、マスク情報セクション312も含まれ
る。マスク情報セクション312は、本来、どのプロト
コルまたはポリシーのイベントがバージョン固有プロパ
ティ306を無効化できるかまたはできないかを、他の
アプリケーションまたはサーバシステムに指示するもの
である。
【0044】特定の実施形態では、バージョン固有プロ
パティ306がウィルススキャンアプリケーションによ
って作成されると、メタ情報セクション308は、バー
ジョン固有プロパティ306の作成に使用されたウィル
ススキャンアプリケーションの名前を保持することがで
きる。さらにバージョン情報セクション310には、バ
ージョン固有プロパティ306が作成された時に使用さ
れた特定のウィルス定義ファイルに関連する情報が含め
られることになる。ウィルススキャンアプリケーション
は最近検出されたウィルスを含めるために頻繁に更新さ
れるので、この特定の場合では、バージョン情報が重要
である。したがって、ウィルススキャンアプリケーショ
ンは、オブジェクトが以前にスキャンされたことがある
かどうかを判定するだけでなく、更新済みのウィルス定
義ファイルを使用してスキャンされたかどうかも判定し
なければならない。
【0045】マスク情報セクション312に関して、ウ
ィルススキャンアプリケーションがバージョン固有プロ
パティ306を作成すると、マスク情報セクション31
2にはバージョン固有プロパティ306の無効化を発生
させるような特定のイベントが含められる可能性があ
り、このイベントはウィルススキャンアプリケーション
に一意的に直接関係する場合がある。この特定の場合で
は、プロパティ306の無効化を発生させることのある
このようなイベントに、新しいデータの追加またはデー
タの消去のいずれかによるデータオブジェクト302の
修正が含まれる。他の実施形態では、他の所定のイベン
トが、データオブジェクト302などに関連する他のプ
ロパティの修正などの、バージョン固有プロパティの無
効化を発生させることがある。
【0046】この特定の例では、具体的にはマスク情報
セクション312に含めることができないためにバージ
ョン固有プロパティが無効化されることのない所定のイ
ベントに、読取り専用アクセスイベント、オブジェクト
名の変更、またはオブジェクトのコレクション300の
バックアップを含めることができる。実際には、イベン
トがバージョン固有プロパティを無効化しなければ、オ
ブジェクト名が変更されたような場合でもそのプロパテ
ィはオブジェクト302に関連するままとなる。
【0047】バージョン固有プロパティ306は、第三
者アプリケーション、たとえば特定オブジェクトストア
とは別のアプリケーションによって作成される。バージ
ョン固有プロパティを作成する場合、第三者アプリケー
ションは、名前、バージョン、およびマスクの情報を、
XMLオブジェクトが格納されるサーバシステムに提供
する。次いでサーバシステムがプロパティを作成し、こ
れを特定データオブジェクトに関連付ける。別法とし
て、バージョン固有プロパティを作成し、これがデータ
オブジェクト302と関連付けられている間はリモート
コンピュータシステム上に格納することもできる。
【0048】本発明の一実施形態では、バージョン固有
プロパティはWebDAV、すなわちWorld Wi
de Web Distributed Author
ing and Versioning protoc
ol(DAV)の一部としての、HTTPの拡張であ
る。本来、バージョン固有プロパティは新しいタイプの
DAVプロパティであって、自由度のライブ/デッド
(live/dead)が他のDAVプロパティと同じ
であり、すなわちライブプロパティはサーバ側で管理さ
れ、デッドプロパティはクライアント側で管理される。
DAVで新しいバージョン固有プロパティを定義するに
は、表1〜表4に示されたドキュメントタイプ定義(D
TD)を実施することができる。これらのサンプルは、
もちろん概略として作成されたものである。
【0049】
【表1】
【0050】
【表2】
【0051】
【表3】
【0052】
【表4】
【0053】実際にバージョン固有プロパティを作成す
るために、第三者プロパティは、PROPPATCH、
PUTなどの標準DAVメカニズムを使用する。これら
のメカニズムについては、付録Aで詳細に説明する。代
替実施形態では、これらのバージョン固有プロパティ
は、他の方法を使用して作成される。
【0054】コレクション300はバージョン固有プロ
パティを1つだけ有するように図示および説明されてい
るが、コレクション300は、他のバージョン固有プロ
パティも含めて他のプロパティを有することもできる。
実際に、いくつかの第三者アプリケーションは、持続状
態情報が関連付けられていることを要求することが可能
であり、したがってプロパティ306などの多数のバー
ジョン固有プロパティを作成し、コレクション300と
共に格納することができる。
【0055】以上、例示的な物理環境について論じてき
たが、以下のセクションでは、本発明の態様を具体化す
る動作モジュールについて説明する。本発明の様々な実
施形態の論理的動作は、(1)コンピューティングシス
テム上で実行中のコンピュータが実施する一連のステッ
プまたはプログラムモジュールとして、および/または
(2)コンピューティングシステム内で相互接続された
ハードウェアモジュールまたは論理モジュールとして実
施される。この実施は、本発明を実施するコンピューテ
ィングシステムの性能要件に依存する選択の問題であ
る。したがって、本明細書に記載された本発明の実施形
態を構成している論理動作は、動作、ステップ、または
モジュールと呼ばれることもある。
【0056】図4は、本発明の態様に従ったオブジェク
トへのアクセスに関連する動作特性を示す流れ図であ
る。流れ400が開始される前に、図2に示されたオブ
ジェクト204、206、208、または210などの
オブジェクトが、ストア202(図2)などのXMLス
トア内に存在する。本発明の一実施形態では、いったん
オブジェクトが作成されると、そのオブジェクトにアク
セスしようと試みると、図4に関して図示および説明し
た流れ400が開始される。実際には、プロセス400
はアクセス試行402で開始されるが、このアクセス試
行402は、任意のオブジェクトの読取り、実行、また
は更新に関するものである。アクセス試行は、アプリケ
ーション224(図2)などの第三者アプリケーション
によって、またはサービス層236(図2)によって実
行することができる。
【0057】アクセス試行402に続き、決定行為40
4で、アクセスが無効化アクセスであるかどうかを判定
する。アクセスが無効化アクセスであるか否かの判定に
は、複数の特定オブジェクトにアクセスしていると想定
した、各バージョン固有プロパティ内にあるマスク情報
の評価が含まれる。マスク情報を評価することにより、
そのオブジェクトへのどのタイプのアクセスが、特定の
バージョン固有プロパティを無効化するように要求して
いるのかがわかる。したがって、マスク情報と実際のア
クセス試行とを比較することにより、バージョン固有プ
ロパティを無効化すべきかどうかがわかる。決定行為4
04でこのような関係する更新アクセス試行が識別され
ると、流れはYESの無効化動作406へと進む。
【0058】本発明の一実施形態では、バージョン固有
プロパティはウィルススキャンアプリケーションによっ
て作成および使用される。このような状況では、決定行
為404により、アクセス試行が関係する更新アクセス
であるかどうかが、ウィルススキャンアプリケーション
が設定した基準に基づいて判定される。すなわち、ウィ
ルススキャンアプリケーションは、アクセス試行が、古
いデータを変更するかまたは新しいデータを追加するこ
とによって実際のオブジェクトデータを修正するかどう
かなど、関係する更新アクセスとは何であるかを事前に
決定している。たとえば、特定のウィルススキャンアプ
リケーションは、新しいデータの作成を含み、オブジェ
クト内のデータにどんな変更が行われる場合でも必ずそ
のバージョン固有プロパティが無効化されるのを希望す
ることができる。変更が、バージョン固有プロパティま
たは他のオブジェクトのメタデータまたはメタ情報にだ
け関係する場合には、無効化は発生しない。
【0059】代替実施形態では、レプリケータアプリケ
ーションがバージョン固有プロパティを作成しこれを使
用することができる。このような場合、レプリケータア
プリケーションは、オブジェクトのデータまたはメタデ
ータのいずれかにどんな変更が行われる場合でも必ず、
そのバージョン固有プロパティが無効化されるのを希望
することができる。これら特定のバージョン固有プロパ
ティは、このクラスのバージョン固有プロパティだけに
影響を与えるのではないような変更が行われると、必ず
無効化される。この場合、特定のクラスを定義すること
により、複数のレプリケータが存在することでオブジェ
クトが何度も反復されるのを防いでおり、1つのレプリ
ケータアプリケーションによる反復インスタンスは、そ
れぞれ、第2のレプリケータアプリケーションによる反
復の必要に応じて生じることになる。
【0060】無効化動作406は、バージョン固有プロ
パティを無効化する。バージョン固有プロパティの無効
化は、一実施形態では、そのバージョン固有プロパティ
の削除または切り捨てによって達成することができる。
あるいは、無効化動作406がバージョン固有プロパテ
ィにマークを付けるか、そうでなければプロパティが無
効である旨の表示を与える。本来、プロパティを無効化
する行為は、バージョン固有プロパティに依拠したアプ
リケーションが、バージョン固有プロパティが無効化さ
れていることを、その内容を空の文字列に設定すること
などによって認識できるようにするものでなければなら
ない。バージョン固有プロパティを無効化する他の方法
には、無効化アクセスまたはバージョン固有プロパティ
への情報の追加、あるいはその中に含まれる情報の修正
も含むことができる。無効化行為406は、オブジェク
トへの最後のアクセスまたは書込みに関するプロパティ
などの、他のプロパティは変更しない。
【0061】データオブジェクトが複数の関連するバー
ジョン固有プロパティを有する場合、動作404および
406は、それぞれのバージョン固有プロパティについ
て繰返し行われる。
【0062】無効化行為406に続き、アクセス実行動
作408が、オブジェクトに対して要求されたアクセス
を実行する。オブジェクトに対するアクセスを実行する
行為は、バージョン固有プロパティが無効化された後に
開始することが重要である。そうでないと、バージョン
固有プロパティが信頼できなくなる可能性がある。アク
セス実行動作408に続き、流れ400は終了動作41
0で終了する。
【0063】決定行為404で、アクセス試行が無効化
アクセスに関連していないと判定されると、流れはNO
の決定動作412に進む。決定動作412では、アクセ
スがバージョン固有プロパティに依存しているかどう
か、たとえば、アクセス試行が、動作を実行する際にバ
ージョン固有プロパティを使用しているアプリケーショ
ンによるアクセス試行であるかどうかを判定する。たと
えば、バージョン固有プロパティを使用するウィルスス
キャンアプリケーションはアクセス試行を生成すること
が可能であり、その場合決定動作412は、そのアクセ
ス試行がバージョン固有プロパティを使用するかかるア
プリケーションによって生成されたものであるかどうか
を判定する。
【0064】アクセス試行が、バージョン固有プロパテ
ィに依拠するアプリケーションによって実行されたもの
でない場合、流れはNOのアクセス実行動作408に進
む。アクセス実行動作408は、最初に要求されたアク
セス動作を実行する。決定動作412に続いてアクセス
実行動作408が行われる場合、アクセス動作は、決定
行為404が判定したような無効化を要求する動作には
関連していない。たとえば、このアクセス試行は、ユー
ザが実際のデータを修正できない読取り動作に関連して
いることがある。アクセス実行動作408に続き、プロ
セス流れは前述のように410で終了する。
【0065】決定動作412は、アクセスがバージョン
固有プロパティに依存していると判定した場合、流れは
YESの決定行為414に進む。決定行為414は、バ
ージョン固有プロパティが有効であるかどうかを判定す
るために、これを分析する。プロパティが有効であるか
どうかの判定には、プロパティが有効であるかどうかの
他の判定方法の中から、プロパティが存在するかどう
か、これが無効としてマークされているかどうか、また
は情報がすべて利用できないように切り捨てられている
かどうかが含まれる。決定行為414によって、プロパ
ティが有効でないと判定されると、流れはNOの無効プ
ロパティに関するアクセス実行行為416に進む。
【0066】実行行為416では、アクセスが無効であ
るという判定に基づいて、所定の機能が実行される。一
実施形態では、アクセス試行がウィルススキャンアプリ
ケーションによって生成されたものである場合、実行動
作416は、かかるウィルススキャン機能をオブジェク
ト上で実行することに関する。
【0067】無効プロパティに関する動作実行416に
続き、バージョン固有プロパティ作成行為418では、
そのオブジェクトに関してバージョン固有プロパティを
作成または有効化する。バージョン固有プロパティの有
効化には、そのオブジェクトのバージョン固有プロパテ
ィを作成すること、または既存のバージョン固有プロパ
ティに情報を追加することが含まれる。他の実施形態で
は、プロパティが有効であるという表示を与えることに
よって、後にプロパティが有効であることがわかる限り
は、他の方法でプロパティを有効化することができる。
バージョン固有プロパティ有効化行為418に続き、プ
ロセス400は終了動作410で終了する。
【0068】決定行為414で、バージョン固有プロパ
ティが有効であると判定された場合、流れはYESの実
行動作420に進む。実行動作420は、バージョン固
有プロパティが有効であるという判定に関する任意の行
為を実行することに関する。バージョン固有プロパティ
を使用する特定のアプリケーションによって、実行動作
420には異なるタイプの動作が含まれることがある。
一例では、プロパティが有効であると判定された場合、
ウィルススキャン状況などでは何の動作も実行されな
い。このような場合、決定行為414でバージョン固有
プロパティが有効であると判定されると、オブジェクト
は以前にスキャンされているため他のスキャンは不要で
ある。したがって、そのオブジェクトについては何の動
作も実行されず、動作420は終了動作410に制御を
渡すだけである。他の実施形態では、バージョン固有プ
ロパティが有効であると判定されると、420で動作が
実行開始される場合がある。
【0069】
【発明の効果】前述のシステムおよび方法は、バージョ
ン情報が別のログまたはデータベースファイルに常駐し
ているのではなく、オブジェクトまたはオブジェクトコ
レクションの一部であるため、バージョン情報をプログ
ラムモジュールまたはアプリケーションに提供するとい
う従来の方法に比べて、かなり有利である。アクセス側
のアプリケーションは、利用不能、破損、その他管理不
能になる可能性がある、外付けタイプのファイルにアク
セスする必要がない。さらに、電源が切断されてもプロ
パティは失われず、プロパティは、インメモリ情報ログ
の場合のように、大量の動作メモリを消費せずに済む。
さらに、プロセスは自動的に更新され、すなわち、関連
するイベントが発生したときにはバージョン固有情報が
無効化される。さらに、プロセスは自動的に更新され、
すなわち、関連するイベントまたは更新が発生したとき
にはバージョン固有情報が無効化される。バージョン固
有情報を自動的に無効化することにより、関連する関係
する更新は見逃されることがなく、不要な行為は実行さ
れない確率が高くなる。たとえば、ウィルススキャンの
実施に関して言えば、従来技術の方法では、バックアッ
プ機能および/またはコピー機能の後ではこのようなバ
ージョン情報は保持されなかったため、追加の処理ステ
ップが実行されていたが、バージョン情報はバックアッ
プ機能やコピー機能では無効化されなくなっているた
め、将来アクセスしたときにウィルススキャンが不要で
ある。
【0070】前述のように、本明細書に記載した本発明
は、コンピュータプロセス、コンピューティングシステ
ム、またはコンピュータプログラム製品などの製造物と
して実施することができる。コンピュータプログラム製
品は、コンピュータシステム、およびコンピュータプロ
セスを実行するためのコンピュータプログラム命令の符
号化によって読取り可能な、コンピュータ記憶媒体であ
ってよい。さらにコンピュータプログラム製品は、コン
ピューティングシステム、およびコンピュータプロセス
を実行するためのコンピュータプログラム命令の符号化
によって読取り可能な、搬送波上の伝播信号であっても
よい。
【0071】さらに、本発明は構造上の特徴および/ま
たは方法論的ステップに固有の言語で記述されている
が、添付の特許請求の範囲で定義された本発明は、記載
されている特定の特徴またはステップに限定されるもの
ではないことを理解されたい。一例として、他のアプリ
ケーションでは、ウィルススキャンアプリケーションお
よびレプリケータの他にも、バージョン固有プロパティ
を利用することができる。さらに、XMLオブジェクト
ストア以外の他のタイプのオブジェクトおよびオブジェ
クトストアも、本発明の原理から恩恵を受けることがで
きる。したがって、特定の特徴およびステップは、記載
された本発明を実施する好ましい形態として開示された
ものである。
【図面の簡単な説明】
【図1】本発明の態様を組み込むことのできるコンピュ
ータシステムの機能図である。
【図2】本発明のソフトウェア構成要素を示す構成図で
ある。
【図3】本発明によるリソースの構成要素を示す機能図
である。
【図4】本発明の一実施形態の機能的な特徴を示す流れ
図である。
【符号の説明】
100 コンピューティングシステム環境 102 コンピュータ 104 処理ユニット 106 システムメモリ 108 システムバス 110 ROM 112 RAM 114 BIOS 116 ハードディスクドライブ 118 磁気ディスクドライブ 120 磁気ディスク 122 光ディスクドライブ 124 光ディスク 126 ハードディスクドライブインターフェース 128 磁気ディスクドライブインターフェース 130 光ドライブインターフェース 132 オペレーティングシステム 134 アプリケーションプログラム 136 プログラムモジュール 138 プログラムデータ 140 キーボード 142 ポインティングデバイス 148 ユーザ入力インターフェース 150 モニタ 152 ビデオアダプタ 154 リモートコンピュータ 162 ネットワークインターフェース 164 モデム

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータシステムに格納されたオブ
    ジェクトに関連するバージョン固有情報を提供する方法
    であって、前記バージョン固有情報が分散型環境におい
    て提供され、該方法は、 前記オブジェクトに関連するバージョン固有プロパティ
    を作成するという要求を受け取る工程と、 所定のアクセス要求に応答して前記バージョン固有情報
    を自動的に無効化することにより、前記バージョン固有
    プロパティが前記オブジェクトの関係する更新を反映す
    るように維持される工程と、 前記バージョン固有プロパティを評価するアプリケーシ
    ョンによる要求を受け取る工程と、 前記バージョン固有プロパティを評価するという要求に
    応答して前記バージョン固有情報を前記アプリケーショ
    ンに提供する工程とを具えたことを特徴とする方法。
  2. 【請求項2】 前記アプリケーションは、ウィルススキ
    ャンアプリケーションであることを特徴とする、請求項
    1記載の方法。
  3. 【請求項3】 前記アプリケーションは、レプリケータ
    アプリケーションであることを特徴とする、請求項1記
    載の方法。
  4. 【請求項4】 前記バージョン固有プロパティはメタ情
    報およびマスク情報を含み、前記マスク情報は、どの所
    定のイベントが該バージョン固有プロパティを無効化す
    るかに関する情報を提供することを特徴とする請求項1
    記載の方法。
  5. 【請求項5】 前記所定のイベントは、オブジェクトデ
    ータの更新であることを特徴とする請求項1記載の方
    法。
  6. 【請求項6】 前記バージョン固有プロパティの一部と
    してマスク情報を提供する工程と、 前記マスク情報に基づいて所定のイベントを決定する工
    程とをさらに含むことを特徴とする請求項1記載の方
    法。
  7. 【請求項7】 前記バージョン固有プロパティ内にセキ
    ュリティ情報を提供することをさらに含むことを特徴と
    する請求項1記載の方法。
  8. 【請求項8】 無効化行為は、バージョン固有プロパテ
    ィを削除することをさらに含むことを特徴とする請求項
    1記載の方法。
  9. 【請求項9】 請求項1記載の方法を実行するための命
    令を符号化する、コンピュータによって読取り可能なこ
    とを特徴とするコンピュータプログラム製品。
  10. 【請求項10】 コンピュータシステムに格納されたオ
    ブジェクトにアクセスする方法であって、前記オブジェ
    クトが関連するバージョン固有プロパティを有し、該方
    法は、 アクセス要求に関するアクセス試行を受け取る工程と、 アクセス試行が無効化アクセスに関するものであるかど
    うかを判定する工程を具え、 前記アクセス試行が無効化アクセスに関するものである
    場合は、 前記バージョン固有プロパティを無効化する工程と、 アクセス要求に関するアクセス動作を実行する工程とを
    含み、 前記アクセス試行が無効化アクセスに関するものでない
    場合は、アクセス要求に関するアクセス動作を実行する
    工程を含むことを特徴とする方法。
  11. 【請求項11】 コンピュータシステムに格納されたオ
    ブジェクトにアクセスする方法であって、前記オブジェ
    クトが関連するバージョン固有プロパティを有し、該方
    法は、 アクセス要求に関するアクセス試行を受け取る工程と、 アクセス試行が無効化アクセスに関するものであるかど
    うかを判定する工程を具え、 前記アクセス試行が前記無効化アクセスに関するもので
    ある場合は、 バージョン固有プロパティを無効化する工程と、 アクセス要求に関するアクセス動作を実行する工程とを
    含み、 前記アクセス試行が前記無効化アクセスに関するもので
    ない場合は、 前記アクセスが前記バージョン固有プロパティに依存す
    るかどうかを判定する工程を含み、 前記アクセスが前記バージョン固有プロパティに依存し
    ない場合は、アクセス要求に関するアクセス動作を実行
    する工程を含み、 前記アクセスが前記バージョン固有プロパティに依存す
    る場合は、 該プロパティが有効であるかどうかを判定し、 該プロパティが有効であると判定されたかどうかに基づ
    いて所定の動作を実行する工程を含むことを特徴とする
    方法。
  12. 【請求項12】 請求項11記載の方法を実行するため
    の命令を符号化する、コンピュータによって読取り可能
    なことを特徴とするコンピュータプログラム製品。
  13. 【請求項13】 バージョン固有オブジェクトを格納し
    たコンピュータ読取り可能媒体であって、前記バージョ
    ン固有オブジェクトがデータオブジェクトに関連し、前
    記バージョン固有オブジェクトはバージョン固有プロパ
    ティセクションを具え、 前記バージョン固有プロパティセクションは第三者アプ
    リケーションによって作成可能であり、前記バージョン
    固有プロパティは所定のイベントに応答して無効化可能
    であることを特徴とするコンピュータ読取り可能媒体。
  14. 【請求項14】 前記バージョン固有プロパティは、 前記プロパティの名前を格納するためのメタ情報セクシ
    ョンと、 前記バージョン固有アプリケーションの作成に使用され
    る第三者アプリケーションのバージョンに関する情報を
    格納するためのバージョン情報セクションと、 前記バージョン固有プロパティを無効化するための所定
    のイベントに関する情報を格納するためのマスク情報セ
    クションとを具えたことを特徴とする請求項13記載の
    コンピュータ読取り可能媒体。
  15. 【請求項15】 前記第三者アプリケーションは、ウィ
    ルススキャン機能を実行し、バージョン情報セクション
    がウィルス定義ファイルに関する情報を格納することを
    特徴とする、請求項13記載のコンピュータ読取り可能
    媒体。
  16. 【請求項16】 所定のイベントがオブジェクトの修正
    に関することを特徴とする、請求項15記載のコンピュ
    ータ読取り可能媒体。
  17. 【請求項17】 分散型環境内でデータオブジェクトに
    関するバージョン固有情報を管理するためのコンピュー
    タプロセスを実行するための命令を符号化する、コンピ
    ュータによって読取り可能なコンピュータプログラム製
    品であって、前記コンピュータプロセスは、 データオブジェクトに関するバージョン固有オブジェク
    トを作成するために、バージョン固有情報をデータオブ
    ジェクトに関連するプロパティとして格納する工程と、 所定のアクセス試行に応答して前記バージョン固有オブ
    ジェクトを無効化する工程とを具えたことを特徴とする
    コンピュータプログラム製品。
  18. 【請求項18】 コンピュータがサービス層を含み、前
    記サービス層によって格納および無効化の行為が実行さ
    れることを特徴とする請求項17記載のコンピュータプ
    ログラム製品。
  19. 【請求項19】 前記バージョン固有情報は、第三者ア
    プリケーション情報に関することを特徴とする請求項1
    7記載のコンピュータプログラム製品。
  20. 【請求項20】 前記第三者アプリケーションはウィル
    ススキャン機能を実行し、前記所定のアクセス試行はオ
    ブジェクトの修正に関することを特徴とする、請求項1
    9記載のコンピュータプログラム製品。
  21. 【請求項21】 コピー、名前変更、またはバックアッ
    プのアクセス試行のうち1つが実行された後でも、バー
    ジョン固有オブジェクトが損なわれないことを特徴とす
    る請求項20記載のコンピュータプログラム製品。
JP2001398350A 2000-12-27 2001-12-27 分散型環境においてバージョン固有プロパティを作成し維持するための方法、および、システム Expired - Fee Related JP4416366B2 (ja)

Applications Claiming Priority (2)

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

Publications (3)

Publication Number Publication Date
JP2002229834A true JP2002229834A (ja) 2002-08-16
JP2002229834A5 JP2002229834A5 (ja) 2005-08-04
JP4416366B2 JP4416366B2 (ja) 2010-02-17

Family

ID=25018113

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001398350A Expired - Fee Related JP4416366B2 (ja) 2000-12-27 2001-12-27 分散型環境においてバージョン固有プロパティを作成し維持するための方法、および、システム

Country Status (4)

Country Link
US (1) US6598060B2 (ja)
EP (1) EP1237073B1 (ja)
JP (1) JP4416366B2 (ja)
AT (1) ATE516534T1 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151643A (en) 1996-06-07 2000-11-21 Networks Associates, Inc. Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer
US6266774B1 (en) 1998-12-08 2001-07-24 Mcafee.Com Corporation Method and system for securing, managing or optimizing a personal computer
US7058667B2 (en) * 2000-12-27 2006-06-06 Microsoft Corporation Method and system for creating and maintaining version-specific properties in a file
US7310817B2 (en) * 2001-07-26 2007-12-18 Mcafee, Inc. Centrally managed malware scanning
US7024432B2 (en) * 2001-08-01 2006-04-04 Mcafee, Inc. Updating computer files on wireless data processing devices
US7680742B1 (en) * 2001-10-09 2010-03-16 Novell, Inc. System and method for controlling access to licensed computing processes via a codified electronic license
US7203681B1 (en) 2002-02-20 2007-04-10 Palm, Inc. Hand-held device filtering
US20030212716A1 (en) * 2002-05-09 2003-11-13 Doug Steele System and method for analyzing data center enerprise information via backup images
US6986123B2 (en) * 2002-06-28 2006-01-10 Microsoft Corporation Extensible on-demand property system
US7243348B2 (en) * 2002-09-19 2007-07-10 Tripwire, Inc. Computing apparatus with automatic integrity reference generation and maintenance
US7702668B2 (en) * 2003-06-16 2010-04-20 Microsoft Corporation Asset composition
US7383541B1 (en) 2003-08-07 2008-06-03 Cisco Technology, Inc. Method and apparatus providing interoperation of execution images of different versions
US7506307B2 (en) * 2003-10-24 2009-03-17 Microsoft Corporation Rules definition language
US7765540B2 (en) * 2003-10-23 2010-07-27 Microsoft Corporation Use of attribution to describe management information
US7539974B2 (en) * 2003-10-24 2009-05-26 Microsoft Corporation Scalable synchronous and asynchronous processing of monitoring rules
US7103874B2 (en) * 2003-10-23 2006-09-05 Microsoft Corporation Model-based management of computer systems and distributed applications
US7676560B2 (en) * 2003-10-24 2010-03-09 Microsoft Corporation Using URI's to identify multiple instances with a common schema
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
US8214800B2 (en) * 2005-03-02 2012-07-03 Advantest Corporation Compact representation of vendor hardware module revisions in an open architecture test system
US20070083930A1 (en) * 2005-10-11 2007-04-12 Jim Dumont Method, telecommunications node, and computer data signal message for optimizing virus scanning
US8132266B2 (en) * 2006-03-28 2012-03-06 Emc Corporation Methods, systems, and computer program products for identifying and enforcing software feature limits across different hardware platforms, software releases, and tiers
US8539253B2 (en) * 2006-07-18 2013-09-17 Netapp, Inc. System and method for securing information by obscuring contents of a persistent image
US8528059B1 (en) * 2008-10-06 2013-09-03 Goldman, Sachs & Co. Apparatuses, methods and systems for a secure resource access and placement platform
US8312548B1 (en) * 2009-04-24 2012-11-13 Network Appliance, Inc. Volume metadata update system for antivirus attributes
US20140032912A1 (en) * 2009-04-28 2014-01-30 Adobe Systems Incorporated Trust context for document signatures
US9015136B2 (en) 2010-01-22 2015-04-21 Microsoft Technology Licensing, Llc Storing temporary state data in separate containers
US8739021B2 (en) 2010-11-04 2014-05-27 Microsoft Corporation Version history inside document
US8825722B2 (en) * 2012-01-13 2014-09-02 Microsoft Corporation Calculation of properties of objects/shapes across versions of applications
WO2015167480A1 (en) * 2014-04-29 2015-11-05 Hewlett-Packard Development Company, L.P. Hardware assisted software versioning of clustered applications
US9563845B1 (en) * 2014-06-05 2017-02-07 Amazon Technologies, Inc. Rule evaluation based on precomputed results
CN112651026B (zh) * 2020-12-30 2024-05-24 微梦创科网络科技(中国)有限公司 一种具有业务安全问题的应用版本挖掘方法及装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5485601A (en) * 1992-05-14 1996-01-16 Ching; Hugh Completely automated and self-generating software system
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
US5996113A (en) * 1996-11-26 1999-11-30 Intel Corporation Method and apparatus for generating digital checksum signatures for alteration detection and version confirmation
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
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
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
US6377960B1 (en) * 1999-07-26 2002-04-23 Microsoft Corporation Transactional configuration store and runtime versus administration isolation with version snapshots and aging
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

Also Published As

Publication number Publication date
EP1237073A3 (en) 2005-08-10
JP4416366B2 (ja) 2010-02-17
EP1237073A2 (en) 2002-09-04
EP1237073B1 (en) 2011-07-13
US6598060B2 (en) 2003-07-22
US20020123992A1 (en) 2002-09-05
ATE516534T1 (de) 2011-07-15

Similar Documents

Publication Publication Date Title
JP4416366B2 (ja) 分散型環境においてバージョン固有プロパティを作成し維持するための方法、および、システム
JP4348036B2 (ja) ファイル中にバージョン固有プロパティを作成し保持する方法およびシステム
US7302531B2 (en) System and methods for sharing configuration information with multiple processes via shared memory
US9424266B2 (en) Efficient file hash identifier computation
US20080307138A1 (en) Method and system for locking resources in a distributed environment
US8484257B2 (en) System and method for generating extensible file system metadata
RU2408060C2 (ru) Способ и система для поддержания согласованности пространства имен с файловой системой
US7272606B2 (en) System and method for detecting and storing file content access information within a file system
EP1723566B1 (en) System and method for efficient file content searching within a file system
US7657530B2 (en) System and method for file system content processing
US7831552B2 (en) System and method for querying file system content
CN1606011A (zh) 用于处理文件请求的方法和系统
JP2001526426A (ja) マルチプロトコルの統一ファイルロッキング
EP2646923A2 (en) File system backup using change journal
US8601147B2 (en) Export of metadata streams to applications
US6611848B1 (en) Methods for maintaining data and attribute coherency in instances of sharable files
US7415480B2 (en) System and method for providing programming-language-independent access to file system content
US8635331B2 (en) Distributed workflow framework
Buraga A model for accessing resources of the distributed file systems
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)
Suehring System Interaction
US20100293197A1 (en) Directory Opportunistic Locks Using File System Filters

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: 20050106

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: 20080730

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080804

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080827

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081226

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20090327

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090327

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090427

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091001

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: 20091023

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: 20091124

R150 Certificate of patent or registration of utility model

Ref document number: 4416366

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121204

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121204

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131204

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees