JP4578480B2 - オブジェクトシステム間のファイルプロパティ管理を容易にするためのプロモーションおよびデモーション技術 - Google Patents

オブジェクトシステム間のファイルプロパティ管理を容易にするためのプロモーションおよびデモーション技術 Download PDF

Info

Publication number
JP4578480B2
JP4578480B2 JP2006536578A JP2006536578A JP4578480B2 JP 4578480 B2 JP4578480 B2 JP 4578480B2 JP 2006536578 A JP2006536578 A JP 2006536578A JP 2006536578 A JP2006536578 A JP 2006536578A JP 4578480 B2 JP4578480 B2 JP 4578480B2
Authority
JP
Japan
Prior art keywords
file
structured
item
unstructured
properties
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006536578A
Other languages
English (en)
Other versions
JP2007509415A5 (ja
JP2007509415A (ja
Inventor
ヴィー.クリシュナン プラサナ
マスクリシュナン サンバビ
エイチ.アガーワル サミート
セシュ ラマン バラン
イー. ディーム マイケル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2007509415A publication Critical patent/JP2007509415A/ja
Publication of JP2007509415A5 publication Critical patent/JP2007509415A5/ja
Application granted granted Critical
Publication of JP4578480B2 publication Critical patent/JP4578480B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • G06F16/1794Details of file format conversion
    • 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/99942Manipulating data structure, e.g. compression, compaction, compilation
    • 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/99943Generating database or data structure, e.g. via user interface
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)

Description

本出願は、参照によりその全体が本明細書に組み込まれている、2003年10月23日に出願した、「PROMOTION AND DEMOTION TECHNIQUES TO FACILITATE FILE PROPERTY MANAGEMENT BETWEEN OBJECT SYSTEMS」という名称の米国特許出願第10/693,090号の優先権を主張するものである。
本発明は、一般に、コンピュータシステムに関し、より詳細には、ファイルプロパティのプロモーションおよびデモーションによって、バイトストリーム中の非構造化ファイルプロパティの記憶とそのファイルの構造化オブジェクト表現の間の互換性を容易にするためのファイルプロパティハンドラを使用したシステムおよび方法に関する。本明細書で使用しているアイテムという用語は、一般に、構造化オブジェクトストアに記憶された構造化図式オブジェクトを指す。ファイルバックドアイテム(file−backed item)とは、オブジェクトストア中のファイルの構造化オブジェクト表現を指す。ファイルという用語は、所与のファイルバックドアイテムに対応する非構造化バイトストリームを表すのに使うことができる。
従来、コンピュータファイルシステムにおいては、ファイルがデータ記憶の基本的な単位である。一般的に、ファイルシステムにおけるファイルは、次の特徴を持っている。バイトの単一シーケンスである。固定長を持ち、一般的に不揮発性記憶媒体に記憶される。ディレクトリ内に作成され、ファイル操作においてそのファイルを呼ぶのに使用できる名前を持ち、可能にはそのパスと組み合わせて使用できる。さらに、ファイルシステムは、パーミッションビットやその他のファイル属性、ファイル作成、最終改定、最終アクセスなどについてのタイムスタンプなど、その他の情報をファイルに関連付けることができる。特定のアプリケーションはまた、ファイルのバイトストリーム中に領域特有のプロパティを記憶することができる。例えば、ワードプロセッシングアプリケーションによって使用されるファイル、つまり「文書」とみなされるファイルは、その文書のタイトルや作成者のようなプロパティを記憶することができる。これらのプロパティは、そのファイルを作成しているアプリケーションに特有のフォーマットで、そのファイルのバイトストリーム内に記憶される。これらのプロパティは、オブジェクトとして構造化されているわけではなく、また、標準化された名前を持っているわけでもない。バイトストリームは、構造化されていない値である。別の例として、ミュージッククリップを記憶するファイルが、バイトストリームに記憶されている、ジャンル、作者、録音日、アーティストなどのいくつかの興味あるプロパティを有することが挙げられる。このメタデータに加えて、何らかの広く認められているフォーマットでその音楽自体を表現するバイトストリームがある。これらのプロパティを扱う場合のプログラミングモデルは、バイトストリーム全体を操作するように適合させる。このプログラミングモデルは、結果として、バインドされたインスタンス(CreateFile/OpenFile呼び出しの結果)のハンドルが作成される、バインド参照モデルである。その後のその値の操作は、バイトストリームの該当部分の検索および更新を行うReadFile/WriteFileによってなされる。
本発明の目的は、異種のデータシステムの間の相互作用性および互換性を容易にするためのシステムおよび方法を提供することにある。
本発明のいくつかの態様を基本的に理解できるように、以下に本発明の簡略な要約を提供する。この要約は、本発明の広範囲にわたる概略を示したものではない。本発明の重要な要素を識別することを意図したものでもなく、また、本発明の範囲を描写することを意図したものでもない。その唯一の目的は、後述するより詳細な説明の前置きとして、簡略化した形で本発明のいくつかの概念を提示することである。
本発明は、バイトストリーム中のプロパティの記憶と、ファイルの構造化オブジェクト表現のプロパティを、それらが単独に更新された場合に同期させることを可能にすることによって、構造化オブジェクトとして、またファイルバイトストリームとしてのファイル操作を容易にする、システムおよび方法に関する。オブジェクトストア内のファイルバックドアイテムを操作するための、また、非構造化バイトストリームとしてファイルを操作するための適切なアプリケーションプログラミングインターフェースがあるとする。プロモーションおよびデモーションと呼ばれるシステムの相互作用、方法、および手順によって、ファイル中の非構造化プロパティが、そのファイルのファイルバックドアイテム表現に適切にマップされ、またそのファイルバックドアイテム表現と一致し続けることを可能にするためのファイルプロパティハンドラが提供される。プロモーションは、アプリケーションが、ファイルに対応するバイトストリームを直接、操作することによって、そのファイルの修正または操作を行おうとする場合に呼び出される。したがって、プロモーションは、アプリケーションが2つの環境を一致させるためにバイトストリーム中の非構造化ファイルプロパティを更新した場合に、ファイルプロパティハンドラがオブジェクトストア中の構造化ファイルプロパティを更新するプロセスである。非構造化ファイルプロパティを構造化オブジェクトストア内のオブジェクトにプロモートすることは、様々な目的の達成を容易にする。例えば、以下はその例である。
a)構造化オブジェクトストアは、ファイルの問合せを、ファイルのプロパティに基づいて効率的に行うことができるようにする。これは、一般に、非構造化バイトストリーム中に記憶されているプロパティではできない。
b)非構造化プロパティは、標準化されたオブジェクト表現を順守した、十分に構造化されたオブジェクトとして表現される。したがって、アプリケーションは、バイトストリームを操作するモデルではなく、オブジェクト指向のプログラミングモデルを使って、これらのオブジェクトと容易に動作することができる。
オブジェクトストア中のプロモート済みファイルバックドアイテムが操作され、更新された場合、ファイルプロパティハンドラは、デモーションプロセスを容易にする。デモーションプロセスでは、構造化オブジェクト中の変更に対応する非構造化ファイル中のプロパティを更新するために、逆変換が実行される。このように、プロモーションおよびデモーションは、ファイルプロパティが、手元の対象システムに適したプロパティに従って自動的に更新され、維持される(例えば、プロモーションによって非構造化プロパティを構造化プロパティに更新する、またはデモーションによってその反対を行う)ことを可能にする。
本発明の一態様では、アプリケーションがプロパティを操作して非構造化ファイルに保存すると、ブリッジコンポーネント(例えば、ファイルプロパティマネージャ)がファイルプロパティハンドラと通信して、ファイルバイトストリーム中の非構造化プロパティの構造化オブジェクトへの変換を行わせる。ファイルプロパティマネージャは、非構造化ファイルストアによってエクスポーズされるメカニズムを利用して、オブジェクトストアにおいて更新されるべき、修正された非構造化ファイルを追跡する。
前記および関連する目的を達成するために、本明細書では、本発明の特定の例示的態様を、以下の説明および添付の図面に関連させて説明する。これらの態様は、本発明を実施できる様々な方法を表すものであり、そのすべてが、本発明に包含されるよう意図されている。本発明のその他の利点および新奇な特徴は、図面と関連させながら以下の本発明の詳細な説明を読むことにより明らかになるであろう。
本発明は、ファイルを非構造化バイトストリームおよび構造化オブジェクトとして操作することを、特定のアプリケーションプログラミングインターフェースを介して一方がもう一方と無関係に更新された場合にもそれらを一致させることを可能にすることによって、容易にするシステムおよび方法に関する。
ファイルプロパティハンドラは、ファイル内の非構造化プロパティを、対応するファイルバックドアイテムに関連付けられた1つまたは複数の構造化オブジェクトプロパティに従って操作する。非構造化ファイルストリームが直接、更新された場合にはいつでも、プロモーションオペレーションが実行されて、構造化プロパティを有するファイルバックドアイテムが更新される。同様に、構造化オブジェクト環境で使用されているアプリケーションプログラミングインターフェースを用いてファイルバックドアイテムが操作され、更新された場合には、デモーションオペレーションまたは逆変換が実行されて、ファイルの非構造化表現中のプロパティが更新される。
この適用で使用されているように、「コンポーネント」、「ハンドラ」、「マネージャ」などの用語は、コンピュータ関連のエンティティ、すなわち、ハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアのいずれかを指すことを意図している。例えば、コンポーネントは、プロセッサ上で実行しているプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行のスレッド、プログラム、および/またはコンピュータの場合があるが、それらであることに限定されるわけではない。例として、サーバ上で実行しているアプリケーションとそのサーバがともに1つのコンポーネントということがあり得る。1つまたは複数のコンポーネントがプロセスおよび/または実行のスレッド内に常駐することができる。また、コンポーネントを1台のコンピュータ上に集中させることができ、かつ/または2台以上のコンピュータに分散させることができる。
まず図1を見ると、本発明の一態様によるファイル変換システム100を図示してある。ファイル変換システム100は、一般的に1つまたは複数の非構造化ファイル120と関連付けられている、システムまたはアプリケーション110を含み、アプリケーション110およびファイルは、一般に、非構造化環境に関連付けられている。一般に構造化オブジェクトストア環境に関連付けられている構造化オブジェクトシステムまたはアプリケーション150との通信および互換性を容易にするために、ブリッジモジュール130およびファイルプロパティハンドラ140が設けられている。一例では、構造化システムアプリケーションを、一般的に例えばXMLなどのコードに関連付けられている、1つまたは複数の図式オブジェクト160に関連付けることができる。
あるファイルが非構造化ファイルとして修正、保存、および/または操作された場合、ブリッジモジュールまたはファイルプロパティマネージャ130が、非構造化ファイルから構造化オブジェクトへの変換を指示する役割を果たす。この変換は、ブリッジモジュールがファイルプロパティハンドラ140を呼び出すことによって実行される。ファイルプロパティハンドラ140は、プロモーションオペレーションを実行して、管理されていないファイルの非構造化プロパティを、構造化ストア160に対して動作するアプリケーションに関連付けられた構造化プロパティに変換する。プロモートされたオブジェクトが構造化ストアアプリケーションプロパティから操作された場合には、ファイルプロパティハンドラ140はデモーションオペレーションを実行する。デモーションオペレーションは、プロパティを、その後に非構造化ファイル中で更新されるプロパティに逆変換する。
一態様では、ファイルベースのアプリケーション110が、ファイルバックドアイテムとしても知られる構造化オブジェクトに対応するファイルストリームを更新することによってプロパティの修正を継続する場合に、プロモーションが動作する。したがって、構造化オブジェクトシステム160内のアイテム中のプロパティのコピーを、ファイルの更新によって生じた変更をそのアイテムが反映するように更新するプロセスとして、プロモーションをモデル化することができる。一方、デモーションは、構造化ストアに対して動作する新しいアプリケーションが、例えば構造化オブジェクトのアプリケーションプログラミングインターフェース(API)を使って、アイテムの問合せおよびアイテムの修正を行う場合に、そのアイテムがファイルバックドアイテムであるかどうかにかかわらず動作する。ファイルバックドアイテムの場合には、これらのプロパティのうちあるもの(前にそのファイルからプロモートされたもの)は、その後、ファイルに書き戻される。このプロセスはデモーションと呼ばれ、本質的にはプロモーションの逆変換である。
ファイルプロパティハンドラ140に関しては、所与のファイルからプロパティをどのようにプロモートし、かつ/または所与のファイルにプロパティをどのようにデモートするかを決定する、ファイルプロパティハンドラ(FPH)と呼ばれるコードモジュールを呼び出すことによって、プロモーションおよびデモーションが行われる。FPH140は、一般的に、1つまたは複数の選択されたファイル拡張子を処理するために登録される。場合によっては、FPH140がプロモート機能またはデモート機能のみを実行することを決定できることに注意されたい。本明細書に記載してあるように、「プロモータ」という用語が使用されている場合、それは、プロモーションという状況で説明してるFPHを指し、「デモータ」は、デモーションという状況で説明しているFPHを指す。
ブリッジコンポーネント130(ファイルプロパティマネージャともいう)は、FPH140と相互作用して、プロモーションおよびデモーションを容易にする。したがって、ブリッジコンポーネント130は、プロモーション変更待ち行列(以下に記載)からエントリを受け取ると、ファイルのプロモートすべきストリームへのポインタを有する、ファイルの適切なFPH140を呼び出す。次いで、FPH140は、ファイル中の非構造化プロパティの抽出および構造化オブジェクトストア160に記憶されている、管理アイテムの構造化プロパティへの変換(以下に記載)を実行する。デモーションに関しては、構造化オブジェクトストア160中でアイテムが更新されると、構造化オブジェクトAPIがデモータを呼び出す。デモータは、逆変換および抽出コードを利用して、更新されたプロパティをファイルに書き戻す。FPH140の抽出部分は、そのファイルフォーマットに特有のAPIを使って、プロパティを抽出する。一般に、1つの所与のファイルについて、1つの登録FPH140が呼び出されることに注意されたい。
次に図2を見ると、本発明の一態様に従って、より詳細な変換システム200を図示してある。システム200は、プロモーションおよび/またはデモーションの論理モデルを表す。この態様では、1つまたは複数のFPH210(ファイルプロパティハンドラ)が管理コード中に常駐している。FPM220(ファイルプロパティマネージャ)は、管理FPH210に対する相互作用性またはブリッジコンポーネントとしての役割を果たす。FPM220は、一般に、実際のオブジェクトストア230を維持するプロセスとはまったく異なる、別個のプロセスとして実行する。上述のように、プロモーションおよびデモーションのためのメソッドを定義する抽象BaseFilePropertyHandlerクラスを提供することができる。したがって、ファイルプロパティハンドラ210は、プロモーションおよび/またはデモーションにおいて呼び出されるメソッドを実行する、抽象BaseFilePropertyHandlerから導出される、具体的な管理クラスとしてモデル化される。例えば、FPM220は、特定のファイル拡張子を有するファイルのためのプロモーションを呼び出すためにそのクラスのインスタンスを生成することができる。以下のコードの抜粋は、クラス指定の例を表す。
Figure 0004578480
Figure 0004578480
プロモーションは、ファイルと動作するアプリケーションが、ファイルAPIを使ってファイルバックドアイテムのファイルストリームを修正する場合に呼び出される。したがって、プロモーションは、このようなアプリケーションを使って構造化ストアの名前空間中のファイルを修正する場合に呼び出されるべきものである。一般に、構造化ストアの名前空間に移行されず、また、非構造化ファイル環境中に存在し続けるファイルについては、どのようなプロモーションも行われるはずはない。構造化ストアの名前空間中のファイルがファイルAPIを使用するアプリケーションによって修正されると、ファイルプロモーションマネージャ220またはサービスは、このファイル上に非同期的にFPH210を呼び出して、そのファイルに対応するアイテムを更新する。一般的に、ファイル拡張子ごとに1つのFPH210が登録される。ファイルバックドアイテム上に保留状態のプロモーションがあると、そのアイテム上の「promotionStale」フラグが1に設定される。
図2に示すように、非構造化ファイルと動作しているアプリケーションが、230の構造化ストアの名前空間中のファイル240を修正した場合、FPH210は、230で保存すべきプロモート済みアイテムを返す前に、250で非構造化プロパティの抽出および変換を行う。これに対し、デモーションは、一般に、構造化ストアAPI200によってファイルバックドアイテムが更新された場合に呼び出される。構造化ストアAPI200は、アプリケーションが、1つまたは複数のファイルバックドアイテムまたはそのようなアイテムの一部を修正することを可能にする。これを行った後、アプリケーションが構造化ストアAPIを使って変更済みアイテム(場合により複数)を保存しようとすると、保存を行うために呼び出された構造化ストアAPI中のメソッドは、以下を行う。アイテムを保存する機能を実行する構造化ストアAPI中のメソッドを、ここでは、概念上、「保存」メソッドと呼ぶ。ただし、正確なメソッド名は実装に依存する。
ファイルバックドアイテムまたはその一部が構造化ストアAPIによって修正された場合、構造化ストアAPIの保存メソッドは、そのファイルバックドアイテムに対応するデモータをルックアップし(ファイル拡張子に基づいて)、それを呼び出す。デモータは、読取/書込用のアイテム(またはその一部)および書込用のファイルストリームを取り込み、そのアイテムの変更に基づいてファイルの内容を更新する。デモーションは、アイテムを構造化ストアに保存しようとするオペレーションの間に呼び出されるため、一般に、同期的オペレーションである。上記の保存メソッドは、デモータを呼び出すことによってファイル240を更新するとともに、適切なプロパティを構造化データストア中のアイテムに書き込む。
図3〜6は、本発明の一態様による、ファイルプロパティハンドラおよびファイルプロパティマネージャのための自動化されたプロモーションおよびデモーションのプロセスを説明している。説明をわかりやすくするために、方法を一連の動作として示し、説明しているが、本発明はその動作順に限定されるわけでなく、本発明によれば、動作によっては、本明細書に示し、説明している順番とは異なる順序で、および/または他の動作と同時に行われる場合がある。例えば、当業者は、方法を、その代わりに、状態図におけるような一続きの相互関連する状態またはイベントとして表せることを理解されるであろう。さらに、本発明による方法を実施するために、図示の動作すべてが必要ではない場合もある。
図3および4を同時に説明する。図3は、プロモーション中のファイルプログラムマネージャ(FPM)のプロセスを表し、図4は、プロモーション中のファイルプロパティハンドラ(FPH)のプロセスを表す。一般に、ファイルは、プロモーションのために変更待ち行列と呼ばれる待ち行列に入れられる。以下は、ファイルプログラムマネージャが変更待ち行列からファイルバックドアイテムを受け取った後のプロモーションに関与する動作である。310で、FPMは、ファイルが存在する構造化ストアからFPH登録情報をルックアップすることによって、そのファイルのFPHをルックアップする。320で、FPMは、対応するFPHをロードする。例えば、これは、個々のマシンのグローバルアセンブリキャッシュからFPHアセンブリをロードし、FPHクラスのインスタンスを検索することによって行うことができる。330で、FPMは、トランザクションを開始し、アイテムを変更待ち行列から取り出す。340で、FPMは、変更されたファイルに対応する構造化ストアアイテム(I1)を検索する。350で、FPMは、該当するメソッド(場合により複数)をFPH上に呼び出すことによって、プロモーションを実行する。
350の後、プロセスは、FPH処理に関連する図4の410に進む。この時点で、FPHは、まず、アイテムの構造を変更することができる。420で、FPHは、プロパティを抽出し、そのプロパティに基づいてアイテムを更新する。430で、FPHは、アイテムの修正された部分を、プロモート済みとしてマークする。430の後、プロセスは、さらにFPM処理を行うために図3の360に戻る。360で、FPMは、そのアイテムを、promotionStaleではないとしてマークする。370で、FPMは、構造化オブジェクトストアにその変更を適用する。380で、FPMは、コミット/ロールバックトランザクションを実行し、ファイルハンドルを閉じる。
図5および6を同時に説明する。図5は、デモーション中の構造化ストア保存機能(前に定義済み)のプロセスを表し、図6は、デモーション中のファイルプロパティハンドラ(FPH)のプロセスを表す。図5に進むと、修正されたアイテムについて以下の動作が実行される。510で、ファイルバックドアイテムかどうかを更新機能がチェックする。ファイルバックドアイテムでない場合には、デモーションコードがバイパスされ、通常の非ファイルバックドアイテムの処理が開始される。ファイルバックドアイテムの場合には、そのアイテムについて、アイテムのファイルバックされた一部のみに更新がなされたかどうかを判断する。これは、構造化オブジェクトストア中の、そのアイテムに関連付けられたisFileBackedビットをルックバックすることによってなされる。
520で、保存機能は、ファイルバックドアイテムが常駐しているストア(これは、リモートファイルの場合には別のマシン上にある場合がある)に問い合わせて、このファイル拡張子について登録されているFPHをチェックする。これによって、そのファイルをプロモートしたFPHについての詳細(例えば、アセンブリ名およびバージョンナンバー)が返される。530で、更新機能は、前記の情報に基づいて該当するFPH(これは、例えば、個々のマシンのグローバルアセンブリキャッシュ中に登録しておくことができる)をロードする。540で、保存機能は、デモーションを実行するために、FPH上にメソッド(場合により複数)を呼び出す。変更されたアイテムはまた、そのアイテムになされた変更の記録も含む。これらの変更は、構造化ストアAPIによって追跡される。
540の後、プロセスは、さらにFPH処理を行うために図6の610に進む。610で、FPHは、追跡されたアイテム中の変更を見て、どのフィールドをデモートする必要があるかを識別する。620で、FPHは、アイテムから変更を読み取り、非構造化ファイルプロパティに書き込む。これには、構造化ストアAPIを呼び出して、そのストアから他の情報を読み取ることが含まれる場合もある。630で、FPHは、アイテム、またはアイテムのデモートされた部分に「プロモート済み」フラグを1に設定する。プロセスは、次いで、さらに保存機能の処理を行うために図5の550に戻る。550で、保存機能は、アイテムに施された変更をストアに適用する。560で、保存機能はストリームを閉じ、ファイルのトランザクションをコミットする。
前に述べたように、「第1のプロモーション」に関して処理が異なる場合がある。一般に、第1のプロモーションの動作は、その他のプロモーションとは区別される。これは、第1のプロモーションが、アイテムとファイルを互いに一致させる必要がある場合があるためである。
図7は、本発明の一態様によるファイルバックドアイテムの状態図700を示す。上記の説明を考慮に入れて、ファイルバックドアイテムの状態を図700において説明する。構造化ストアAPIは、promotionStale=1でファイルバックドアイテムを更新することはできない。あるアイテムがファイルバックドアイテムであって、710で、そのアイテム中に保留状態のプロモーションがある場合、そのアイテム上の「promotionStale」ビットは真である。構造化ストアAPIを使ってファイルバックドアイテムを更新し、それによってデモーションを呼び出すことを望むアプリケーションは、以下のように動作することができる。
1)アイテムをフェッチする。
2)アイテムが「promotionStale」かどうかを問い合わせる。
3)アイテムがstaleの場合には、
− API中の「SynchronousPromote」メソッドを呼び出して、アイテムを最新にする。
注意:2および3は任意選択である。
4)フェッチしたアイテムを更新する。
5)構造化ストアAPIの保存メソッドを呼び出して、そのアイテムの保存を試みる。
6)保存がデモーションに成功した場合には、終了する。
7)そうでなければ、
8)返されたエラーコードが「Item Is PromotionStale」の場合には(アプリケーションが上記の2および3を実行しなかった場合に生じる)、
− API中の「SynchronousPromote」メソッドを呼び出して、アイテムを最新にする。updatedItemを返す。
− 上記の4に行き、updatedItemに変更を適用する。
9)返されたエラーコードが「Item Has been Updated」の場合には、
− 上記の4に行く。
一般に、ファイルタイプごとに1つのFPHが登録される。しかし、ファイルフォーマットが拡張可能な場合は、ファイル中の非構造化プロパティに新しいプロパティが追加される場合があり、それが作成されたときにFPHがそのことを知らなかったということがある。所与のファイルタイプのFPHを、そのFPHの作成者およびエンドユーザ以外のソフトウェアベンダ/ソリューションプロバイダによって追加された新規またはカスタムのプロパティをプロモート/デモートするように拡張することを可能にする、本システムによってサポートされる様々な拡張スキームがある。これによって、その新たに追加された非構造化ファイルプロパティも、アイテム上の新しい構造化プロパティに変換することが可能になる。拡張スキームの例は以下の通りである。
1.単純非構造化プロパティをファイルに追加し、それらをアイテム上の単純構造化プロパティに変換したいと思うソフトウェアベンダ/ソリューションプロバイダは、以下を行うことができる。
a)対応する新しい単純構造化プロパティをそのアイテムに追加し、
b)新たに追加された非構造化プロパティを、どのように新たに追加された構造化アイテムプロパティに変換すべきかを、XMLスキームを使って宣言部分で指定する。
ファイルタイプについて登録されている主要FPHがこれらの変換を実行する(プロモーションおよびデモーション両方の間に)ので、ファイルを拡張するベンダが新たなコードを書く必要がない。
2.ファイルに非構造化プロモーションを追加して、それらをアイテム上のより複雑な構造化プロパティに変換したいと思う、またはアイテム間の関係を確立したいと思うソフトウェアベンダ/ソリューションプロバイダは、以下を行うことができる。
a)対応する複雑構造化プロパティをアイテムに追加し、
b)非構造化プロパティを新たに追加された構造化アイテムプロパティに変換する構造化ストアAPIを使ったコード、またはまたはアイテム間の関係を確立するコードを書く。このコードは、ファイルタイプの主要FPHの実装に類似している。
3.エンドユーザは、新たなプロパティをファイルに追加することができる。これらは、ファイルの構造化アイテム表現上のデフォルトプロパティセットにプロモートまたはデモートされる。
図8を見ると、本発明の様々な態様を実施するための例示的環境810は、コンピュータ812を含む。コンピュータ812は、処理装置814、システムメモリ816、およびシステムバス818を含む。システムバス818は、システムコンポーネントを処理装置814に結合する。システムコンポーネントにはシステムメモリ816が含まれるが、それだけに限定されるものではない。処理装置814は、様々な利用可能なプロセッサのうちのいずれかであってよい。デュアルマイクロプロセッサおよびその他のマルチプロセッサアーキテクチャも、処理装置814として使用することができる。
システムバス818は、様々な利用可能なバスアーキテクチャのいずれかを使用した、メモリバスまたはメモリコントローラ、周辺バスまたは外部バス、および/またはローカルバスを含むいくつかのタイプのバス構造のうちのいずれかであってよい。アーキテクチャには、16ビットバス、業界標準アーキテクチャ(ISA)、マイクロチャネルアーキテクチャ(MCA)、拡張ISA(EISA)、インテリジェントドライブエレクトロニクス(IDE)、VESAローカルバス(VLB)、周辺コンポーネント相互接続(PCT)、ユニバーサルシリアルバス(USB)、アドバンストグラフィックスポート(AGP)、パーソナルコンピュータメモリカード国際協会バス(PCMCIA)、および小型コンピュータシステムインターフェース(SCSI)が含まれるが、それらに限定されるわけではない。
システムメモリ816は、揮発性メモリ820および不揮発性メモリ822を含む。起動中などにコンピュータ812内の構成要素間で情報を転送するための基本ルーチンを含む、基本入出力システム(BIOS)は、不揮発性メモリ822に記憶されている。限定ではなく例として、不揮発性メモリ822は、読取り専用メモリ(ROM)、プログラマブルROM(PROM)、電気的プログラマブルROM(EPROM)、電気的消去可能ROM(EEPROM)、またはフラッシュメモリを含む。揮発性メモリ820は、外部キャッシュメモリとしての役目を果たす、ランダムアクセスメモリ(RAM)を含む。限定ではなく例として、RAMは、同期RAM(SRAM)、ダイナミックRAM(DRAM)、同期DRAM(SDRAM)、ダブルデータレートSDRAM(DDR SDRAM)、拡張SDRAM(ESDRAM)、シンクリンクDRAM(SLDRAM)、およびダイレクトラムバスRAM(DRRAM)などの多くの形態で利用可能である。
コンピュータ812はまた、取外し可能/取外し不可能な揮発性/不揮発性コンピュータ記憶媒体も含む。図8は、例えばディスクストレージ824を示す。ディスクストレージ824は、磁気ディスクドライブ、フロッピー(登録商標)ディスクドライブ、テープドライブ、Jazドライブ、Zipドライブ、LS−100ドライブ、フラッシュメモリカード、またはメモリスティックなどのデバイスを含むが、それらに限定されるわけではない。さらに、ディスクストレージ824は、その他の記憶媒体とは別個の、またはその他の記憶媒体と組み合わせた記憶媒体を含み、これには、コンパクトディスクROMデバイス(CD−ROM)などの光ディスクドライブ、CD記録可能ドライブ(CD−Rドライブ)、CD書換え可能ドライブ(CD−RWドライブ)またはデジタル多用途ディスクROMドライブ(DVD−ROM)が含まれるが、それらに限定されるわけではない。ディスクストレージデバイス824のシステムバス818への接続を容易にするために、一般的に、インターフェース826などの取外し可能または取外し不可能インターフェースが使用される。
図8が、適切な動作環境810において説明した、ユーザと基本的なコンピュータリソースの間を仲介する役目を果たすソフトウェアを説明する図であることに注意されたい。このようなソフトウェアにはオペレーティングシステム828が含まれる。オペレーティングシステム828は、ディスクストレージ824上に記憶することができ、コンピュータシステム812のリソースの制御および割当を行う役目を果たす。システムアプリケーション830は、システムメモリ816中またはディスクストレージ824上に記憶されているプログラムモジュール832およびプログラムデータ834を介して、オペレーティングシステム828によるリソースの管理を利用する。本発明を様々なオペレーティングシステムまたはオペレーティングシステムの組合せで実施装できることを理解されたい。
ユーザは、入力デバイス(場合により複数)836を介して、コンピュータ812にコマンドまたは情報を入力する。入力デバイス836は、マウス、トラックボール、スタイラス、タッチパッド、キーボード、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナ、TVチューナカード、デジタルカメラ、デジタルビデオカメラ、ウェブカメラなどのポインティングデバイスを含むが、それらに限定されるわけではない。これらおよびその他の入力デバイスは、インターフェースポート(場合により複数)838を介し、システムバス818を通して、処理装置814に接続する。インターフェースポート(場合により複数)838は、例えば、シリアルポート、パラレルポート、ゲームポート、およびユニバーサルシリアルバス(USB)を含む。出力デバイス(場合により複数)840は、入力デバイス(場合により複数)836と同じタイプのポートのいくつかを使用する。したがって、例えば、USBポートを使って、コンピュータ812に入力を供給することができ、また、コンピュータ812からの情報を出力デバイス840に出力することができる。その他の出力デバイス840の中には、モニタ、スピーカ、およびプリンタのような、特殊なアダプタを必要とするいくつかの出力デバイス840があることを説明するために、出力アダプタ842を設けてある。出力アダプタ842は、限定ではなく例として、出力デバイス840とシステムバス818の間の接続手段を提供する、ビデオおよびサウンドカードを含む。リモートコンピュータ(場合により複数)844など、その他のデバイスおよび/またはデバイスのシステムが、入力と出力の両機能を提供することに注意されたい。
コンピュータ812は、リモートコンピュータ(場合により複数)844などの1つまたは複数のリモートコンピュータへの論理接続を使って、ネットワーク化された環境で動作することができる。リモートコンピュータ(場合により複数)844は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ワークステーション、マイクロプロセッサベースの器具、ピアデバイス、またはその他の一般的なネットワークノードなどであってよく、また、一般的に、コンピュータ812に関して説明した構成要素の多くまたはすべてを含む。簡単にするために、メモリ記憶デバイス846をリモートコンピュータ(場合により複数)844とともに示してある。リモートコンピュータ(場合により複数)844は、ネットワークインターフェース848を介してコンピュータ812に論理的に接続され、次いで、通信接続850を介して物理的に接続される。ネットワークインターフェース848は、ローカルエリアネットワーク(LAN)および広域ネットワーク(WAN)などの通信ネットワークを包含する。LAN技術には、ファイバー分布データインターフェース(FDDI)、銅線配線データインターフェース(CDDI)、イーサネット(登録商標)/IEEE1102.3、トークンリング/IEEE1102.5などが含まれる。WAN技術には、ポイントツーポイントリンク、統合サービスデジタルネットワーク(ISDN)およびその変型のような回路交換ネットワーク、パケット交換ネットワーク、デジタル加入者回線(DSL)などが含まれるが、それらに限定されるわけではない。
通信接続(場合により複数)850は、ネットワークインターフェース848をバス818に接続するために使用されるハードウェア/ソフトウェアを表す。説明をわかりやすくするために、通信接続850をコンピュータ812の内部に示してあるが、通信接続850はコンピュータ812の外部であってもよい。例にすぎないが、ネットワークインターフェース848への接続のために必要なハードウェア/ソフトウェアは、通常の電話グレードのモデム、ケーブルモデム、DSLモデムを含むモデム、ISDNアダプタ、およびイーサネット(登録商標)カードなどの、内部および外部技術を含む。
図9は、本発明が相互作用できるサンプルコンピューティング環境900のの概略構成図である。システム900は、1つまたは複数のクライアント910を含む。クライアント(場合により複数)910は、ハードウェアおよび/またはソフトウェア(例えば、スレッド、プロセス、コンピューティングデバイス)であり得る。システム900はまた、1つまたは複数のサーバ930を含む。サーバ(場合により複数)930も、ハードウェアおよび/またはソフトウェア(例えば、スレッド、プロセス、コンピューティングデバイス)であり得る。サーバ930は、例えば、本発明を使用することによって、変換を実行するためのスレッドを収容することができる。クライアント910とサーバ930の間の可能な通信形態の1つとして、2つ以上のコンピュータプロセス間で伝送されるようになされたデータパケットという形態がある。システム900は、クライアント(場合により複数)910とサーバ(場合により複数)930の間の通信を容易にするために使用できる、通信フレームワーク950を含む。クライアント(場合により複数)910は、クライアント(場合により複数)910にのみ利用可能な情報を記憶するために使用できる、1つまたは複数のクライアントデータストア960に動作可能に接続される。同様に、サーバ(場合により複数)930は、サーバ930にのみ利用可能な情報を記憶するために使用できる1つまたは複数のサーバデータストア(場合により複数)940に動作可能に接続される。
上記の説明には本発明の例が含まれている。本発明を説明する目的で、コンポーネントまたは方法の考えられるすべての組合せを記載することはもちろん不可能である。しかし、当業者は、本発明のさらなる組合せおよび並べ替えが可能であることを理解できるであろう。したがって、本発明は、添付の特許請求の範囲の趣旨および範囲に含まれる、すべてのこのような変更、修正、および変型を包含するよう意図されている。さらに、詳細な説明または特許請求の範囲のいずれかにおいて「含む(includes)」という用語が使われている場合、このような用語は、請求項において移行語として使用されている場合の「含む(comprising)」という用語と同様に、包括的であるとして意図されたものである。
本発明の一態様によるファイル変換システムの概略構成図である。 本発明の一態様によるより詳細なファイル変換システムの概略構成図である。 本発明の一実施形態による、ファイルプロパティハンドラおよびファイルプロパティマネージャの自動化されたプロモーションおよびデモーションのプロセスを説明する流れ図である。 本発明の一実施形態による、ファイルプロパティハンドラおよびファイルプロパティマネージャの自動化されたプロモーションおよびデモーションのプロセスを説明する流れ図である。 本発明の一実施形態による、ファイルプロパティハンドラおよびファイルプロパティマネージャの自動化されたプロモーションおよびデモーションのプロセスを説明する流れ図である。 本発明の一実施形態による、ファイルプロパティハンドラおよびファイルプロパティマネージャの自動化されたプロモーションおよびデモーションのプロセスを説明する流れ図である。 本発明の一態様によるアイテムの状態図である。 本発明の一態様による適切な動作環境を説明する概略構成図である。 本発明が相互作用できるサンプルコンピューティング環境の概略構成図である。

Claims (26)

  1. プロセッサを含むコンピュータ実装ファイル変換システムであって、
    オブジェクトとして構造化されていない1つまたは複数の非構造化プロパティを有するファイルと、
    オブジェクトとして構造化されている1つまたは複数の構造化プロパティを有するアイテムであって、前記ファイルの構造化オブジェクト表現であり、構造化オブジェクトストア中のファイルバックドアイテムであるアイテムと、
    非構造化バイトストリームと動作しているアプリケーションと、前記ファイルの構造化オブジェクト表現と動作しているアプリケーションとの間の通信を容易にするファイルプロパティマネージャであって、前記ファイルの前記非構造化バイトストリーム表現が修正されたという通知を受け取り、前記ファイルのバイトストリームへのポインタを有するファイルプロパティハンドラを呼び出すファイルプロパティマネージャと、
    前記構造化プロパティに対する変更に基づい前記1つまたは複数の非構造化プロパティを更新する、デモートするための変換、および前記非構造化プロパティに対する変更に基づい前記構造化プロパティを更新する、プロモートするための変換の少なくとも一方を実行するファイルプロパティハンドラと
    を備えことを特徴とするシステム。
  2. 前記ファイルプロパティハンドラは、前記非構造化プロパティを前記構造化プロパティにプロモートするために、抽出と変換の少なくとも一方を実行することを特徴とする請求項1に記載のシステム。
  3. 前記ファイルプロパティハンドラは、前記構造化プロパティを前記非構造化プロパティにデモートするために、抽出と変換の少なくとも一方を実行することを特徴とする請求項1に記載のシステム。
  4. 前記ファイルプロパティハンドラは、アプリケーションが、前記ファイルバックドアイテムを操作する構造化ストアアプリケーションプログラミングインターフェース(API)を使用してアイテムの問合せおよび修正を行う場合に、デモーションオペレーションを容易にすることを特徴とする請求項1に記載のシステム。
  5. 前記ファイルプロパティハンドラは、1つまたは複数の選択されたファイル拡張子を処理するために登録されることを特徴とする請求項1に記載のシステム。
  6. 前記ファイルプロパティハンドラは、プロモーションおよびデモーションのためのメソッドを定義する抽象クラスに関連付けられていることを特徴とする請求項1に記載のシステム。
  7. 前記抽象クラスは、BaseFilePropertyHandler、プロモートメソッド、デモートメソッド、第1のプロモートメソッド、直列化アイテムストアメソッド、および直列化アイテム検索メソッドのうち少なくとも1つを含むことを特徴とする請求項6に記載のシステム。
  8. アプリケーションがファイルバックドアイテムを修正できるようにするアプリケーションプログラミングインターフェース(API)をさらに含むことを特徴とする請求項1に記載のシステム。
  9. コンピュータを、請求項1記載のファイルプロパティハンドラとして機能させるためのプログラムを記録したことを特徴とするコンピュータ可読媒体。
  10. プロセッサを含み、データ変換を容易にするためのコンピュータ実装システムであって、
    非構造化バイトストリームであるファイルの、オブジェクトとして構造化されていない非構造化ファイルプロパティを構造化ストアアプリケーションがアクセスできるようにする、エクスポーズするための手段と、
    前記非構造化ファイルプロパティと動作しているアプリケーションと、前記ファイルの構造化オブジェクト表現と動作しているアプリケーションとの間の通信を容易にするための手段と、
    前記ファイルの前記非構造化バイトストリーム表現が修正されたという通知を受け取るための手段と
    記ファイルの非構造化バイトストリームへのポインタを有する、前記ファイルのファイルプロパティハンドラを呼び出すための手段と、
    前記非構造化ファイルプロパティを、前記構造化ストアアプリケーションに関連付けられたアイテムであって、前記ファイルの構造化オブジェクト表現であり、構造化オブジェクトストア中のファイルドバックアイテムであるアイテム構造化アイテムプロパティに変換するための手段と、
    ファイルアプリケーションプログラミングインターフェース(API)ベースのアプリケーションが、ファイルバックドアイテムである構造化オブジェクトストアアイテムに対応する前記非構造化バイトストリームを更新することによって前記非構造化プロパティを修正する際に前記非構造化プロパティの修正に基づいて前記構造化アイテムプロパティを更新するプロモーション動作を容易にするための手段と、
    前記構造化ストアアプリケーションにおいて前記構造化アイテムプロパティを更新するための手段と、
    前記更新された構造化アイテムプロパティを記憶するための手段と
    を備えることを特徴とするシステム。
  11. 前記構造化アイテムプロパティを非構造化ファイルプロパティに変換するための手段をさらに含むことを特徴とする請求項10に記載のシステム。
  12. データアイテム変換を容易にするコンピュータに実装される方法であって、
    オブジェクトとして構造化されていない非構造化プロパティを有するファイルストリームと動作しているアプリケーションと、ファイルの構造化オブジェクト表現と動作しているアプリケーションとの間の通信を実行するステップと、
    ファイルアプリケーションプログラミングインターフェース(API)ベースのアプリケーションを利用することを介して、構造化ストア名前空間にある、1つまたは複数の非構造化プロパティに関連付けられた前記ファイルを修正するステップと、
    前記ファイルの非構造化プロパティを有するファイルストリームの修正に関連する通知を受け取るステップと
    記修正された非構造化プロパティを有するファイルストリームに対応するポインタを有する、前記ファイルのファイルプロパティハンドラを呼び出すステップと、
    ファイルアプリケーションプログラミングインターフェース(API)ベースのアプリケーションが、前記ファイルの構造化オブジェクト表現であり、構造化オブジェクトストア中のファイルバックドアイテムである構造化オブジェクトストアアイテムに対応する前記ファイルストリームを更新することによって前記非構造化プロパティを修正する際、前記ファイルに関連付けられた1つまたは複数の非構造化プロパティの修正に基づいて、ファイルバックドアイテムに関連付けられた構造化プロパティを更新する、プロモートするステップと、
    前記更新された構造化プロパティを記憶するステップと
    を有することを特徴とする方法。
  13. 前記アイテムに関連付けられた1つまたは複数の構造化プロパティの修正に基づいて、前記ファイルAPIベースのアプリケーションに従うように前記ファイルの非構造化プロパティを更新する、デモートするステップをさらに含むことを特徴とする請求項12に記載の方法。
  14. 前記アイテムについて、その一部の更新を判断するステップをさらに含むことを特徴とする請求項13に記載の方法。
  15. ファイルプロパティハンドラの登録についてアイテムストアに問い合わせるステップをさらに含むことを特徴とする請求項13に記載の方法。
  16. 前記ファイルプロパティハンドラをキャッシュにロードするステップをさらに含むことを特徴とする請求項15に記載の方法。
  17. 更新すべきフィールドを自動的に識別するステップをさらに含むことを特徴とする請求項13に記載の方法。
  18. アイテムから変更を読み取り、非構造化ファイルプロパティを更新するステップをさらに含むことを特徴とする請求項13に記載の方法。
  19. 前記アイテムの前記ストアへの変更を送信するステップとストリームを閉じるステップの少なくとも一方をさらに含むことを特徴とする請求項18に記載の方法。
  20. 前記1つまたは複数の非構造化プロパティのプロモーションまたは前記1つまたは複数の構造化プロパティのデモーションを容易にするためにファイルプロパティハンドラを登録するステップをさらに含むことを特徴とする請求項12に記載の方法。
  21. 変更アイテムを待ち行列から取り出すステップをさらに含むことを特徴とする請求項12に記載の方法。
  22. 選択されたアイテムパスの構造化アイテムを検索するステップをさらに含むことを特徴とする請求項12に記載の方法。
  23. アイテムの構造のモーフィングを行い、またはアイテムの構造を変更するステップをさらに含むことを特徴とする請求項12に記載の方法。
  24. 自動的に1つまたは複数の非構造化プロパティを抽出し、アイテムを更新するステップをさらに含むことを特徴とする請求項12に記載の方法。
  25. アイテムの修正された部分を、プロモート済みとしてマークするステップをさらに含むことを特徴とする請求項12に記載の方法。
  26. 前記アイテムへの変更を、前記構造化オブジェクトストアに適用するステップをさらに含むことを特徴とする請求項12に記載の方法。
JP2006536578A 2003-10-23 2004-07-27 オブジェクトシステム間のファイルプロパティ管理を容易にするためのプロモーションおよびデモーション技術 Expired - Fee Related JP4578480B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/693,090 US7155444B2 (en) 2003-10-23 2003-10-23 Promotion and demotion techniques to facilitate file property management between object systems
PCT/US2004/024295 WO2005045575A2 (en) 2003-10-23 2004-07-27 Promotion and demotion techniques to facilitate file property management between object systems

Publications (3)

Publication Number Publication Date
JP2007509415A JP2007509415A (ja) 2007-04-12
JP2007509415A5 JP2007509415A5 (ja) 2007-09-20
JP4578480B2 true JP4578480B2 (ja) 2010-11-10

Family

ID=34522292

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006536578A Expired - Fee Related JP4578480B2 (ja) 2003-10-23 2004-07-27 オブジェクトシステム間のファイルプロパティ管理を容易にするためのプロモーションおよびデモーション技術

Country Status (17)

Country Link
US (1) US7155444B2 (ja)
EP (1) EP1634145A4 (ja)
JP (1) JP4578480B2 (ja)
KR (1) KR101137188B1 (ja)
CN (1) CN1867911B (ja)
AU (1) AU2004287137B2 (ja)
BR (1) BRPI0406528A (ja)
CA (1) CA2511528A1 (ja)
IL (1) IL169465A0 (ja)
MX (2) MXPA05007143A (ja)
MY (1) MY137808A (ja)
NO (1) NO20052799L (ja)
NZ (1) NZ540655A (ja)
RU (1) RU2348973C2 (ja)
TW (1) TWI359374B (ja)
WO (1) WO2005045575A2 (ja)
ZA (1) ZA200504758B (ja)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7624356B1 (en) * 2000-06-21 2009-11-24 Microsoft Corporation Task-sensitive methods and systems for displaying command sets
US7191394B1 (en) 2000-06-21 2007-03-13 Microsoft Corporation Authoring arbitrary XML documents using DHTML and XSLT
US7155667B1 (en) * 2000-06-21 2006-12-26 Microsoft Corporation User interface for integrated spreadsheets and word processing tables
EP1325427A2 (en) * 2000-06-21 2003-07-09 Microsoft Corporation System and method for integrating spreadsheets and word processing tables
US6883168B1 (en) 2000-06-21 2005-04-19 Microsoft Corporation Methods, systems, architectures and data structures for delivering software via a network
US7346848B1 (en) 2000-06-21 2008-03-18 Microsoft Corporation Single window navigation methods and systems
US7000230B1 (en) 2000-06-21 2006-02-14 Microsoft Corporation Network-based software extensions
US6948135B1 (en) 2000-06-21 2005-09-20 Microsoft Corporation Method and systems of providing information to computer users
US7627552B2 (en) 2003-03-27 2009-12-01 Microsoft Corporation System and method for filtering and organizing items based on common elements
US7370066B1 (en) 2003-03-24 2008-05-06 Microsoft Corporation System and method for offline editing of data files
US7415672B1 (en) 2003-03-24 2008-08-19 Microsoft Corporation System and method for designing electronic forms
US7296017B2 (en) 2003-03-28 2007-11-13 Microsoft Corporation Validation of XML data files
US7913159B2 (en) 2003-03-28 2011-03-22 Microsoft Corporation System and method for real-time validation of structured data files
US7451392B1 (en) 2003-06-30 2008-11-11 Microsoft Corporation Rendering an HTML electronic form by applying XSLT to XML using a solution
US7406660B1 (en) 2003-08-01 2008-07-29 Microsoft Corporation Mapping between structured data and a visual surface
US7334187B1 (en) 2003-08-06 2008-02-19 Microsoft Corporation Electronic form aggregation
US8819072B1 (en) * 2004-02-02 2014-08-26 Microsoft Corporation Promoting data from structured data files
US7318063B2 (en) * 2004-02-19 2008-01-08 Microsoft Corporation Managing XML documents containing hierarchical database information
US7850642B2 (en) 2004-03-05 2010-12-14 Hansen Medical, Inc. Methods using a robotic catheter system
US7976539B2 (en) * 2004-03-05 2011-07-12 Hansen Medical, Inc. System and method for denaturing and fixing collagenous tissue
US8145683B2 (en) * 2004-03-17 2012-03-27 Siemens Aktiengesellschaft Data structure and method for creating and storing a file
US7496837B1 (en) 2004-04-29 2009-02-24 Microsoft Corporation Structural editing with schema awareness
US7774620B1 (en) 2004-05-27 2010-08-10 Microsoft Corporation Executing applications at appropriate trust levels
US7761863B2 (en) 2004-06-08 2010-07-20 Covia Labs, Inc. Method system and data structure for content renditioning adaptation and interoperability segmentation model
JP4541054B2 (ja) * 2004-07-09 2010-09-08 株式会社リコー レンズ鏡胴及び撮影装置
US7692636B2 (en) 2004-09-30 2010-04-06 Microsoft Corporation Systems and methods for handwriting to a screen
US7516399B2 (en) * 2004-09-30 2009-04-07 Microsoft Corporation Structured-document path-language expression methods and systems
US7712022B2 (en) 2004-11-15 2010-05-04 Microsoft Corporation Mutually exclusive options in electronic forms
US7721190B2 (en) 2004-11-16 2010-05-18 Microsoft Corporation Methods and systems for server side form processing
US7904801B2 (en) 2004-12-15 2011-03-08 Microsoft Corporation Recursive sections in electronic forms
US7937651B2 (en) 2005-01-14 2011-05-03 Microsoft Corporation Structural editing operations for network forms
US7725834B2 (en) 2005-03-04 2010-05-25 Microsoft Corporation Designer-created aspect for an electronic form template
US8010515B2 (en) 2005-04-15 2011-08-30 Microsoft Corporation Query to an electronic form
US8200975B2 (en) 2005-06-29 2012-06-12 Microsoft Corporation Digital signatures for network forms
US7849048B2 (en) 2005-07-05 2010-12-07 Clarabridge, Inc. System and method of making unstructured data available to structured data analysis tools
US7849049B2 (en) 2005-07-05 2010-12-07 Clarabridge, Inc. Schema and ETL tools for structured and unstructured data
US7665028B2 (en) 2005-07-13 2010-02-16 Microsoft Corporation Rich drag drop user interface
US20070073770A1 (en) * 2005-09-29 2007-03-29 Morris Robert P Methods, systems, and computer program products for resource-to-resource metadata association
US7797337B2 (en) * 2005-09-29 2010-09-14 Scenera Technologies, Llc Methods, systems, and computer program products for automatically associating data with a resource as metadata based on a characteristic of the resource
US20070073751A1 (en) * 2005-09-29 2007-03-29 Morris Robert P User interfaces and related methods, systems, and computer program products for automatically associating data with a resource as metadata
US7484173B2 (en) * 2005-10-18 2009-01-27 International Business Machines Corporation Alternative key pad layout for enhanced security
US8001459B2 (en) 2005-12-05 2011-08-16 Microsoft Corporation Enabling electronic documents for limited-capability computing devices
US8996592B2 (en) * 2006-06-26 2015-03-31 Scenera Technologies, Llc Methods, systems, and computer program products for identifying a container associated with a plurality of files
US8156149B2 (en) 2007-07-24 2012-04-10 Microsoft Corporation Composite nested streams
WO2009022337A2 (en) * 2007-08-13 2009-02-19 Kcs - Knowledge Control Systems Ltd. Introducing a form instance into an information container
US7958167B2 (en) * 2008-03-05 2011-06-07 Microsoft Corporation Integration of unstructed data into a database
US8645105B1 (en) 2008-11-14 2014-02-04 Adobe Systems Incorporated Methods and systems for round-trip editing of component artwork
US8869051B2 (en) * 2009-10-02 2014-10-21 Adobe Systems Incorporated Systems and methods for using separate editing applications from within electronic content creation applications while preventing data loss
US8856792B2 (en) 2010-12-17 2014-10-07 Microsoft Corporation Cancelable and faultable dataflow nodes
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
US10372741B2 (en) 2012-03-02 2019-08-06 Clarabridge, Inc. Apparatus for automatic theme detection from unstructured data
CN105302425B (zh) * 2014-05-30 2019-03-08 联想(北京)有限公司 一种应用对象的处理方法及电子设备
CA2974382C (en) * 2015-01-20 2023-09-26 Ultrata, Llc Object based memory fabric
US11086521B2 (en) 2015-01-20 2021-08-10 Ultrata, Llc Object memory data flow instruction execution
EP3998526A1 (en) 2015-01-20 2022-05-18 Ultrata LLC Distributed index for fault tolerant object memory fabric
US9886210B2 (en) 2015-06-09 2018-02-06 Ultrata, Llc Infinite memory fabric hardware implementation with router
CA3006773A1 (en) 2015-12-08 2017-06-15 Ultrata, Llc Memory fabric software implementation
CN111753141B (zh) * 2019-03-26 2024-06-11 华为技术有限公司 一种数据管理方法及相关设备
US20230089365A1 (en) * 2021-09-20 2023-03-23 Salesforce.Com, Inc. Data virtualization adapter in an integration platform

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US76978A (en) * 1868-04-21 Francis w
US5873092A (en) 1995-12-14 1999-02-16 International Business Machines Corporation Information handling system, method, and article of manufacture including persistent, distributed object name services including shared properties
US6061696A (en) * 1997-04-28 2000-05-09 Computer Associates Think, Inc. Generating multimedia documents
US6708189B1 (en) * 1997-09-30 2004-03-16 Desknet, Inc. Computer file transfer system
JP4035872B2 (ja) * 1997-10-27 2008-01-23 株式会社日立製作所 ファイルフォーマット変換方法とこれを用いたファイルシステム及び情報システム及び電子商取引システム
US6549918B1 (en) * 1998-09-21 2003-04-15 Microsoft Corporation Dynamic information format conversion
US6353823B1 (en) * 1999-03-08 2002-03-05 Intel Corporation Method and system for using associative metadata
US6429882B1 (en) * 1999-03-15 2002-08-06 Sun Microsystems, Inc. User interface component
US6708187B1 (en) * 1999-06-10 2004-03-16 Alcatel Method for selective LDAP database synchronization
US6363386B1 (en) 1999-07-26 2002-03-26 Microsoft Corporation System and method for managing property information related to a resource
US6549916B1 (en) * 1999-08-05 2003-04-15 Oracle Corporation Event notification system tied to a file system
US6728685B1 (en) * 1999-11-05 2004-04-27 Ford Motor Company Communication schema of online reporting system and method related to online orders for consumer products having specific configurations
US6611840B1 (en) 2000-01-21 2003-08-26 International Business Machines Corporation Method and system for removing content entity object in a hierarchically structured content object stored in a database
US6910182B2 (en) * 2000-01-31 2005-06-21 Xmlcities, Inc. Method and apparatus for generating structured documents for various presentations and the uses thereof
US6779154B1 (en) * 2000-02-01 2004-08-17 Cisco Technology, Inc. Arrangement for reversibly converting extensible markup language documents to hypertext markup language documents
US6871245B2 (en) * 2000-11-29 2005-03-22 Radiant Data Corporation File system translators and methods for implementing the same
US6799184B2 (en) * 2001-06-21 2004-09-28 Sybase, Inc. Relational database system providing XML query support
JP3773426B2 (ja) * 2001-07-18 2006-05-10 株式会社日立製作所 データマイニングにおける前処理方法及び前処理システム
US6704432B2 (en) 2001-10-18 2004-03-09 Microsoft Corporation Extensible file format

Also Published As

Publication number Publication date
BRPI0406528A (pt) 2005-12-13
ZA200504758B (en) 2006-08-30
TWI359374B (en) 2012-03-01
CA2511528A1 (en) 2005-05-19
AU2004287137B2 (en) 2009-12-17
EP1634145A2 (en) 2006-03-15
WO2005045575A2 (en) 2005-05-19
RU2005120652A (ru) 2006-01-20
US20050091285A1 (en) 2005-04-28
KR20060112590A (ko) 2006-11-01
NO20052799L (no) 2005-11-07
US7155444B2 (en) 2006-12-26
KR101137188B1 (ko) 2012-04-19
MXPA05007144A (es) 2005-11-01
CN1867911B (zh) 2010-06-09
NO20052799D0 (no) 2005-06-09
MXPA05007143A (es) 2005-08-26
EP1634145A4 (en) 2009-02-18
IL169465A0 (en) 2007-07-04
JP2007509415A (ja) 2007-04-12
TW200515270A (en) 2005-05-01
AU2004287137A1 (en) 2005-05-19
NZ540655A (en) 2008-04-30
WO2005045575A3 (en) 2006-03-16
MY137808A (en) 2009-03-31
RU2348973C2 (ru) 2009-03-10
CN1867911A (zh) 2006-11-22

Similar Documents

Publication Publication Date Title
JP4578480B2 (ja) オブジェクトシステム間のファイルプロパティ管理を容易にするためのプロモーションおよびデモーション技術
US7676481B2 (en) Serialization of file system item(s) and associated entity(ies)
US7631298B2 (en) Extensible architecture for project development systems
US6125369A (en) Continuous object sychronization between object stores on different computers
JP5787963B2 (ja) コンピュータプラットフォームのプログラミングインターフェース
US6789094B2 (en) Method and apparatus for providing extended file attributes in an extended attribute namespace
JP4972082B2 (ja) 開発者がシステム上の周知のロケーションを容易に発見し、または拡張するための能力
US5623661A (en) System for and method of providing delta-versioning of the contents of PCTE file objects
US6449617B1 (en) Edit command delegation program for editing electronic files
US6606618B2 (en) Method for optimizing the performance of a database
JPH1097449A (ja) 多値局所化ストリング
US20230080984A1 (en) Metadata storage for placeholders in a storage virtualization system
US7647588B2 (en) Smart archive for JAR files
EP1980957A1 (en) System and method for accessing files in a physical data storage
US20010013040A1 (en) General purpose resource manager for hierarchical file systome

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070726

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100423

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100722

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

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

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

Free format text: PAYMENT UNTIL: 20130903

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4578480

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees