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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
-
- 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/953—Organization of data
- Y10S707/955—Object-oriented
-
- 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/964—Database arrangement
- Y10S707/966—Distributed
-
- 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/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
-
- 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/99953—Recoverability
-
- 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)
- 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
においてオブジェクトの一部として格納されたプロパテ
ィを作成し維持し、プロパティがいつどのようにして作
成されたかに関するバージョン固有の情報を格納し、所
定の「更新」イベントが発生したときに自動的に無効と
なる方法およびシステムを提供すること。 【解決手段】 第三者アプリケーションは、一般に、こ
れらのバージョン固有プロパティを作成し、これにアク
セスすることによって、持続状態情報を格納するための
外部のログまたはデータベースを不要とすることができ
る。
Description
ューティング環境に関し、より詳細には、特定のシステ
ムにおいて各オブジェクトの一部として格納されたオブ
ジェクトプロパティのフォーマットおよび管理に関す
る。さらに詳細には、本発明は、第三者のアプリケーシ
ョンに状況情報を提供するためのオブジェクトプロパテ
ィの使用に関する。
通常、コンピュータ情報は「リソース」または「オブジ
ェクト」と呼ばれる単位で格納される。リソースとは、
Uniform Resource Locator
(URL)またはUniformResource I
dentifier(URI)を介してWeb上でアク
セスできる、任意のエンティティであってよい。リソー
スメンバのグループを集めたものが、「コレクション」
と呼ばれる。リソースをグループにまとめることの利点
は、いったんリソースグループがまとまると、非分散型
環境にあるコンピュータファイルと同じ方法で処理する
ことが可能であるという事実に関するものであり、この
場合、ファイルとリソースコレクションはどちらもそれ
ぞれがデータおよびメタデータを有する。データとは、
オブジェクトまたはリソースいずれかに関する実際の目
的データであり、メタデータとは、ファイルまたはリソ
ースの内容を表す情報であって、データの場合もある。
く普及するに従って、クライアントシステムがサーバシ
ステムやサーバシステム上のリソースと対話する際にク
ライアントシステムが使用する代表的な機能にも改良が
重ねられてきた。たとえば、Hypertext Tr
ansfer Protocol(HTTP)バージョ
ン1.1などの過去のプロトコルは、サーバ側のアプリ
ケーションやドキュメントに情報を「入れる(pu
t)」機能であった。クライアントは、ヘッダに「PU
T」コマンドを組み込んだ特定のHypertext
Markup Language(HTML)要求を使
用する。次いでサーバがこのヘッダ情報を解釈してコマ
ンドを実行する、というものであった。
介してクライアントシステムからサーバシステム上にあ
るリソースをオーサリングする概念が増加してきた。こ
の顕著な例の1つが、World Wide Web
Distributed Authoring and
Versioning標準の略であるWebDAV標
準の開発に関するものであり、以下、本明細書では簡単
に「DAV」という。DAVはヘッダとメソッドのセッ
トを提供するものであり、上書き禁止(ロック)、プロ
パティ、およびネームスペース管理のための機能が提供
できるようにHTTPが拡張されている。IETFが作
成し、IESGによって提唱標準(proposed
standard)RFC 2518として承認された
文書が、1999年2月に出版されており、DAVに関
してはこの標準でより詳細に説明されている。
ィオブジェクトを作成するが、このプロパティは従来の
ファイルシステムにおいて使用されたファイルのプロパ
ティと同様のものである。プロパティは、リソースの名
前、リソースの原作者、リソース(またはリソースコレ
クション)の最新バージョン番号などの情報を格納する
ことができる。
ソースシステムと組み合わせることにより、ウィルスス
キャン機能などの追加のシステム特性または機能を提供
する場合が多い。これらの第三者アプリケーションは、
実際にそれぞれのリソースのアクセス試行を「傍受」し
てウィルス対象をスキャンするか、または実際のアクセ
ス操作を行う前に他のテストを実行することができる。
しかし、リソースにアクセスするたびにスキャン操作や
他のテストを行っていては、膨大な時間がかかってしま
う。したがって、各リソースのバージョン情報を格納し
ておく情報のログを保持することができる。たとえばロ
グは、システム上にあるリソースのリスト、および各リ
ソースがスキャンされたかどうか、さらにスキャンされ
た場合はどのバージョンのウィルス定義ファイル(vi
rus definitionfile)が使用された
かについて、保持することができる。ウィルススキャナ
はこの情報のログを使用して、新規または修正済みのリ
ソース、あるいは古いウィルス定義ファイルでスキャン
されたリソースだけをスキャンすることで、処理時間を
削減することができる。
キャンしているシステムは、ログを使用することで大幅
に改善されるが、こうしたログの使用によって生じる欠
点もある。たとえば、かかる情報ログを保持するために
は、かなりのオーバヘッドが必要である。さらに、各項
目がスキャンされたかどうかを判定するためにログにア
クセスするプロセスでは、ディスク上に別ファイルを配
置し、これを調べなければならないため、システム全体
の性能が低下する。さらに、リソースがコピーまたはバ
ックアップされるときには情報のログは更新されず、状
況によっては不要なスキャン動作を発生させることにな
る。
ために生じる性能低下の問題を解決する方法の1つが、
揮発性メモリ、たとえばRAM内に作成および格納され
る「インメモリ(in−memory)」ログを保持す
ることである。インメモリログへのアクセスは別ファイ
ルへのそれよりも速いため、上記ログファイルの代わり
にインメモリログを使用することで、システムの性能が
向上する。ただし、システムのオフ、シャットダウン、
リブートなどでシステムの電源が切れると、インメモリ
ログは消去されるか、または失われる。したがって、電
源停止後は、状態情報またはバージョン情報が即時に特
定できない可能性がある。インメモリログに関連する他
の欠点は、かかるログが、システムの使用する操作メモ
リを大量に消費することである。したがって、インメモ
リログは、前述の問題に適切な解決策を与えるものでは
ない。
記またはその他の考慮すべき点に関する解決策を提供す
ることである。そこで、本発明の目的は、バージョン固
有プロパティまたは分散型環境においてオブジェクトの
一部として格納されたプロパティを作成し維持し、プロ
パティがいつどのようにして作成されたかに関するバー
ジョン固有の情報を格納し、所定の「更新」イベントが
発生したときに自動的に無効となる方法およびシステム
を提供することにある。
はオブジェクトのコレクション(collectio
n)の一部として格納され、プロパティがいつどのよう
にして作成されたかに関するバージョン固有の情報を格
納し、所定の「更新」イベントが発生したときに自動的
に無効となる、バージョン固有の属性またはプロパティ
を作成および使用することによって、これらの問題を解
決する。第三者アプリケーションは、一般に、これらの
バージョン固有プロパティを作成し、これにアクセスす
ることによって、外部のログまたはデータベースを不要
とすることができる。
内に格納されたオブジェクトに関連するバージョン固有
の情報をアプリケーションに提供する方法に関する。こ
の方法には、オブジェクトに関連するバージョン固有プ
ロパティを作成すること、所定のアクセス要求に応答し
てバージョン固有の情報を自動的に無効とすることによ
り、関連するオブジェクトの更新が常にバージョン固有
プロパティに反映されるようにすること、ならびに第三
者アプリケーションがバージョン固有プロパティを分析
できるようにすることが含まれる。
ョンとは、ウィルススキャンアプリケーション、あるい
はバックアップまたは性能上の目的でデータオブジェク
トの冗長コピーを作成するレプリケータタイプのアプリ
ケーションなどの、第三者アプリケーションである。さ
らに、本発明のバージョン固有プロパティは、メタ情
報、バージョン情報、およびマスク情報を含むことがで
きる。バージョン情報は、オブジェクト自体または固有
のプロパティ作成に使用されるアプリケーションのバー
ジョンに関し、マスク情報は、バージョン固有プロパテ
ィを無効化できる所定のイベントのポリシーまたは定義
に関する。他の実施形態では、さらにバージョン固有プ
ロパティは、プロパティまたはデータオブジェクトへの
無許可のアクセスを防止するためか、あるいはデータオ
ブジェクトが破損されているかどうかを判定する場合に
他のアプリケーションに検証要素を提供するための、デ
ジタル署名または他のセキュリティ情報を含むことがで
きる。
有プロパティは、オブジェクト内のデータやオブジェク
トに関連するメタデータの修正などの所定のイベントに
基づいて、あるいは他のバージョン固有プロパティが変
更されるときに、無効化することができる。無効化動作
は、バージョン固有プロパティの削除または切り捨て、
あるいはバージョン固有プロパティが無効であることを
示す他の方法であってよい。
固有プロパティを有するオブジェクト形式に関する。バ
ージョン固有プロパティにはメタ情報セクションと、プ
ロパティを作成したアプリケーションのバージョンに関
する情報を格納するためのバージョン情報セクション
と、プロパティの無効化を発生される所定のイベントに
関する情報を格納するためのマスク情報セクションとが
ある。さらに、本発明は、かかるバージョン固有プロパ
ティを作成および保持するためのプロトコルを提供する
システムにも関する。
ューティングシステム、およびコンピュータプログラム
製品などの製造物として実施することができる。コンピ
ュータプログラム製品は、コンピュータシステム、およ
びコンピュータプロセスを実行するためのコンピュータ
プログラム命令の符号化によって読取り可能な、コンピ
ュータ記憶媒体であってよい。さらにコンピュータプロ
グラム製品は、コンピューティングシステム、およびコ
ンピュータプロセスを実行するためのコンピュータプロ
グラム命令の符号化によって読取り可能な、搬送波上の
伝播信号であってもよい。
の現在の好ましい実施形態についての以下の詳細な説
明、および添付の特許請求の範囲を参照すると、本発明
およびその改良点についてより完全に理解することがで
きる。
ティ、あるいはデータオブジェクトに関するメタ情報を
定義または提供するプロパティを作成する、データオブ
ジェクトモデルに関する。バージョン固有プロパティ
は、メタ情報識別ポインタを介する場合、あるいはデー
タオブジェクトそれ自体と常駐させる方法で情報を格納
する場合のいずれも、データオブジェクトと関連して格
納することが可能であるという点が、他のデータオブジ
ェクトプロパティと同様である。ただし、バージョン固
有プロパティは、バージョン固有プロパティを作成した
アプリケーションに関するバージョン固有情報を格納す
る機能を含め、既存のメタ情報プロパティとは比較的異
なる特徴を有する。さらにバージョン固有プロパティ
は、所定のイベントが発生すると同時に自動的に更新さ
れる。実際、無効化を発生させるイベントに関する情報
も、バージョン固有プロパティの一部として格納される
場合がある。
ピューティングシステム環境100の一例を示す図であ
る。コンピューティングシステム環境100は、好適な
コンピューティング環境の一例にすぎず、本発明の使用
範囲または機能性に関して、なんらかの制限を与えるこ
とを意図するものではない。さらにコンピューティング
環境100は、例示的な動作環境100に例示された任
意の1構成要素またはその組合せに関して、なんらかの
依存性または要件を有するものでもない。
は、数多くの他の汎用または特殊用途向けコンピューテ
ィングシステム環境または構成で動作可能である。本発
明での使用に好適なよく知られたコンピューティングシ
ステム、環境、および/または構成の例には、パーソナ
ルコンピュータ、サーバコンピュータ、ハンドヘルドま
たはラップトップデバイス、マルチプロセッサシステ
ム、マイクロプロセッサベースシステム、セットトップ
ボックス、プログラム可能な家庭用電子機器、ネットワ
ークPC、ミニコンピュータ、メインフレームコンピュ
ータ、任意の上記システムまたはデバイスを含む分散型
コンピューティング環境などが含まれるが、これらに限
定されるものではない。
行されるプログラムモジュールなどの、一般的なコンピ
ュータ実行可能命令の情況で説明することができる。通
常、プログラムモジュールには、ルーチン、プログラ
ム、オブジェクト、構成要素、データ構造などが含ま
れ、これらが特定のタスクを実行するか、または特定の
抽象データタイプを実施する。本発明は、通信ネットワ
ークを介してリンクされたリモート処理デバイスによっ
てタスクが実行される、分散型コンピューティング環境
において実施することもできる。分散型コンピューティ
ング環境では、プログラムモジュールは、メモリ記憶デ
バイスを含む、ローカルおよびリモートのどちらのコン
ピュータ記憶媒体にも配置することができる。
の例示的システムには、コンピュータ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)バスが含まれる。
ピュータ読取り可能媒体を含む。コンピュータ読取り可
能媒体は、コンピュータ102がアクセス可能な任意の
使用可能媒体であってよく、揮発性および不揮発性媒
体、取外し可能および取外し不能媒体のどちらも含まれ
る。限定的ではなく例示的なものとして例を挙げると、
コンピュータ読取り可能媒体は、コンピュータ記憶媒体
および通信媒体を含むことができる。コンピュータ記憶
媒体には、コンピュータ読取り可能命令、データ構造、
プログラムモジュール、または他のデータなどの情報を
記憶するための任意の方法または技術で実施された、揮
発性および不揮発性、取外し可能および取外し不能のど
ちらの媒体も含まれる。コンピュータ記憶媒体には、R
AM、ROM、EEPROM、フラッシュメモリ、また
は他のメモリ技術、CDE−ROM、デジタル汎用ディ
スク(DVD)または他の光ディスク記憶装置、磁気カ
セット、磁気テープ、磁気ディスク記憶または他の磁気
記憶デバイス、あるいは、所望の情報を格納するのに使
用可能でありコンピュータ102がアクセス可能な他の
媒体が含まれるが、これらに限定されるものではない。
可能命令、データ構造、プログラムモジュール、または
他のデータを、搬送波または他の移送メカニズムなどの
被変調データ信号で具体化するものであって、任意の情
報伝達媒体を含む。「被変調データ信号」という用語
は、その特徴セットのうち1つまたは複数を有する信
号、または信号内の情報を符号化する方法などで変更さ
れた信号を意味する。限定的ではなく例示的なものとし
て例を挙げると、通信媒体には、有線ネットワークまた
は直接線接続などの有線媒体と、音響(acousti
c)、RF、赤外線、および他の無線媒体などの無線媒
体とが含まれる。上記いずれかを組み合わせる場合は、
コンピュータ読取り可能媒体の範囲内であるものとす
る。
モリ(ROM)110およびランダムアクセスメモリ
(RAM)112などの、揮発性および/または不揮発
性メモリ形態のコンピュータ記憶媒体が含まれる。起動
時などにコンピュータ102内の要素間で情報を転送す
るのに役立つ基本ルーチンを含む、基本入出力システム
114(BIOS)は、典型的にはROM 110に格
納されており、RAM112には、典型的には、即時ア
クセス可能かつ/または現在処理ユニット104によっ
て動作中であるファイルおよび/またはプログラムモジ
ュールが含まれる。限定的ではなく例示的なものとして
例を挙げると、図1は、オペレーティングシステム13
2、アプリケーションプログラム134、他のプログラ
ムモジュール136、およびプログラムデータ138を
例示している。さらにコンピュータ102は、以下で述
べるように、システム102のファイル形式を定義し、
バージョン固有プロパティ形式を定義する、ファイルシ
ステムを備える。
取外し不能、揮発性/不揮発性のコンピュータ記憶媒体
を含むこともできる。例示的な目的でのみ例を挙げる
と、図1には、取外し不能、不揮発性磁気媒体との間で
読取り/書込みを行うハードディスクドライブ116、
取外し可能、不揮発性磁気ディスク120との間で読取
り/書込みを行う磁気ディスクドライブ118、および
CD ROMまたは他の光学式媒体などの取外し可能、
不揮発性光ディスク124との間で読取り/書込みを行
う光ディスクドライブ122が例示されている。例示的
な動作環境において使用できる他の取外し可能/取外し
不能、揮発性/不揮発性のコンピュータ記憶媒体には、
磁気テープカセット、フラッシュメモリカード、デジタ
ル汎用ディスク、デジタルビデオテープ、ソリッドステ
ートRAM、ソリッドステートROMなどが含まれる
が、これらに限定されるものではない。ハードディスク
ドライブ116は、典型的にはインターフェース126
などの取外し不能メモリインターフェースを介してシス
テムバス108に接続され、磁気ディスクドライブ11
8および光ディスクドライブ122は、典型的には、そ
れぞれインターフェース128および130などのメモ
リインターフェースによって、システムバス108に接
続される。
びそれに関連するコンピュータ記憶媒体は、コンピュー
タ102に関するコンピュータ読取り可能命令、データ
構造、プログラムモジュール、および他のデータを格納
するものである。たとえば図1では、ハードディスクド
ライブ116は、オペレーティングシステム132、ア
プリケーションプログラム134、他のプログラムモジ
ュール136、およびプログラムデータ138を格納す
るものとして示されている。
にマウス、トラックボール、またはタッチパッドと呼ば
れるポインティングデバイス142などの入力デバイス
を介して、コンピュータ102にコマンドおよび情報を
入力することができる。他の入力デバイス(図示せず)
は、マイクロフォン、ジョイスティック、ゲームパッ
ド、衛星放送用パラボラアンテナ、スキャナなどを含む
ことができる。これらおよび他の入力デバイスは、シス
テムバス108に結合された入力インターフェース14
8を介して、処理ユニット104に接続されることが多
い。モニタ150または他の種類のディスプレイデバイ
スも、ビデオアダプタ152を介してシステムバス10
8に接続することができる。コンピュータは、モニタに
加え、図示されていないスピーカおよびプリンタなどの
他の周辺出力デバイスを含むこともできる。
ータ154などの1つまたは複数のリモートコンピュー
タへの論理接続を使用するネットワーク環境において動
作可能である。リモートコンピュータ154は、パーソ
ナルコンピュータ、サーバ、ルータ、ネットワークP
C、ピアデバイス、または他の共通ネットワークノード
であってよく、典型的には、コンピュータ102に関し
て上記で述べた多くのまたはすべての要素を含む。
る場合、コンピュータ102はネットワークインターフ
ェースまたはアダプタ162を介してLANに接続され
る。WANネットワーク環境において使用される場合、
コンピュータ102は典型的には、モデム164また
は、インターネットなどのWANを介して通信を確立す
るための他の手段が含まれる。モデム164は内蔵でも
外付けでもよく、ユーザ入力インターフェース148ま
たは他の適切なメカニズムを介して、システムバス10
8に接続することができる。ネットワーク環境では、コ
ンピュータ102に関連して描かれているプログラムモ
ジュールまたはその一部を、リモートのメモリ記憶デバ
イスに格納することができる。図示されたネットワーク
接続は例示的なものであり、コンピュータ間に通信リン
クを確立する他の手段も使用できることを理解されよ
う。
動作環境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で示されるように、多くの他のオ
ブジェクトを含むことができる。
4、206、208、および210は、各オブジェクト
に関連する何らかの形のメタ情報オブジェクト(図示せ
ず)を有し、メタ情報は、オブジェクトの作者、オブジ
ェクトが最後にアクセスされた時間、などのような情報
を含む。このメタ情報は、データオブジェクトの一部と
して、あるいはポインタまたはメタ情報オブジェクトを
その特定のデータオブジェクトに関連付ける何らかの他
の識別要素を有する他のオブジェクトの一部として、格
納することができる。
ジェクトを、オブジェクト220および222などのバ
ージョン固有プロパティオブジェクトに関連付けること
もできる。バージョン固有プロパティ220および22
2は、それぞれデータオブジェクト208および210
に関連する。バージョン固有プロパティ220および2
22はバージョン固有情報を備えており、それぞれオブ
ジェクト208および210に関して発生する他のイベ
ントによって無効化することができる。
は、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と対話することが重要で
あり、アクセスにはオブジェクトの移動、コピー、削
除、読取り、実行、または更新などが含まれる。
226は、アプリケーションモジュールの層、すなわち
サービス層236を介して、オブジェクト204、20
6、208、および210にアクセスすることができ
る。サービス層236は、オブジェクトアクセス要求が
既存のオブジェクトに関するものであること、要求を作
成しているモジュールが要求の作成および実行の許可を
得ているかどうかなど、様々な機能を提供することがで
きる。この対話層236は、アプリケーションプログラ
ムインターフェース228、230が可能であるのに加
え、クライアントまたはサーバのコンピュータシステム
の一部であってよいオペレーティングシステムインター
フェース(図示せず)でも可能である。
プロパティ220および222に関して、アプリケーシ
ョンプログラム224および226が、それぞれオブジ
ェクト208および210に関するバージョン固有プロ
パティ220および222を作成および使用することが
できる。あるいは、サービス層236がバージョン固有
プロパティを作成および使用することができる。バージ
ョン固有プロパティがいったん作成されると、他のアプ
リケーションはこのプロパティにアクセスし、バージョ
ン固有プロパティ220または222の評価に基づいて
オブジェクトに関する動作の実行を決定することができ
る。さらに、他方のアプリケーションは、アプリケーシ
ョンが有効なバージョン固有プロパティの有無をテスト
すると異なる結果を生じさせるようなバージョン固有プ
ロパティを無効化できる、データオブジェクトに関する
動作を実行することができる。
ジェクト、たとえばオブジェクト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にアクセスした際などにバージョン固有プロ
パティが識別されなかった場合、ウィルススキャンアプ
リケーションは、これらのオブジェクトがスキャンされ
ていないか、またはスキャンされてから修正されている
と認識する。
と、ウィルススキャンアプリケーションがサービス層2
36の一部として、オブジェクト204または206の
うち1つをスキャンすると想定した場合、新しいバージ
ョン固有プロパティ(図示せず)が作成され、スキャン
済みのオブジェクトに関連する。その後、新しく作成さ
れたプロパティ(図示せず)がオブジェクトと共に格納
されるため、このプロパティを将来のアクセス要求に利
用することができる。
ティを、他のアプリケーションがアクセスおよび評価で
きるデジタル署名を利用して符号化することができる。
その後このデジタル署名を調べて、ファイルが有効なコ
ピーであるかどうかを判定することができる。このよう
な場合、ファイルが他のアプリケーションによって勝手
に変更されている、すなわち破損していると、デジタル
署名は無効となる。無効化されたデジタル署名は、署名
が存在しなかったものとして処理されるため、データオ
ブジェクトを無効として処理することができる。
オブジェクトへの無許可のアクセスを防ぐためにさらに
他のセキュリティ情報を含むことができる。サービス層
236はこの情報を、プロパティをロックしてウィルス
アプリケーションなどの不適切なアプリケーションが使
用できないようにする手段として使用する。サービス層
は、有効なアプリケーションのみがプロパティまたはデ
ータオブジェクトそれ自体にアクセスすることを保証す
る目的で、アクセスごとにバージョン固有プロパティを
評価するように構成することができる。
ション300が図3に示されている。コレクション30
0は、実際のオブジェクト情報に関するデータオブジェ
クト302を有する。さらにコレクション300は、こ
の特定の例では、時間やオブジェクトサイズなどの何ら
かの標準プロパティを含む一般情報を含んでいる、メタ
情報オブジェクト304を有する。他の実施形態では、
メタ情報オブジェクト304は標準プロパティを含ま
ず、その代わりに標準プロパティは他のオブジェクト
(図示せず)に格納される場合がある。
うにバージョン固有プロパティ306も有する。バージ
ョン固有プロパティ306には、3タイプの情報が含ま
れる。その1つがメタ情報セクション308であり、こ
れは典型的には、プロパティの作成に使用される第三者
アプリケーションの名前などのプロパティの名前、その
他、プロパティの長さ、そのディスク上のアドレス位置
などの情報を有する。
ージョン情報セクション310も含まれる。バージョン
情報セクション310には、プロパティの作成に使用さ
れた第三者アプリケーションのバージョンなど、バージ
ョン固有プロパティ306の作成に使用された最も新し
い特定アプリケーションのバージョンに関する情報が含
まれる。すなわち、こうしたバージョン情報は、プロパ
ティを評価しているプログラムモジュールと関連させる
ことができるため、このタイプの情報専用にセクション
が割り当てられる。
連する更新に関する情報をサーバシステムに提供する際
に使用される、マスク情報セクション312も含まれ
る。マスク情報セクション312は、本来、どのプロト
コルまたはポリシーのイベントがバージョン固有プロパ
ティ306を無効化できるかまたはできないかを、他の
アプリケーションまたはサーバシステムに指示するもの
である。
パティ306がウィルススキャンアプリケーションによ
って作成されると、メタ情報セクション308は、バー
ジョン固有プロパティ306の作成に使用されたウィル
ススキャンアプリケーションの名前を保持することがで
きる。さらにバージョン情報セクション310には、バ
ージョン固有プロパティ306が作成された時に使用さ
れた特定のウィルス定義ファイルに関連する情報が含め
られることになる。ウィルススキャンアプリケーション
は最近検出されたウィルスを含めるために頻繁に更新さ
れるので、この特定の場合では、バージョン情報が重要
である。したがって、ウィルススキャンアプリケーショ
ンは、オブジェクトが以前にスキャンされたことがある
かどうかを判定するだけでなく、更新済みのウィルス定
義ファイルを使用してスキャンされたかどうかも判定し
なければならない。
ィルススキャンアプリケーションがバージョン固有プロ
パティ306を作成すると、マスク情報セクション31
2にはバージョン固有プロパティ306の無効化を発生
させるような特定のイベントが含められる可能性があ
り、このイベントはウィルススキャンアプリケーション
に一意的に直接関係する場合がある。この特定の場合で
は、プロパティ306の無効化を発生させることのある
このようなイベントに、新しいデータの追加またはデー
タの消去のいずれかによるデータオブジェクト302の
修正が含まれる。他の実施形態では、他の所定のイベン
トが、データオブジェクト302などに関連する他のプ
ロパティの修正などの、バージョン固有プロパティの無
効化を発生させることがある。
セクション312に含めることができないためにバージ
ョン固有プロパティが無効化されることのない所定のイ
ベントに、読取り専用アクセスイベント、オブジェクト
名の変更、またはオブジェクトのコレクション300の
バックアップを含めることができる。実際には、イベン
トがバージョン固有プロパティを無効化しなければ、オ
ブジェクト名が変更されたような場合でもそのプロパテ
ィはオブジェクト302に関連するままとなる。
者アプリケーション、たとえば特定オブジェクトストア
とは別のアプリケーションによって作成される。バージ
ョン固有プロパティを作成する場合、第三者アプリケー
ションは、名前、バージョン、およびマスクの情報を、
XMLオブジェクトが格納されるサーバシステムに提供
する。次いでサーバシステムがプロパティを作成し、こ
れを特定データオブジェクトに関連付ける。別法とし
て、バージョン固有プロパティを作成し、これがデータ
オブジェクト302と関連付けられている間はリモート
コンピュータシステム上に格納することもできる。
プロパティはWebDAV、すなわちWorld Wi
de Web Distributed Author
ing and Versioning protoc
ol(DAV)の一部としての、HTTPの拡張であ
る。本来、バージョン固有プロパティは新しいタイプの
DAVプロパティであって、自由度のライブ/デッド
(live/dead)が他のDAVプロパティと同じ
であり、すなわちライブプロパティはサーバ側で管理さ
れ、デッドプロパティはクライアント側で管理される。
DAVで新しいバージョン固有プロパティを定義するに
は、表1〜表4に示されたドキュメントタイプ定義(D
TD)を実施することができる。これらのサンプルは、
もちろん概略として作成されたものである。
るために、第三者プロパティは、PROPPATCH、
PUTなどの標準DAVメカニズムを使用する。これら
のメカニズムについては、付録Aで詳細に説明する。代
替実施形態では、これらのバージョン固有プロパティ
は、他の方法を使用して作成される。
パティを1つだけ有するように図示および説明されてい
るが、コレクション300は、他のバージョン固有プロ
パティも含めて他のプロパティを有することもできる。
実際に、いくつかの第三者アプリケーションは、持続状
態情報が関連付けられていることを要求することが可能
であり、したがってプロパティ306などの多数のバー
ジョン固有プロパティを作成し、コレクション300と
共に格納することができる。
たが、以下のセクションでは、本発明の態様を具体化す
る動作モジュールについて説明する。本発明の様々な実
施形態の論理的動作は、(1)コンピューティングシス
テム上で実行中のコンピュータが実施する一連のステッ
プまたはプログラムモジュールとして、および/または
(2)コンピューティングシステム内で相互接続された
ハードウェアモジュールまたは論理モジュールとして実
施される。この実施は、本発明を実施するコンピューテ
ィングシステムの性能要件に依存する選択の問題であ
る。したがって、本明細書に記載された本発明の実施形
態を構成している論理動作は、動作、ステップ、または
モジュールと呼ばれることもある。
トへのアクセスに関連する動作特性を示す流れ図であ
る。流れ400が開始される前に、図2に示されたオブ
ジェクト204、206、208、または210などの
オブジェクトが、ストア202(図2)などのXMLス
トア内に存在する。本発明の一実施形態では、いったん
オブジェクトが作成されると、そのオブジェクトにアク
セスしようと試みると、図4に関して図示および説明し
た流れ400が開始される。実際には、プロセス400
はアクセス試行402で開始されるが、このアクセス試
行402は、任意のオブジェクトの読取り、実行、また
は更新に関するものである。アクセス試行は、アプリケ
ーション224(図2)などの第三者アプリケーション
によって、またはサービス層236(図2)によって実
行することができる。
4で、アクセスが無効化アクセスであるかどうかを判定
する。アクセスが無効化アクセスであるか否かの判定に
は、複数の特定オブジェクトにアクセスしていると想定
した、各バージョン固有プロパティ内にあるマスク情報
の評価が含まれる。マスク情報を評価することにより、
そのオブジェクトへのどのタイプのアクセスが、特定の
バージョン固有プロパティを無効化するように要求して
いるのかがわかる。したがって、マスク情報と実際のア
クセス試行とを比較することにより、バージョン固有プ
ロパティを無効化すべきかどうかがわかる。決定行為4
04でこのような関係する更新アクセス試行が識別され
ると、流れはYESの無効化動作406へと進む。
プロパティはウィルススキャンアプリケーションによっ
て作成および使用される。このような状況では、決定行
為404により、アクセス試行が関係する更新アクセス
であるかどうかが、ウィルススキャンアプリケーション
が設定した基準に基づいて判定される。すなわち、ウィ
ルススキャンアプリケーションは、アクセス試行が、古
いデータを変更するかまたは新しいデータを追加するこ
とによって実際のオブジェクトデータを修正するかどう
かなど、関係する更新アクセスとは何であるかを事前に
決定している。たとえば、特定のウィルススキャンアプ
リケーションは、新しいデータの作成を含み、オブジェ
クト内のデータにどんな変更が行われる場合でも必ずそ
のバージョン固有プロパティが無効化されるのを希望す
ることができる。変更が、バージョン固有プロパティま
たは他のオブジェクトのメタデータまたはメタ情報にだ
け関係する場合には、無効化は発生しない。
ーションがバージョン固有プロパティを作成しこれを使
用することができる。このような場合、レプリケータア
プリケーションは、オブジェクトのデータまたはメタデ
ータのいずれかにどんな変更が行われる場合でも必ず、
そのバージョン固有プロパティが無効化されるのを希望
することができる。これら特定のバージョン固有プロパ
ティは、このクラスのバージョン固有プロパティだけに
影響を与えるのではないような変更が行われると、必ず
無効化される。この場合、特定のクラスを定義すること
により、複数のレプリケータが存在することでオブジェ
クトが何度も反復されるのを防いでおり、1つのレプリ
ケータアプリケーションによる反復インスタンスは、そ
れぞれ、第2のレプリケータアプリケーションによる反
復の必要に応じて生じることになる。
パティを無効化する。バージョン固有プロパティの無効
化は、一実施形態では、そのバージョン固有プロパティ
の削除または切り捨てによって達成することができる。
あるいは、無効化動作406がバージョン固有プロパテ
ィにマークを付けるか、そうでなければプロパティが無
効である旨の表示を与える。本来、プロパティを無効化
する行為は、バージョン固有プロパティに依拠したアプ
リケーションが、バージョン固有プロパティが無効化さ
れていることを、その内容を空の文字列に設定すること
などによって認識できるようにするものでなければなら
ない。バージョン固有プロパティを無効化する他の方法
には、無効化アクセスまたはバージョン固有プロパティ
への情報の追加、あるいはその中に含まれる情報の修正
も含むことができる。無効化行為406は、オブジェク
トへの最後のアクセスまたは書込みに関するプロパティ
などの、他のプロパティは変更しない。
ジョン固有プロパティを有する場合、動作404および
406は、それぞれのバージョン固有プロパティについ
て繰返し行われる。
作408が、オブジェクトに対して要求されたアクセス
を実行する。オブジェクトに対するアクセスを実行する
行為は、バージョン固有プロパティが無効化された後に
開始することが重要である。そうでないと、バージョン
固有プロパティが信頼できなくなる可能性がある。アク
セス実行動作408に続き、流れ400は終了動作41
0で終了する。
アクセスに関連していないと判定されると、流れはNO
の決定動作412に進む。決定動作412では、アクセ
スがバージョン固有プロパティに依存しているかどう
か、たとえば、アクセス試行が、動作を実行する際にバ
ージョン固有プロパティを使用しているアプリケーショ
ンによるアクセス試行であるかどうかを判定する。たと
えば、バージョン固有プロパティを使用するウィルスス
キャンアプリケーションはアクセス試行を生成すること
が可能であり、その場合決定動作412は、そのアクセ
ス試行がバージョン固有プロパティを使用するかかるア
プリケーションによって生成されたものであるかどうか
を判定する。
ィに依拠するアプリケーションによって実行されたもの
でない場合、流れはNOのアクセス実行動作408に進
む。アクセス実行動作408は、最初に要求されたアク
セス動作を実行する。決定動作412に続いてアクセス
実行動作408が行われる場合、アクセス動作は、決定
行為404が判定したような無効化を要求する動作には
関連していない。たとえば、このアクセス試行は、ユー
ザが実際のデータを修正できない読取り動作に関連して
いることがある。アクセス実行動作408に続き、プロ
セス流れは前述のように410で終了する。
固有プロパティに依存していると判定した場合、流れは
YESの決定行為414に進む。決定行為414は、バ
ージョン固有プロパティが有効であるかどうかを判定す
るために、これを分析する。プロパティが有効であるか
どうかの判定には、プロパティが有効であるかどうかの
他の判定方法の中から、プロパティが存在するかどう
か、これが無効としてマークされているかどうか、また
は情報がすべて利用できないように切り捨てられている
かどうかが含まれる。決定行為414によって、プロパ
ティが有効でないと判定されると、流れはNOの無効プ
ロパティに関するアクセス実行行為416に進む。
るという判定に基づいて、所定の機能が実行される。一
実施形態では、アクセス試行がウィルススキャンアプリ
ケーションによって生成されたものである場合、実行動
作416は、かかるウィルススキャン機能をオブジェク
ト上で実行することに関する。
続き、バージョン固有プロパティ作成行為418では、
そのオブジェクトに関してバージョン固有プロパティを
作成または有効化する。バージョン固有プロパティの有
効化には、そのオブジェクトのバージョン固有プロパテ
ィを作成すること、または既存のバージョン固有プロパ
ティに情報を追加することが含まれる。他の実施形態で
は、プロパティが有効であるという表示を与えることに
よって、後にプロパティが有効であることがわかる限り
は、他の方法でプロパティを有効化することができる。
バージョン固有プロパティ有効化行為418に続き、プ
ロセス400は終了動作410で終了する。
ティが有効であると判定された場合、流れはYESの実
行動作420に進む。実行動作420は、バージョン固
有プロパティが有効であるという判定に関する任意の行
為を実行することに関する。バージョン固有プロパティ
を使用する特定のアプリケーションによって、実行動作
420には異なるタイプの動作が含まれることがある。
一例では、プロパティが有効であると判定された場合、
ウィルススキャン状況などでは何の動作も実行されな
い。このような場合、決定行為414でバージョン固有
プロパティが有効であると判定されると、オブジェクト
は以前にスキャンされているため他のスキャンは不要で
ある。したがって、そのオブジェクトについては何の動
作も実行されず、動作420は終了動作410に制御を
渡すだけである。他の実施形態では、バージョン固有プ
ロパティが有効であると判定されると、420で動作が
実行開始される場合がある。
ン情報が別のログまたはデータベースファイルに常駐し
ているのではなく、オブジェクトまたはオブジェクトコ
レクションの一部であるため、バージョン情報をプログ
ラムモジュールまたはアプリケーションに提供するとい
う従来の方法に比べて、かなり有利である。アクセス側
のアプリケーションは、利用不能、破損、その他管理不
能になる可能性がある、外付けタイプのファイルにアク
セスする必要がない。さらに、電源が切断されてもプロ
パティは失われず、プロパティは、インメモリ情報ログ
の場合のように、大量の動作メモリを消費せずに済む。
さらに、プロセスは自動的に更新され、すなわち、関連
するイベントが発生したときにはバージョン固有情報が
無効化される。さらに、プロセスは自動的に更新され、
すなわち、関連するイベントまたは更新が発生したとき
にはバージョン固有情報が無効化される。バージョン固
有情報を自動的に無効化することにより、関連する関係
する更新は見逃されることがなく、不要な行為は実行さ
れない確率が高くなる。たとえば、ウィルススキャンの
実施に関して言えば、従来技術の方法では、バックアッ
プ機能および/またはコピー機能の後ではこのようなバ
ージョン情報は保持されなかったため、追加の処理ステ
ップが実行されていたが、バージョン情報はバックアッ
プ機能やコピー機能では無効化されなくなっているた
め、将来アクセスしたときにウィルススキャンが不要で
ある。
は、コンピュータプロセス、コンピューティングシステ
ム、またはコンピュータプログラム製品などの製造物と
して実施することができる。コンピュータプログラム製
品は、コンピュータシステム、およびコンピュータプロ
セスを実行するためのコンピュータプログラム命令の符
号化によって読取り可能な、コンピュータ記憶媒体であ
ってよい。さらにコンピュータプログラム製品は、コン
ピューティングシステム、およびコンピュータプロセス
を実行するためのコンピュータプログラム命令の符号化
によって読取り可能な、搬送波上の伝播信号であっても
よい。
たは方法論的ステップに固有の言語で記述されている
が、添付の特許請求の範囲で定義された本発明は、記載
されている特定の特徴またはステップに限定されるもの
ではないことを理解されたい。一例として、他のアプリ
ケーションでは、ウィルススキャンアプリケーションお
よびレプリケータの他にも、バージョン固有プロパティ
を利用することができる。さらに、XMLオブジェクト
ストア以外の他のタイプのオブジェクトおよびオブジェ
クトストアも、本発明の原理から恩恵を受けることがで
きる。したがって、特定の特徴およびステップは、記載
された本発明を実施する好ましい形態として開示された
ものである。
ータシステムの機能図である。
ある。
である。
図である。
Claims (21)
- 【請求項1】 コンピュータシステムに格納されたオブ
ジェクトに関連するバージョン固有情報を提供する方法
であって、前記バージョン固有情報が分散型環境におい
て提供され、該方法は、 前記オブジェクトに関連するバージョン固有プロパティ
を作成するという要求を受け取る工程と、 所定のアクセス要求に応答して前記バージョン固有情報
を自動的に無効化することにより、前記バージョン固有
プロパティが前記オブジェクトの関係する更新を反映す
るように維持される工程と、 前記バージョン固有プロパティを評価するアプリケーシ
ョンによる要求を受け取る工程と、 前記バージョン固有プロパティを評価するという要求に
応答して前記バージョン固有情報を前記アプリケーショ
ンに提供する工程とを具えたことを特徴とする方法。 - 【請求項2】 前記アプリケーションは、ウィルススキ
ャンアプリケーションであることを特徴とする、請求項
1記載の方法。 - 【請求項3】 前記アプリケーションは、レプリケータ
アプリケーションであることを特徴とする、請求項1記
載の方法。 - 【請求項4】 前記バージョン固有プロパティはメタ情
報およびマスク情報を含み、前記マスク情報は、どの所
定のイベントが該バージョン固有プロパティを無効化す
るかに関する情報を提供することを特徴とする請求項1
記載の方法。 - 【請求項5】 前記所定のイベントは、オブジェクトデ
ータの更新であることを特徴とする請求項1記載の方
法。 - 【請求項6】 前記バージョン固有プロパティの一部と
してマスク情報を提供する工程と、 前記マスク情報に基づいて所定のイベントを決定する工
程とをさらに含むことを特徴とする請求項1記載の方
法。 - 【請求項7】 前記バージョン固有プロパティ内にセキ
ュリティ情報を提供することをさらに含むことを特徴と
する請求項1記載の方法。 - 【請求項8】 無効化行為は、バージョン固有プロパテ
ィを削除することをさらに含むことを特徴とする請求項
1記載の方法。 - 【請求項9】 請求項1記載の方法を実行するための命
令を符号化する、コンピュータによって読取り可能なこ
とを特徴とするコンピュータプログラム製品。 - 【請求項10】 コンピュータシステムに格納されたオ
ブジェクトにアクセスする方法であって、前記オブジェ
クトが関連するバージョン固有プロパティを有し、該方
法は、 アクセス要求に関するアクセス試行を受け取る工程と、 アクセス試行が無効化アクセスに関するものであるかど
うかを判定する工程を具え、 前記アクセス試行が無効化アクセスに関するものである
場合は、 前記バージョン固有プロパティを無効化する工程と、 アクセス要求に関するアクセス動作を実行する工程とを
含み、 前記アクセス試行が無効化アクセスに関するものでない
場合は、アクセス要求に関するアクセス動作を実行する
工程を含むことを特徴とする方法。 - 【請求項11】 コンピュータシステムに格納されたオ
ブジェクトにアクセスする方法であって、前記オブジェ
クトが関連するバージョン固有プロパティを有し、該方
法は、 アクセス要求に関するアクセス試行を受け取る工程と、 アクセス試行が無効化アクセスに関するものであるかど
うかを判定する工程を具え、 前記アクセス試行が前記無効化アクセスに関するもので
ある場合は、 バージョン固有プロパティを無効化する工程と、 アクセス要求に関するアクセス動作を実行する工程とを
含み、 前記アクセス試行が前記無効化アクセスに関するもので
ない場合は、 前記アクセスが前記バージョン固有プロパティに依存す
るかどうかを判定する工程を含み、 前記アクセスが前記バージョン固有プロパティに依存し
ない場合は、アクセス要求に関するアクセス動作を実行
する工程を含み、 前記アクセスが前記バージョン固有プロパティに依存す
る場合は、 該プロパティが有効であるかどうかを判定し、 該プロパティが有効であると判定されたかどうかに基づ
いて所定の動作を実行する工程を含むことを特徴とする
方法。 - 【請求項12】 請求項11記載の方法を実行するため
の命令を符号化する、コンピュータによって読取り可能
なことを特徴とするコンピュータプログラム製品。 - 【請求項13】 バージョン固有オブジェクトを格納し
たコンピュータ読取り可能媒体であって、前記バージョ
ン固有オブジェクトがデータオブジェクトに関連し、前
記バージョン固有オブジェクトはバージョン固有プロパ
ティセクションを具え、 前記バージョン固有プロパティセクションは第三者アプ
リケーションによって作成可能であり、前記バージョン
固有プロパティは所定のイベントに応答して無効化可能
であることを特徴とするコンピュータ読取り可能媒体。 - 【請求項14】 前記バージョン固有プロパティは、 前記プロパティの名前を格納するためのメタ情報セクシ
ョンと、 前記バージョン固有アプリケーションの作成に使用され
る第三者アプリケーションのバージョンに関する情報を
格納するためのバージョン情報セクションと、 前記バージョン固有プロパティを無効化するための所定
のイベントに関する情報を格納するためのマスク情報セ
クションとを具えたことを特徴とする請求項13記載の
コンピュータ読取り可能媒体。 - 【請求項15】 前記第三者アプリケーションは、ウィ
ルススキャン機能を実行し、バージョン情報セクション
がウィルス定義ファイルに関する情報を格納することを
特徴とする、請求項13記載のコンピュータ読取り可能
媒体。 - 【請求項16】 所定のイベントがオブジェクトの修正
に関することを特徴とする、請求項15記載のコンピュ
ータ読取り可能媒体。 - 【請求項17】 分散型環境内でデータオブジェクトに
関するバージョン固有情報を管理するためのコンピュー
タプロセスを実行するための命令を符号化する、コンピ
ュータによって読取り可能なコンピュータプログラム製
品であって、前記コンピュータプロセスは、 データオブジェクトに関するバージョン固有オブジェク
トを作成するために、バージョン固有情報をデータオブ
ジェクトに関連するプロパティとして格納する工程と、 所定のアクセス試行に応答して前記バージョン固有オブ
ジェクトを無効化する工程とを具えたことを特徴とする
コンピュータプログラム製品。 - 【請求項18】 コンピュータがサービス層を含み、前
記サービス層によって格納および無効化の行為が実行さ
れることを特徴とする請求項17記載のコンピュータプ
ログラム製品。 - 【請求項19】 前記バージョン固有情報は、第三者ア
プリケーション情報に関することを特徴とする請求項1
7記載のコンピュータプログラム製品。 - 【請求項20】 前記第三者アプリケーションはウィル
ススキャン機能を実行し、前記所定のアクセス試行はオ
ブジェクトの修正に関することを特徴とする、請求項1
9記載のコンピュータプログラム製品。 - 【請求項21】 コピー、名前変更、またはバックアッ
プのアクセス試行のうち1つが実行された後でも、バー
ジョン固有オブジェクトが損なわれないことを特徴とす
る請求項20記載のコンピュータプログラム製品。
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)
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)
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 |
-
2000
- 2000-12-27 US US09/750,501 patent/US6598060B2/en not_active Expired - Lifetime
-
2001
- 2001-12-20 AT AT01130445T patent/ATE516534T1/de not_active IP Right Cessation
- 2001-12-20 EP EP01130445A patent/EP1237073B1/en not_active Expired - Lifetime
- 2001-12-27 JP JP2001398350A patent/JP4416366B2/ja not_active Expired - Fee Related
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 |