JP4993851B2 - 動的なレジストリの区分 - Google Patents

動的なレジストリの区分 Download PDF

Info

Publication number
JP4993851B2
JP4993851B2 JP2004234777A JP2004234777A JP4993851B2 JP 4993851 B2 JP4993851 B2 JP 4993851B2 JP 2004234777 A JP2004234777 A JP 2004234777A JP 2004234777 A JP2004234777 A JP 2004234777A JP 4993851 B2 JP4993851 B2 JP 4993851B2
Authority
JP
Japan
Prior art keywords
data store
registry
partition data
application
dynamic partition
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
JP2004234777A
Other languages
English (en)
Other versions
JP2005078628A (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 JP2005078628A publication Critical patent/JP2005078628A/ja
Application granted granted Critical
Publication of JP4993851B2 publication Critical patent/JP4993851B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • G06F9/4486Formation of subprogram jump address
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • 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/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/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Description

本発明は、一般にはシステムレジストリに関し、より詳細には、動的なレジストリの区分を容易にするシステムおよび方法に関する。
従来のオペレーティングシステムの多くは、例えば構成情報などの情報の記憶を助けるレジストリを用いる。レジストリは、オペレーティングシステムと、そのオペレーティングシステムの下で実行されるアプリケーションおよびサービスとのための情報ストアとして機能することができる。一例で、レジストリは、ブートパラメータからユーザのデスクトップ設定にわたる幅広い構成設定を記憶する。レジストリは、コンピュータの記憶システムに記憶された(例えば永続的および/または非永続的な)1つまたは複数の構成ファイルとして記憶することができる。
アプリケーションは、インストールされるとレジストリに情報を書き込む(格納する)ことができる。レジストリは、コンピュータごとおよび/またはユーザごとのデータストアを参照するキーのサブツリーからなる階層構造のデータストアである。キーは、値エントリと呼ばれるデータ項目を含むことができ、さらにサブキーを含むことができる。レジストリ構造では、キー(およびサブキー)は、値エントリがファイルに相当するディレクトリに似たものと考えることができる。システムレジストリは、例えば、再起動時、ログオン時、およびログオフ時に変化する場合がある。
例えば、レジストリは、以下の主要セクション(サブツリー)を含むことができる:
HKEY_Classes_Root − ファイルの関連付けおよびOLE情報
HKEY_Current_User − 現在のユーザの設定セット
HKEY_User − システムの各ユーザの現在のユーザ情報
HKEY_Local_Machine − ハードウェア、オペレーティングシステム、およびインストールされたアプリケーションの設定
HKEY_Current_Configuration − ディスプレイおよびプリンタの設定
HKEY_Dyn_Data − パフォーマンスデータ
いくつかの文献に上述のような従来の技術に関連した技術内容が開示されている(例えば、特許文献1、2参照)。
米国特許第6,163,855号明細書 米国特許第6,578,045号明細書
オペレーティングシステム技術が絶えず進歩し続けるのに従って、レガシーアプリケーションとネイティブアプリケーションの両方が共存することを同時に許可することが、オペレーティングシステム、より詳細にはシステムレジストリにとって困難な作業となっている。例えば、異なるバージョンのアプリケーションは、各自の構成情報を共通の構成データストアに格納することができる。実際には、異なるバージョンのアプリケーションは、一般に、各自の構成情報を共通の構成データ構造中の同じ場所に格納する。したがって、より後にインストールされたバージョンが、より前にインストールされたバージョンの既存の構成情報を上書きしてしまう可能性がある。その結果、より前のバージョンは、当該バージョンの構成情報が変更されているので正しく実行されない(あるいはまったく実行されない)ことになる。時には、後にインストールされたバージョンの円滑な動作を妨害する恐れのある残留した構成が、共通の構成データ構造中に存在することがある。
従来は、新しいバージョン(例えば32ビット)のオペレーティングシステムが導入された際に互換性と相互動作性の問題が生じていた。こうした種の互換性の問題を回避するために、新しい32ビットアプリケーションは、その構成情報を、古い16ビットのアプリケーションとは異なる場所(例えば別個のシステムレジストリ)に格納するように指示されていた。また、新しいアプリケーションは、そのアプリケーションプログラムインタフェース(「API」)および動的リンクライブラリ(「DLL」)に異なる名前を使用するように指示されていた。この従来の解決法は、互換性および相互動作性に関しては役立ったが、ソフトウェア開発者は、新しいあるいは改良されたソフトウェアの開発よりもソフトウェアの変換に多大なリソースを注ぐことを余儀なくされていた。すなわち、16ビットバージョンのアプリケーションを32ビットバージョンに移植するには著しい変更を加えることが必要だった。
本発明は、このような状況に鑑みてなされたもので、その目的とするところは、システムレジストリに格納された情報へのアクセスを提供し、さらにシステムレジストリを動的に区分する汎用的な方式を容易にするシステムおよび方法を提供することにある。
以下に、本発明のいくつかの態様の基本的理解を提供するために簡略化した本発明の要約を述べる。この要約は、広範囲にわたる本発明の概要ではない。この要約は、本発明の主要/不可欠な要素を特定するものでも、本発明の範囲を説明するものでもない。その唯一の目的は、後に提示するより詳細な説明の前置きとして、簡略化した形態で本発明の一部の概念を示すことである。
本発明は、システムレジストリに格納された情報へのアクセスを提供し、さらにシステムレジストリを動的に区分する汎用的な(アプリケーションおよび/またはオペレーティングシステムに依存しない)方式を容易にするシステムおよび方法を提供する。本発明は、システムレジストリのカスタマイズされたビューを、クライアント、コンポーネント、および/またはアプリケーションに提供する。カスタマイズは、例えば、バージョン、コンピュータ構成、ユーザ、および/または他の適切な情報に基づいて行うことができる。さらに、システムレジストリのカスタマイズされたビューは、実行時に操作することができる。これに加えておよび/またはこれに代えて、低レベルのコンポーネント(クライアントおよび/またはアプリケーションなど)に、(インタフェースコンポーネントを介して)動的パーティションデータストアへのアクセス権を与えて、リダイレクション情報を操作(追加、削除、および/または変更など)させることもできる。
情報は、要求に応じて、動的パーティションデータストアに格納されたレジストリパーティション情報に基づいて動的に提供することができる。したがって、要求元(コンポーネントおよび/またはアプリケーション)には、動的パーティションデータストアに格納されたリダイレクション情報に少なくとも部分的に基づいて、現在のシステムレジストリ情報が提供される。したがって、本発明の一態様によれば、管理プログラムが、実質的にすべてのシステムレジストリコールをリダイレクトすることが可能なカスタマイズされたシェル環境下でアプリケーションを実行することができ、ある時点までシステムレジストリを当初の状態に保つことができる。すなわち、ユーザは、アプリケーションに障害を与えることなく、システムレジストリの異なる場所に単一の書き込みをリダイレクトすることができる。
動的パーティションデータストアは、少なくとも1つのアプリケーションとシステムレジストリとに関連付けられたリダイレクション情報を格納する。インターセプション(interception)コンポーネントが、システムレジストリにアクセスするための要求を(例えばアプリケーションから)受け取り、動的パーティションデータストアに格納されたリダイレクション情報に少なくとも部分的に基づいて、システムレジストリに関連付けられた情報を返す。例えば、インターセプションコンポーネントは、動的パーティションデータストアのリダイレクション情報を利用すべきかどうか判定する際に、要求元エンティティの識別および/または特性を検討することができる。
リダイレクション情報は、動的パーティションデータストア(例えばキー/変換されたキー)に格納することができる。例えば、動的パーティションデータストアは、クライアント(例えばアプリケーション)からのシステムサービスコールをインターセプトするインターセプションコンポーネントによって動的に操作することができる、システム中のリマッピングテーブルとすることができる。
本発明のさらに別の態様は、特定のコンポーネント(アプリケーション)が、当該コンポーネントに適したシステムレジストリのビュー(リスト)(カスタマイズされたビュー)を初期化できるようにする。例えば、ソースノード、宛先ノード、および/またはプロパティ(<NS、ND、P>)などの1つまたは複数のプロパティをビュー(リスト)に関連付けることができる。コンポーネントは、所望の異なる要素(例えば<A、B、P>)を用いてビュー(リスト)を更新することができる。あるコンポーネントが、キーAの下位にあたり、かつプロパティPを満たすレジストリキーへのアクセスを試みる場合、呼び出しは(インターセプションコンポーネントによって)サブツリーBにリダイレクションされる。この例では、1レベルのリダイレクションを述べたが、ゼロレベル、1レベル、または複数レベルの間接化および/またはカスケードの規則を、特定の呼び出しの操作に適用できることは理解されよう。
したがって、リマッピング(リダイレクション)かどうかを判定する際、インターセプションコンポーネントは、要求元エンティティ(クライアント)が渡したパラメータを調べることができる。その後、一例では、インターセプションコンポーネントは、要求元エンティティ(クライアント)の必要性を満たす別のパラメータセットを作成し、その変更されたパラメータセットを使用してネイティブコールを行うことができる。
前述の目的および関連する目的を達成するために、以下の説明および添付図面との関連で、本発明の特定の例示的態様を本明細書に記載する。ただし、それらの態様は、本発明の原理を用いることが可能な各種方式のいくつかのみを示すものであり、本発明は、そのような態様とその均等物をすべて包含するものとする。本発明のその他の利点および新規の特徴は、図面と併せて以下の本発明の詳細な説明を検討することから明らかになろう。
以下、図面を参照して本発明を適用できる実施形態を詳細に説明する。図面中では、同様の要素は同様の参照符号を使用して参照する。以下の説明では、説明の目的で本発明の完全な理解を提供するために多数の具体的な詳細事項を述べる。ただし、本発明がそれらの具体的な詳細を用いずとも実施できることは明白であろう。他の事例では、本発明の説明を容易にするために、よく知られた構造およびデバイスはブロック図の形態で図示する。
本願で使用する用語「コンピュータコンポーネント」とは、ハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアを問わず、コンピュータに関連するエンティティを指すものとする。例えば、コンピュータコンポーネントは、これらに限定しないが、プロセッサで実行中のプロセス、プロセッサ、オブジェクト、実行ファイル、実行のスレッド、プログラム、および/またはコンピュータ等である。例示として、サーバで実行中のアプリケーションとサーバの両方がコンピュータコンポーネントになりうる。プロセスおよび/または実行のスレッドには1つまたは複数のコンピュータコンポーネントが存在することができ、コンポーネントは、1つのコンピュータに集中させる、かつ/または2つ以上のコンピュータに分散させることができる。この用語が本明細書に定義されるため、各種のシステムおよび/またはコンポーネントがコンピュータコンポーネントになりうることは理解されよう。
図1を参照すると、本発明の一態様による動的レジストリパーティションシステム100を示す。システム100は、インターセプションコンポーネント110および動的パーティションデータストア120を含む。任意で、システム100は、さらにシステムレジストリ130を含むことができる。システムレジストリ130は単一のデータストアとして図示するが、当業者は、情報は直接システムレジストリ130に格納する、かつ/または間接的に(例えば参照、ポインタ、および/または他の間接化ツールを用いるなどにより)システムレジストリ130に格納できることを認識されよう。特許請求の範囲は、そのようなシステムレジストリ構成をすべて包含するものとする。
システム100は、システムレジストリに格納された情報へのアクセスを提供し、システムレジストリを動的に区分する汎用的な(アプリケーションおよび/またはオペレーティングシステムに依存しない)方式を容易にする。本発明は、システムレジストリ130のカスタマイズされたビューをコンポーネントおよび/またはアプリケーションに提供することを容易にする。カスタマイズは、例えば、バージョン、コンピュータ構成、ユーザ、および/または他の適切な情報に基づいて行うことができる。重要な点として、システムレジストリ130のカスタマイズされたビューは、実行時にシステム100によって操作する(動的に操作する)ことができる。これに加えて、かつ/またはこれに代えて、低レベルコンポーネントに動的パーティションデータストアへのアクセス権を与えて、リダイレクション情報を操作させることもできる(例えば下記のインタフェースコンポーネント(図示せず)を介して)。
情報は、要求に応じて、動的パーティションデータストア120に格納されたパーティション情報に基づいて、動的に提供することができる。したがって、要求元(コンポーネントおよび/またはアプリケーションなど)には、動的パーティションデータストア120に格納されたリダイレクション情報に少なくとも部分的に基づく現在のシステムレジストリ情報が与えられる。
例えば、ターミナルサーバが、ログオンしたユーザに基づく、異なるレジストリビューを要求する場合がある。さらに、シェルが、第2のビュー、例えばレジストリ中の複数の異なる場所からの併合情報を得ることを望む場合がある。従来のシステムは、複数のビューを容易にするが、複数のビューに対するサポートは一般にはハードコードされる。したがって、将来の要件が課されると、レジストリAPIは一般に、それらの要件をサポートするように変更される必要があり、そのため後方互換性が困難になっている。
レジストリに対するハードコードされた変更はさらに、複数の異なるコンポーネントがシステムレジストリに依存できるため、問題につながる。このように、システムレジストリに対する変更は、レガシーアプリケーションについて問題を呈する可能性がある。例えば、従来、64ビットのオペレーティングシステムのアプリケーション互換性/相互動作性をサポートするために、システムレジストリを様々な場所で区分していた。ハードコードされたレジストリキーのリストが異なる方式で様々な場所を定義して、(1)ネイティブアプリケーション、および(2)レガシー(例えば32ビット)アプリケーションのビューを編集していた。
動的パーティションシステム100は、アプリケーションに対して実質的に透過である。しかし、本発明の一態様によれば、システムレジストリの動的な区分を利用したいアプリケーションには利用を許可することができる。
例えばバージョン番号に基づいてシステムレジストリ130の異なるビューを表示したいコンポーネントは、システム100を用いることにより容易にその異なるビューを実現することができる。COM+(Component Object Model plus)コンポーネントもシステム100を用いることによりシステムレジストリ130を区分することができる。
本発明のさらに別の態様によれば、管理プログラムが、実質的にすべてのシステムレジストリコールをリダイレクトすることが可能なカスタマイズされたシェル環境下でアプリケーションを実行し、ある時点までシステムレジストリを当初の状態に保つことができる。すなわち、ユーザは、アプリケーションに障害を当てることなく、システムレジストリ中の別の場所に単一の書き込みをリダイレクトすることができる。
最後に、イメージヘッダ中の署名に基づいてオペレーティングシステム中でDLL(dynamic link library)を呼び出す、拡張された、かつ/またはカスタマイズされたローディングプロセスを用いることができる。DLLは、(COM+プログラムのように)特定のイメージをロードすることができ、また適用可能であればシステムレジストリビューを変更することができる。
動的パーティションデータストア120は、少なくとも1つのアプリケーションとシステムレジストリ130とに関連付けられたリダイレクション情報を格納する。インターセプションコンポーネント110は、システムレジストリ130にアクセスするための要求を(例えばアプリケーションから)受け取り、動的パーティションデータストア120に格納されたリダイレクション情報に少なくとも部分的に基づいて、システムレジストリ130に関連付けられた情報を返す。例えば、インターセプションコンポーネント110は、動的パーティションデータストア120のリダイレクション情報を利用すべきかどうかを判定する際に、要求元エンティティの識別および/または特性を調べることができる。
リダイレクション情報は、動的パーティションデータストア120(例えばキー/変換されたキー)に格納することができる。動的パーティションデータストア120は、例えば、クライアント(例えばアプリケーション)からのシステムサービスコールをインターセプトするインターセプションコンポーネント110により動的に操作することができる、システム100中のリマッピングテーブルとすることができる。
さらに、本発明の一態様によれば、要求の送信元(例えばアプリケーション)は、戻り情報が、少なくとも部分的にリダイレクション情報に基づくことを意識しない。
したがって、システム100は、従来のシステムを通じて利用できる2セットの静的なビューを凌ぐ。システム100は、システムレジストリ130の動的な操作を容易にする。したがって、一例では、(例えば静的なレジストリビューをサポートするための)静的なシステムレジストリは利用することができない。代わりに、特定のコンポーネント(例えばアプリケーション)が、そのコンポーネントに適したシステムレジストリ130のビュー(リスト)(システムレジストリ130のカスタマイズされたビュー)を初期化することができる。例えば、ソースノード、宛先ノード、および/またはプロパティ(<NS、ND、P>)などの1つまたは複数のプロパティを、ビュー(リスト)に関連付けることができる。コンポーネントは、所望の異なる要素(<A、B、P>など)でビュー(リスト)を更新することができる。コンポーネントが、キーAの下位にあたり、かつプロパティPを満たすレジストリキーにアクセスすることを試みる場合、呼び出しは(例えばインターセプションコンポーネント110により)サブツリーBにリダイレクションされる。この例では単一レベルのリダイレクションについて述べたが、ゼロレベル、1レベルまたは複数レベルの間接化および/またはカスケードの規則を特定の呼び出しの操作に適用できることは理解されよう。
したがって、一例では、インターセプションコンポーネント110が、システムレジストリ130の情報を求める要求を受け取る(例えばインターセプションコンポーネント110が、クライアント、例えばアプリケーションから、システムレジストリ130にアクセスするための呼び出しをインターセプトする)。その要求に応答する前に、インターセプションコンポーネント110は、動的パーティションデータストア120を調べて、システムレジストリ130の内容をリマッピングすることが適当であるかどうかを判断する。適当である場合は、インターセプションコンポーネント110は、動的パーティションデータストア120に格納されたリダイレクション情報に少なくとも部分的に基づいて、システムレジストリ130に関連付けられた情報を返す。
リマッピング(リダイレクション)かどうかを判定する際、インターセプションコンポーネント110は、要求元エンティティ(クライアント)が渡したパラメータを調べることができる。その後、一例では、インターセプションコンポーネント110は、要求元エンティティ(クライアント)の必要性に一致する別のパラメータセットを作成し、変更されたそのパラメータセットを使用してネイティブコールを行うことができる。
システムレジストリ130は、例えば階層ツリーによって表すことができ、アプリケーションは、ツリー中の任意のノードを使用して、ルートからツリー中の任意ノードまでの完全なパスを供給することができる。動的パーティションデータストア120は、リダイレクションツリーとして機能して、クライアントからの呼び出しを、そのクライアントがアクセスしようとしているノードに導くべきか、および/またはシステムツリー中の別のノードに導くべきかを検証することができる。
一例では、動的パーティションデータストア120中のノードは、リマッピングをどのように行うべきかを定義する属性のセットおよび/または規則のセットを有する。例えば、動的パーティションデータストア120のツリーは、システムレジストリ130のツリーの実質的にすべてのノードを含む必要はなく、ある動作(例えばリマッピング)が行われるノードを有する。したがって、動的パーティションデータストア120のツリーは、システムレジストリ130のツリーより小さくすることができる。さらに、動的パーティションデータストア120のサイズは、ユーザが定義したリマッピング情報に依存して決まることができる。
例えば、クライアント(アプリケーション)は、システムレジストリ130にアクセスするための呼び出しを行って、あるノードまでの実質的に完全なパスを供給することができる。この呼び出しは、通例、システムレジストリ130ツリー中のある場所を指す一意の数であるハンドルを返す。クライアントは、そのハンドルを使用してその後の要求を行うことができる。通例、その後行われる呼び出しでは、相対的なパスとして渡されたリターンハンドルを利用する。したがって、リターンハンドルが本来指すはずであった場所と異なる場所を指す場合は、クライアント(アプリケーション)の動作は影響されないことになる。
併合されたビューをサポートするために、インターセプションコンポーネント110は、動的パーティションデータストア120における規則セットを使用して、クライアント(アプリケーション)の呼び出しを複数の場所にリマップすることができる。その後、インターセプションコンポーネント110は、呼び出し元のクライアント(アプリケーション)に返すべき場所を判定する。
図2に移ると、本発明の一態様による動的レジストリパーティションシステム200を図示する。システム200は、インターセプションコンポーネント110、動的パーティションデータストア、およびインタフェースコンポーネント140を含むことができる。任意で、システム200はさらにシステムレジストリ130を含むことができる。
インタフェースコンポーネント140は、(クライアントおよび/またはアプリケーションによる)システムレジストリ130のビューの操作を容易にする。インタフェースコンポーネント140は例えばAPI(Application Programming Interface)である。インタフェースコンポーネント140によって実施される例示的インタフェースを下記に挙げる。
Figure 0004993851
APIはDLLからエクスポートすることができる。一例では、新しいクラスのルートを定義するために、以下によりAPIが呼び出される。
\REGISTRY\Machine\software\ClassesをポイントするhSrc
User ClassesをポイントするhDest
Flagセット − APIに通信してビューを併合する
「Read」は、まずhDestのプリファレンス(preference)を得、次いでhSrcのプリファレンスを得る。「Create」は、hSrcへの参照を得、アクセスが拒否される場合はhDestへの参照を得る。
別の例では、複数のハイブ(hive)を併合して単一のハイブにするために、第3のパラメータを使用してシステムレジストリ130中の複数のビューをカスケードにすることができる。さらに、hSrcがClasses Rootをポイントし、hDestがリダイレクションされた場所をポイントする、併合されたビューでビューをリマップする。
このように、システム200は、システムレジストリ130のビューの動的な操作を容易にする。操作は、例えば、APIを用いて各自のレジストリビューをカスタマイズする様々なコンポーネントとともに、インタフェースコンポーネント140を介して利用できるAPIを使用して実現することができる。したがって、コンポーネント(サブシステム)は、システムレジストリ130の独自のビューを動的に作成することができる(例えばオペレーティングシステム中の内容を一切変更することなく)。したがって、コンポーネント(アプリケーション)の開発者から、独自のシステムレジストリビューを作成するためにシステムレジストリ130にエントリをハードコーディングする負担が取り除かれる。また、システムレジストリ130は、従来のシステムに比べて管理が容易である。
したがって、本発明の一態様によれば、システム200を用いるシェルが、システムレジストリ130の独自の併合ビューを定義することができる。本発明の別の態様によれば、アプリケーションが各自の併合ビューを定義することができ、例えばシステムレジストリ130中の異なる複数の場所から異なるサブツリーを取り出すことができる。さらに、OLE(object linking and embedding)および/またはCOM(Component Object Model)の起動コードが独自の規則セットを定義することができ、基礎となるアプリケーションは正しいコンポーネントを起動することができる。例えば、パラメータに基づいて、第1のコンポーネント(例えばURT)が、当該第1のコンポーネントによって管理される実質的にすべてのアプリケーションに影響する動的パーティションデータストア120を再定義することができる。
次いで図3を参照すると、本発明の一態様による動的レジストリパーティションシステム300を図示する。システム300は、インターセプションコンポーネント110、動的パーティションデータストア120、システムレジストリ130、インタフェースコンポーネント140(複数)、アプリケーション310、オペレーティングシステム320、およびアプリケーションホスト330を含む。アプリケーションホスト330には、例えば、アプリケーションローダ、例えば互換性レイヤなどのオペレーティングシステムコンポーネント、および/またはプラットフォームフレームワークが含まれる。例えば、アプリケーションホスト330は、インタフェースコンポーネント140を介して、動的パーティションデータストアに格納された情報の初期化および/または操作を容易にすることができる。
一般に、システムレジストリ情報に対する要求は、アプリケーション310からアプリケーションホスト330(例えばアプリケーションローダ、例えば互換性レイヤなどのオペレーティングシステムコンポーネント、および/またはプラットフォームフレームワーク)に送信される。アプリケーションホスト330は、要求に関連付けられた情報をオペレーティングシステム320に提供する。その後、オペレーティングシステム320は、システムレジストリ情報に対する要求をインターセプションコンポーネント110に送信する。
インターセプションコンポーネント110は、システムレジストリ情報をオペレーティングシステムに返す。要求に関連付けられたリダイレクション情報が動的パーティションデータストア120に格納されている場合、情報の提供は、少なくとも部分的に、動的パーティションデータストア120に格納されたリダイレクション情報に基づく。オペレーティングシステム320は次いで、アプリケーションホスト330を介してアプリケーション310にシステムレジストリ情報を提供する。ただし、システム300はさらに、アプリケーション310による、動的パーティションデータストア120に格納されたリダイレクション情報の操作を容易にする。したがって、アプリケーション310は、動的パーティションデータストア120に格納されたリダイレクション情報を追加、削除、および/または変更する要求を、アプリケーションホスト330を介してインタフェースコンポーネント140に提供することができる。
簡単に図4および5を見ると、本発明により実施することが可能な方法論を図示する。説明を簡潔にするために、この方法論は一連のブロックとして図示し、説明するが、本発明はこのブロックの順序によって制限されず、一部のブロックは本発明により、ここに図示し、説明する順序とは異なる順序で、かつ/または他のブロックと同時に行ってもよいことを理解し、認識されたい。さらに、本発明によりこの方法論を実施するために、図示するすべてのブロックが必要であるとは限らない。
本発明は、1つまたは複数のコンポーネントによって実行されるプログラムモジュールなどのコンピュータ実行可能命令に概ね即して説明することができる。一般に、プログラムモジュールには、特定のタスクを行うか、特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、データ構造などが含まれる。通例、プログラムモジュールの機能は、各種の実施形態で必要に応じて組み合わせても、分散してもよい。
図4を参照すると、本発明の一態様により複数のレジストリビューをサポートする動的レジストリの区分を容易にする方法400を図示する。410で、システムレジストリ情報を求める要求が(例えばインターセプションコンポーネント110により)インターセプトされる。420で、その要求に関連付けられたリダイレクション情報が動的パーティションデータストアに格納されているかどうかが判定される。
420の判定結果がYESの場合、430で、動的パーティションデータストアに格納されたリダイレクションに少なくとも部分的に基づいて、要求に関連付けられた情報を提供する。例えば、その情報を要求元のクライアントに提供することができる。動的パーティションデータストアのリダイレクション情報を利用すべきかどうかを判定する際、この情報は、要求元エンティティのバージョン、識別、および/または特性に基づくことができ、それ以上の処理は行われない。420の判定結果がNOの場合は、440で、システムレジストリに格納された情報に少なくとも部分的に基づいて、その要求に関連付けられた情報が提供され、それ以上の処理は行われない。
次いで図5に、本発明の一態様による動的パーティションデータストアとインタフェースをとる方法500を図示する。510で、動的パーティションデータストアに格納されたリダイレクション情報を追加、削除、および/または変更する要求が(例えばインタフェースコンポーネント140により)受け取られる。520で、要求の発信元が、要求される動作(追加、削除、および/または変更など)を開始する権限があるかどうかが判定される。520における判定結果がYESの場合は、530で、動的パーティションデータストアに格納されたリダイレクション情報の要求される追加、削除、および/または変更が行われ、それ以上の処理は行われない。520における判定結果がNOの場合は、それ以上の処理は行われない。
本発明の各種態様について追加的なコンテクストを提供するために、図6および以下の説明により、本発明の各種態様を実施することが可能な適切な動作環境610の簡単で概略的な説明を提供する。本発明について、1つまたは複数のコンピュータあるいは他のデバイスによって実行されるプログラムモジュールなどのコンピュータ実行可能命令に概ね即して説明するが、当業者は、本発明は、他のプログラムモジュールと組み合わせて、かつ/またはハードウェアとソフトウェアの組合せとして実施することもできることを認識されよう。ただし、一般に、プログラムモジュールには、特定のタスクを行うか、特定のデータ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。動作環境610は、適切な動作環境の一例に過ぎず、本発明の使用または機能性の範囲について何らの制限を示唆するものではない。本発明に使用するのに適する可能性がある他のよく知られるコンピュータシステム、環境、および/または構成には、これらに限定しないが、パーソナルコンピュータ、ハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサシステム、マルチプロセッサを用いたシステム、プログラム可能な家庭電化製品、ネットワークPC(personal computer)、ミニコンピュータ、メインフレームコンピュータ、上記のシステムおよびデバイスを含む分散コンピューティング環境などがある。
図6を参照すると、本発明の各種態様を実施する例示的環境610は、コンピュータ612を含む。コンピュータ612は、プロセッサ614、システムメモリ616、およびシステムバス618を含む。システムバス618は、これに限定しないがシステムメモリ616を含むシステムコンポーネントをプロセッサ614に結合する。プロセッサ614は、各種の利用可能なプロセッサのいずれでもよい。デュアルマイクロプロセッサおよび他のマルチプロセッサアーキテクチャもプロセッサ614として使用することができる。
システムバス618は、これらに限定しないが8ビットバス、ISA(Industrial Standard Architecture)、MCA(Micro−Channel Architecture)、EISA(Extended ISA)、IDE(Intelligent Drive Electronics)、VLB(VESA Local Bus)、PCI(Peripheral Component Interconnect)、USB(Universal Serial Bus)、AGP(Advanced Graphics Port)、PCMCIA(Personal Computer Memory Card International Association bus)、およびSCSI(Small Computer Systems Interface)を含む各種の利用可能なバスアーキテクチャを使用した、メモリバスまたはメモリコントローラ、ペリフェラルバスまたは外部バス、および/またはローカルバスを含む数種のバス構造のいずれでもよい。
システムメモリ616は、揮発性メモリ620と不揮発性メモリ622を含む。起動時などにコンピュータ612内の要素間で情報を転送する基本ルーチンを含んだBIOS(Basic Input/Output System)が不揮発性メモリ622に記憶される。制限ではなく例示として、不揮発性メモリ622は、読み取り専用メモリ(ROM)、PROM(programmable read only memory)、EPROM(erasable programmable read-only memory)、EEPROM(Electronically Erasable and Programmable Read Only Memory)、またはフラッシュメモリを含むことができる。揮発性メモリ620は、外部キャッシュメモリとして機能するランダムアクセスメモリ(RAM)を含む。制限ではなく例示として、RAMは、SRAM(シンクロナスRAM)、DRAM(ダイナミックRAM)、SDRAM(シンクロナスDRAM)、DDR SDRAM(ダブルデータレートSDRAM)、ESDRAM(エンハンストSDRAM)、SLDRAM(Synchlink DRAM)、およびDRRAM(ダイレクトRambus RAM)などの多数の形態のものを利用することができる。
コンピュータ612は、リムーバブル/ノンリムーバブル、揮発性/不揮発性のコンピュータ記憶媒体も含む。図6には、例えばディスクストレージ624を示す。ディスクストレージ624には、これらに限定しないが、磁気ディスクドライブ、フロッピー(登録商標)ディスクドライブ、テープドライブ、Jazドライブ、Zipドライブ、LS−100ドライブ、フラッシュメモリカード、またはメモリスティックのようなデバイスが含まれる。また、ディスクストレージ624は記憶媒体を単独で含むことも、あるいは、これらに限定しないが、CD−ROM(コンパクトディスクROMデバイス)、CD−Rドライブ(書き込み可能CDドライブ)、CD−RWドライブ(書き換え可能CDドライブ)、あるいはDVD−ROM(デジタル多用途ディスクROMドライブ)などの光ディスクドライブを含む他の記憶媒体と組み合わせて含むこともできる。ディスク記憶装置624をシステムバス618に接続するのを容易にするために、通例は、インタフェース626などのリムーバブルまたはノンリムーバブルのインタフェースを使用する。
図6には、ユーザと、適切な動作環境610に記載する基本的なコンピュータリソース間の仲介役として機能するソフトウェアを示すことは理解されよう。そのようなソフトウェアには、オペレーティングシステム628が含まれる。オペレーティングシステム628は、ディスクストレージ624に格納することができ、コンピュータシステム612のリソースを制御および割り振るように動作する。システムアプリケーション630は、システムメモリ616またはディスクストレージ624に格納されたプログラムモジュール632およびプログラムデータ634を通じて、オペレーティングシステム628によるリソースの管理を利用する。本発明は、各種のオペレーティングシステムまたはオペレーティングシステムの組合せを用いて実施できることは理解されよう。
ユーザは、入力装置636を通じてコンピュータ612にコマンドおよび情報を入力する。入力装置636には、これらに限定しないが、マウス、トラックボール、スタイラス、タッチパッドなどのポインティングデバイス、キーボード、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナ、TV(television)チューナカード、デジタルカメラ、デジタルビデオカメラ、ウェブカメラなどが含まれる。これらおよびその他の入力装置は、インタフェースポート638を介しシステムバス618を通じてプロセッサ614に接続する。インタフェースポート638には、例えばシリアルポート、パラレルポート、ゲームポート、およびユニバーサルシリアルバス(USB)が含まれる。出力装置640は、同一タイプのポートのいくつかを入力装置636として使用する。したがって、例えば、USBポートを使用してコンピュータ612に入力を提供し、コンピュータ612から出力装置640に情報を出力することができる。出力アダプタ642が提供されて、モニタ、スピーカ、およびプリンタなど、出力装置640の中でも特殊なアダプタを必要とする出力装置640がいくつかあることを表している。制限ではなく例示として、出力アダプタ642は、出力装置640とシステムバス618間を接続する手段を提供するビデオカードおよびサウンドカードを含む。リモートコンピュータ644など、他のデバイスおよび/またはデバイスのシステムが、入力および出力両方の機能を提供することに留意されたい。
コンピュータ612は、リモートコンピュータ644など1つまたは複数のコンピュータとの論理接続を使用するネットワーク環境で動作することができる。リモートコンピュータ644は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ワークステーション、マイクロプロセッサを使用した機器、ピアデバイス、あるいは他の一般的なネットワークノードなどであり、通例は、上記でコンピュータ612に関連して述べた要素の多くまたはすべてを含む。図を簡潔にするために、リモートコンピュータ644についてはメモリ記憶装置646のみを図示する。リモートコンピュータ644は、ネットワークインタフェース648を通じて論理的にコンピュータ612に接続され、次いで通信接続650を介して物理的に接続される。ネットワークインタフェース648は、ローカルエリアネットワーク(LAN)およびワイドエリアネットワーク(WAN)などの通信ネットワークを包含する。LAN技術には、FDDI(fiber distributed data interface)、CDDI(copper distributed data interface)、イーサネット(登録商標)/IEEE802.3、トークンリング/IEEE802.5などがある。WAN技術には、これらに限定しないが、2地点間リンク、ISDN(総合デジタル通信網)およびその変形のような回路交換ネットワーク、パケット交換ネットワーク、およびデジタルDSL(デジタル加入者回線)が含まれる。
通信接続650は、ネットワークインタフェース648をバス618に接続するために用いられるハードウェア/ソフトウェアを指す。図をわかりやすくするために図では通信接続650をコンピュータ612の内部に示しているが、コンピュータ612の外部であってもよい。ネットワークインタフェース648に接続するために必要なハードウェア/ソフトウェアには、単なる例示として、標準電話グレードのモデム、ケーブルモデムおよびDSLモデム、ISDNアダプタ、およびイーサネット(登録商標)カードを含むモデムなどの内部および外部技術が含まれる。
上記の説明には、本発明の例が含まれる。言うまでもなく、本発明を説明する目的でコンポーネントまたは方法論の着想しうるすべての組合せを記載することは不可能であり、当業者は、本発明のこれ以外の組合せおよび入れ替えが可能であることを認識できよう。したがって、本発明は、特許請求の範囲の主旨および範囲内に含まれるそのような改変形態、変更形態、および変形形態をすべて包含するものとする。さらに、詳細な説明または特許請求の範囲で用語「〜を含む(includes)」を用いる限りでは、この用語は、請求項で用語「〜を備える(comprising)」が移行句として用いられた場合に解釈されるのと同じように、用語「〜を備える」と同様包括的な意味とする。
本発明の一態様による動的レジストリパーティションシステムのブロック図である。 本発明の一態様による動的レジストリパーティションシステムのブロック図である。 本発明の一態様による動的レジストリパーティションシステムのブロック図である。 本発明の一態様による、動的なレジストリの区分を容易にして複数のレジストリビューをサポートする方法のフローチャートである。 本発明の一態様による、動的パーティションデータストアとインタフェースをとる方法のフローチャートである。 本発明が機能することが可能な例示的動作環境の図である。
符号の説明
100 動的レジストリパーティションシステム
110 インターセプションコンポーネント
120 動的パーティションデータストア
130 システムレジストリ

Claims (15)

  1. 少なくとも1つのアプリケーションとシステムレジストリとに関連付けられたリダイレクション情報を格納する動的パーティションデータストアと、
    前記システムレジストリにアクセスするための要求をアプリケーションから受け取り、前記動的パーティションデータストアに格納されたリダイレクション情報に少なくとも部分的に基づく、前記システムレジストリのカスタマイズされたビューを返す処理をコンピュータに実行させるインターセプションコンポーネントと、
    前記アプリケーションに前記動的パーティションデータストアに格納されたリダイレクション情報の操作を開始する権限があるかどうか判定し、前記アプリケーションに権限がある場合、前記動的パーティションデータストアに格納されたリダイレクション情報の操作を許可する処理をコンピュータに実行させるインタフェースコンポーネントと
    を備えたことを特徴とする動的レジストリパーティションシステム。
  2. 前記カスタマイズされたビューは、バージョン、コンピュータ構成、ユーザ、またはこれらの組み合わせに基づくことを特徴とする請求項1に記載のシステム。
  3. 前記インタフェースコンポーネントは、前記動的パーティションデータストアに格納された前記リダイレクション情報の少なくとも一部の追加、削除、および変更の少なくとも1つを行う要求を受け取ることを特徴とする請求項1に記載のシステム。
  4. 前記リダイレクション情報の少なくとも一部の追加、削除、および変更の少なくとも1つを行う要求は、ソースノード、宛先ノード、および少なくとも1つのプロパティを備えたことを特徴とする請求項3に記載のシステム。
  5. 前記動的パーティションデータストアは、リマッピングテーブルからなることを特徴とする請求項1に記載のシステム。
  6. 前記動的パーティションデータストアは、リダイレクションを行う方式を定義する属性と規則との少なくとも1つからなるセットを備えたことを特徴とする請求項1に記載のシステム。
  7. 記システムレジストリのカスタマイズされたビューをオペレーティングシステムに提供する処理をコンピュータに実行させることを特徴とする請求項1に記載のシステム。
  8. 動的なレジストリの区分を容易にして複数のレジストリビューをサポートする方法であって、
    アプリケーションから送られる、システムレジストリ情報を求める要求をインターセプトするステップと、
    動的パーティションデータストアに格納されたリダイレクション情報に少なくとも部分的に基づく、前記システムレジストリのカスタマイズされたビューを提供するステップであって、前記リダイレクション情報は、少なくとも1つのアプリケーションとシステムレジストリとに関連付けられる、ステップと、
    前記アプリケーションから、前記動的パーティションデータストアに格納されたリダイレクション情報を操作する要求を受け取るステップと、
    前記アプリケーションに前記操作を開始する権限があるかどうか判定するステップと、
    前記アプリケーションに権限がある場合、前記動的パーティションデータストアに格納されたリダイレクション情報の操作を許可するステップと
    を備えることを特徴とする方法。
  9. 前記カスタマイズされたビューは、バージョン、コンピュータ構成、ユーザ、またはこれらの組み合わせに基づくことを特徴とする請求項8に記載の方法。
  10. 前記動的パーティションデータストアに格納された情報を変更する要求を受け取るステップをさらに備えることを特徴とする請求項8に記載の方法。
  11. 前記要求に関連付けられたリダイレクション情報が、前記動的パーティションデータストアに格納されているかどうかを判定するステップと、
    リダイレクション情報が前記動的パーティションデータストアに格納されていない場合、前記システムレジストリに格納された情報に少なくとも部分的に基づく、前記要求に関連付けられた情報を提供するステップと
    をさらに備えることを特徴とする請求項8に記載の方法。
  12. 前記操作は、前記リダイレクション情報の変更であることを特徴とする請求項8に記載の方法。
  13. 前記操作は、前記リダイレクション情報の追加であることを特徴とする請求項8に記載の方法。
  14. 前記操作は、前記リダイレクション情報の削除であることを特徴とする請求項8に記載の方法。
  15. 請求項8乃至14に記載のいずれかの方法を実施するコンピュータ実行可能命令が格納されたことを特徴とするコンピュータ読み取り可能な記録媒体。
JP2004234777A 2003-08-29 2004-08-11 動的なレジストリの区分 Expired - Fee Related JP4993851B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/652,215 2003-08-29
US10/652,215 US7203696B2 (en) 2003-08-29 2003-08-29 Dynamic registry partitioning

Publications (2)

Publication Number Publication Date
JP2005078628A JP2005078628A (ja) 2005-03-24
JP4993851B2 true JP4993851B2 (ja) 2012-08-08

Family

ID=34217585

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004234777A Expired - Fee Related JP4993851B2 (ja) 2003-08-29 2004-08-11 動的なレジストリの区分

Country Status (5)

Country Link
US (1) US7203696B2 (ja)
EP (1) EP1536333A3 (ja)
JP (1) JP4993851B2 (ja)
KR (1) KR101085643B1 (ja)
CN (1) CN100461096C (ja)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8614623B2 (en) * 2008-12-01 2013-12-24 Pascal's Pocket Corporation Personal digital asset manager
US7530064B2 (en) * 2004-09-21 2009-05-05 Hewlett-Packard Development Company, L.P. Method and apparatus for automated registry clean-up
US7853947B2 (en) 2004-09-30 2010-12-14 Citrix Systems, Inc. System for virtualizing access to named system objects using rule action associated with request
US20060069662A1 (en) * 2004-09-30 2006-03-30 Citrix Systems, Inc. Method and apparatus for remapping accesses to virtual system resources
US8095940B2 (en) 2005-09-19 2012-01-10 Citrix Systems, Inc. Method and system for locating and accessing resources
US7680758B2 (en) 2004-09-30 2010-03-16 Citrix Systems, Inc. Method and apparatus for isolating execution of software applications
US8117559B2 (en) * 2004-09-30 2012-02-14 Citrix Systems, Inc. Method and apparatus for virtualizing window information
US8171479B2 (en) * 2004-09-30 2012-05-01 Citrix Systems, Inc. Method and apparatus for providing an aggregate view of enumerated system resources from various isolation layers
US7752600B2 (en) 2004-09-30 2010-07-06 Citrix Systems, Inc. Method and apparatus for providing file-type associations to multiple applications
US7401340B2 (en) * 2004-10-21 2008-07-15 Oracle International Corporation Supporting cross-component references in an object-oriented programming system
US7712086B2 (en) * 2004-12-15 2010-05-04 Microsoft Corporation Portable applications
US20060200861A1 (en) * 2005-03-04 2006-09-07 Dell Products L.P. Robust and fault-tolerant registry for web-enabled information handling devices to protect against "malware"
US7974945B2 (en) * 2005-06-16 2011-07-05 Information Appliance Associates System and method for synchronizing a BlackBerry with a Macintosh
US20070083620A1 (en) * 2005-10-07 2007-04-12 Pedersen Bradley J Methods for selecting between a predetermined number of execution methods for an application program
US20070083610A1 (en) * 2005-10-07 2007-04-12 Treder Terry N Method and a system for accessing a plurality of files comprising an application program
US8131825B2 (en) 2005-10-07 2012-03-06 Citrix Systems, Inc. Method and a system for responding locally to requests for file metadata associated with files stored remotely
KR100706613B1 (ko) * 2005-12-09 2007-04-12 한국전자통신연구원 웹 서비스 공용 레지스트리들간 공유 및 연계를 위한 방법및 이를 위한 서버
US7917487B2 (en) * 2005-12-13 2011-03-29 Microsoft Corporation Portable application registry
US7783763B2 (en) * 2006-06-06 2010-08-24 International Business Machines Corporation Managing stateful data in a partitioned application server environment
US8245035B2 (en) * 2006-06-30 2012-08-14 Microsoft Corporation Merging registry keys
US7865878B2 (en) * 2006-07-31 2011-01-04 Sap Ag Method and apparatus for operating enterprise software from a detachable storage device
US9021464B2 (en) * 2006-08-07 2015-04-28 Netiq Corporation Methods, systems and computer program products for rationalization of computer system configuration change data through correlation with product installation activity
US20080109466A1 (en) * 2006-11-02 2008-05-08 Microsoft Corporation Virtual Deletion In Merged Registry keys
US8190661B2 (en) * 2007-01-24 2012-05-29 Microsoft Corporation Using virtual repository items for customized display
US20080201330A1 (en) * 2007-02-16 2008-08-21 Microsoft Corporation Software repositories
US8145673B2 (en) * 2007-02-16 2012-03-27 Microsoft Corporation Easily queriable software repositories
US7610277B2 (en) * 2007-03-29 2009-10-27 Yahoo! Inc. Method and system for launching a browser
US8171483B2 (en) 2007-10-20 2012-05-01 Citrix Systems, Inc. Method and system for communicating between isolation environments
CN101256578B (zh) * 2008-04-08 2010-06-09 中兴通讯股份有限公司 一种内存数据库的多用户实现方法
US8095963B2 (en) 2008-04-30 2012-01-10 Microsoft Corporation Securing resource stores with claims-based security
US8806426B2 (en) * 2008-06-04 2014-08-12 Microsoft Corporation Configurable partitioning of parallel data for parallel processing
US8473941B2 (en) * 2008-07-08 2013-06-25 Sandisk Il Ltd. Dynamic file system restriction for portable storage devices
US8667512B2 (en) * 2008-10-29 2014-03-04 Qualcomm Incorporated Flexible hierarchical settings registry for operating systems
US8381300B2 (en) 2009-01-26 2013-02-19 Microsoft Corporation Offline extraction of configuration data
US8090797B2 (en) 2009-05-02 2012-01-03 Citrix Systems, Inc. Methods and systems for launching applications into existing isolation environments
US8095571B2 (en) * 2009-06-22 2012-01-10 Microsoft Corporation Partitioning modeling platform data
JP5335622B2 (ja) 2009-08-31 2013-11-06 レノボ・シンガポール・プライベート・リミテッド 設定情報データベースを管理するコンピュータ・プログラム
TWI405090B (zh) * 2010-04-08 2013-08-11 Inventec Corp 嵌入式的搜尋系統及其方法
KR101105946B1 (ko) * 2010-06-08 2012-01-18 엔에이치엔(주) 버스를 이용한 컴포넌트 추가 방법 및 시스템
US8725765B2 (en) * 2010-07-16 2014-05-13 Red Hat, Inc. Hierarchical registry federation
CN103019674B (zh) * 2012-11-15 2016-09-28 北京奇虎科技有限公司 注册表重定向方法和装置
CN104063234B (zh) * 2013-03-19 2017-06-27 华为技术有限公司 一种兼容方法及装置
US8756614B2 (en) 2013-06-05 2014-06-17 Splunk Inc. Central registry for binding features using dynamic pointers
US10061626B2 (en) 2013-06-05 2018-08-28 Splunk Inc. Application framework providing a registry for mapping names to component instances
US9594545B2 (en) * 2013-06-05 2017-03-14 Splunk Inc. System for displaying notification dependencies between component instances
CN106202109A (zh) * 2015-05-07 2016-12-07 阿里巴巴集团控股有限公司 一种创建用户分区的方法和装置
US10387209B2 (en) * 2015-09-28 2019-08-20 International Business Machines Corporation Dynamic transparent provisioning of resources for application specific resources
US9912783B2 (en) * 2016-01-29 2018-03-06 Veritas Technologies Llc Securing internal services in a distributed environment
US10972950B2 (en) * 2018-07-20 2021-04-06 Qualcomm Incorporated Methods and apparatus for handover enhancements
CN111026371B (zh) * 2019-12-11 2023-09-29 上海米哈游网络科技股份有限公司 一种游戏开发方法、装置、电子设备及存储介质
CN112379939B (zh) * 2020-11-10 2023-05-05 杭州万高科技股份有限公司 嵌入式操作系统数据动态加载实现方法、系统、存储介质
CN113744440B (zh) * 2021-09-03 2023-04-07 建信金融科技有限责任公司 一种基于场景的门禁准入方法、装置、介质和设备

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5903753A (en) 1995-08-18 1999-05-11 International Business Machines Corporation Name space registry with backward compatibility for older applications
US6460058B2 (en) 1996-12-06 2002-10-01 Microsoft Corporation Object-oriented framework for hyperlink navigation
US5884078A (en) * 1997-01-31 1999-03-16 Sun Microsystems, Inc. System, method and article of manufacture for creating an object oriented component having multiple bidirectional ports for use in association with a java application or applet
US6134540A (en) * 1997-05-09 2000-10-17 International Business Machines Corporation System, method, and program for applying query rewrite technology to object building
US6163855A (en) 1998-04-17 2000-12-19 Microsoft Corporation Method and system for replicated and consistent modifications in a server cluster
US6360331B2 (en) * 1998-04-17 2002-03-19 Microsoft Corporation Method and system for transparently failing over application configuration information in a server cluster
US6185734B1 (en) * 1998-07-21 2001-02-06 Hewlett-Packard Company Hierarchical registry structure for managing multiple versions of software components
US6381735B1 (en) 1998-10-02 2002-04-30 Microsoft Corporation Dynamic classification of sections of software
US6763370B1 (en) * 1998-11-16 2004-07-13 Softricity, Inc. Method and apparatus for content protection in a secure content delivery system
US6301710B1 (en) * 1999-01-06 2001-10-09 Sony Corporation System and method for creating a substitute registry when automatically installing an update program
US6374401B1 (en) * 1999-03-29 2002-04-16 International Business Machines Corporation System, method, and program for updating registry objects with a cross-platform installation program
US6578045B1 (en) 1999-04-20 2003-06-10 Microsoft Corporation System and method for retrieving registry data
US6917958B1 (en) * 1999-04-26 2005-07-12 International Business Machines Corporation Method and apparatus for dynamic distribution of system file and system registry changes in a distributed data processing system
US6347331B1 (en) 1999-04-26 2002-02-12 International Business Machines Corporation Method and apparatus to update a windows registry from a hetrogeneous server
US6430556B1 (en) * 1999-11-01 2002-08-06 Sun Microsystems, Inc. System and method for providing a query object development environment
US6567977B1 (en) 1999-11-15 2003-05-20 Intel Corporation Method and apparatus for software program installation preview directed to system software
US6550061B1 (en) * 1999-12-02 2003-04-15 Dell Usa, L.P. System and method for modifying configuration files in a secured operating system
AU2001245426A1 (en) 2000-03-03 2001-09-17 Lawrence R. Jones Picture communications system and associated network services
US6779179B1 (en) * 2000-03-20 2004-08-17 Exent Technologies, Inc. Registry emulation
WO2001067379A2 (en) * 2000-03-09 2001-09-13 Exent Technologies, Inc. Registry emulation
US6567826B1 (en) 2000-06-23 2003-05-20 Microsoft Corporation Method and system for repairing corrupt files and recovering data
US7043524B2 (en) * 2000-11-06 2006-05-09 Omnishift Technologies, Inc. Network caching system for streamed applications
US6959320B2 (en) * 2000-11-06 2005-10-25 Endeavors Technology, Inc. Client-side performance optimization system for streamed applications
US6918113B2 (en) * 2000-11-06 2005-07-12 Endeavors Technology, Inc. Client installation and execution system for streamed applications
US20020083183A1 (en) * 2000-11-06 2002-06-27 Sanjay Pujare Conventionally coded application conversion system for streamed delivery and execution
US6970888B1 (en) * 2001-02-23 2005-11-29 Oracle International Corporation Method and system for object linking
US6920555B1 (en) * 2001-03-10 2005-07-19 Powerquest Corporation Method for deploying an image into other partition on a computer system by using an imaging tool and coordinating migration of user profile to the imaged computer system
US7028305B2 (en) * 2001-05-16 2006-04-11 Softricity, Inc. Operating system abstraction and protection layer
JP2003216433A (ja) * 2002-01-24 2003-07-31 Takaoka Electric Mfg Co Ltd コンピュータネットワークシステム、サーバ、ネットワーク用端末装置及びプログラム
US6892326B2 (en) * 2002-03-22 2005-05-10 Microsoft Corporation Systems and methods for monitoring object activity through an external agent using a proxy object
US20040015556A1 (en) * 2002-05-10 2004-01-22 Renu Chopra Software-based process/issue management system
US7117495B2 (en) * 2002-06-12 2006-10-03 Altiris, Inc. Systems and methods for the creation of software packages using layered systems
US7302439B2 (en) * 2002-06-28 2007-11-27 Sun Microsystems, Inc. Information model mapping with shared directory tree representations
US7930215B2 (en) * 2002-07-31 2011-04-19 Truecontext Corporation Contextual computing system
US8032860B2 (en) * 2003-02-26 2011-10-04 Oracle International Corporation Methods for type-independent source code editing

Also Published As

Publication number Publication date
CN1601465A (zh) 2005-03-30
CN100461096C (zh) 2009-02-11
EP1536333A3 (en) 2005-11-30
KR101085643B1 (ko) 2011-11-22
EP1536333A2 (en) 2005-06-01
KR20050022304A (ko) 2005-03-07
US7203696B2 (en) 2007-04-10
JP2005078628A (ja) 2005-03-24
US20050050084A1 (en) 2005-03-03

Similar Documents

Publication Publication Date Title
JP4993851B2 (ja) 動的なレジストリの区分
US6523166B1 (en) Method and system for on-demand installation of software implementations
US6323865B1 (en) Automatic font management within an operating system environment
US9009720B2 (en) Method and system for communicating between isolation environments
EP0737919B1 (en) Method and system for providing interoperability among processes written to execute on different operating systems
CN109614165B (zh) 一种com组件的多版本并行运行方法和装置
US9219740B2 (en) Access control system and method
US5903753A (en) Name space registry with backward compatibility for older applications
US6327705B1 (en) Method for creating and maintaining user data
JP4286798B2 (ja) ハードドライブにドライバファイルをインストールする方法、コンピュータ及びコンピュータ読取可能な記憶媒体
US8312459B2 (en) Use of rules engine to build namespaces
JPH11327919A (ja) オブジェクト指向割込みシステム用の方法およびデバイス
JP2000508104A (ja) 分散コンピュータ・システムにおいて資源を保護する方法
JP2009059349A (ja) 共用型ジャバjarファイル
WO2002075531A1 (en) Method for loading and executing an application in an embedded environment
US7996841B2 (en) Building alternative views of name spaces
US8230403B2 (en) Typed-data translation for platform independence
US7167872B2 (en) Efficient file interface and method for providing access to files using a JTRS SCA core framework
US7406676B2 (en) Access redirector and entry reflector
US7418713B2 (en) Component processing system and component processing method
US20060253858A1 (en) Software service application and method of servicing a software application
US10325003B2 (en) Configuration resolution for transitive dependencies
US7185027B2 (en) Evolving entries within persistent stores in a scalable infrastructure environment
KR20010040981A (ko) 스택에 기초한 보안 조건
US20080320034A1 (en) Method for client management of jmx mbean state

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110201

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110502

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110701

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120411

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

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

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

Free format text: PAYMENT UNTIL: 20150518

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

LAPS Cancellation because of no payment of annual fees