(57)【要約】オペレーティングシステムオプション価値を管理するための方法が、要求を受信して、コンピュータデバイスにおいてオプション価値を含む関数を実行する過程を含む。コンピュータデバイスは複数のコンピュータデバイスのうちの１つであり、複数のコンピュータデバイスのうちの少なくとも２つは、異なるオペレーティングシステムと対応付けられる。この方法はまた、所要の関数と対応付けられる、１つ以上のコマンドを識別する過程を含む。１つ以上のコマンドは、コンピュータデバイスに所要の関数を実行させるように動作可能である。この方法は、１つ以上のコマンドを生成する過程と、コンピュータデバイスで実行するための１つ以上のコマンドを伝達する過程と、１つ以上のコマンドと対応付けられる応答を受信する過程と、応答の少なくとも一部を利用可能にする過程と、をさらに含む。
2005523513.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティングシステムオプション価値を管理するための方法であって、
要求を受信して、コンピュータデバイスにおいてオプション価値を含む関数を実行する過程であって、前記コンピュータデバイスは複数のコンピュータデバイスのうちの１つを備え、前記複数のコンピュータデバイスのうちの少なくとも２つは、異なるオペレーティングシステムと対応付けられる過程と、
所要の関数と対応付けられる、１つ以上のコマンドを識別する過程であって、前記１つ以上のコマンドは、前記コンピュータデバイスに前記所要の関数を実行させるように動作可能である過程と、
前記１つ以上のコマンドを生成する過程と、
前記コンピュータデバイスで実行するための前記１つ以上のコマンドを伝達する過程と、
前記１つ以上のコマンドと対応付けられる応答を受信する過程と、
前記応答の少なくとも一部を利用可能にする過程と、
を含む方法。
【請求項２】
前記１つ以上のコマンドを識別する過程が、
前記要求と対応付けられる前記コンピュータデバイスを識別する過程と、
前記コンピュータデバイスの識別を用いて、前記１つ以上のコマンドを識別する過程と、
を含む、請求項１に記載の方法。
【請求項３】
前記コンピュータデバイスの識別を用いて、前記１つ以上のコマンドを識別する過程が、
前記コンピュータデバイスと対応付けられる前記オペレーティングシステムを識別する過程と、
前記識別したオペレーティングシステムを用いて、前記１つ以上のコマンドを識別する過程と、
を含む、請求項２に記載の方法。
【請求項４】
前記１つ以上のコマンドを生成する過程が、１つ以上のパラメータに対する値を前記識別したコマンドに挿入する過程を含む、請求項１に記載の方法。
【請求項５】
前記要求を受信する過程が、アプリケーションプログラムインタフェース（ＡＰＩ）関数呼出しを受信する過程を含む、請求項１に記載の方法。
【請求項６】
前記ＡＰＩ関数呼出しが、取得関数、集合関数、および削除関数のうちの１つを呼び出す、請求項５に記載の方法。
【請求項７】
前記１つ以上のコマンドが、レジストリＡＰＩ関数呼出しおよびレジストリエミュレータコマンドのうちの少なくとも１つを含む、請求項５に記載の方法。
【請求項８】
前記応答が前記オプション価値を含み、
前記オプション価値を利用可能にする過程が、
前記オプション価値を正規化する過程と、
前記正規化オプション価値を出力バッファに入力する過程と、
を含む、請求項１に記載の方法。
【請求項９】
前記コンピュータデバイスが局所コンピュータデバイスまたは遠隔コンピュータデバイスを備える、請求項１に記載の方法。
【請求項１０】
前記要求がソフトウェアアプリケーションによって生成される、請求項１に記載の方法。
【請求項１１】
前記オプション価値がユーザパスワードを含む、請求項１に記載の方法。
【請求項１２】
オペレーティングシステムオプション価値を管理するためのシステムであって、
複数のコマンドセットを格納するように動作可能であるメモリであって、各コマンドセットは、複数のコンピュータデバイスのうちの少なくとも１つに、オプション価値を含む関数を実行させるように動作可能である、１つ以上のコマンドを含み、前記コマンドセットのうちの少なくとも２つが、異なるオペレーティングシステムを使用するコンピュータデバイスと対応付けられるメモリと、
要求を受信して、前記関数を選択したコンピュータデバイスにおいて実行し、
前記所要の関数と対応付けられる前記コマンドセットを識別し、前記識別したコマンドセットの前記１つ以上のコマンドは、前記選択したコンピュータデバイスに前記所要の関数を実行させるように動作可能であり、
前記１つ以上のコマンドを前記識別したコマンドセットで生成し、
前記選択したコンピュータデバイスで実行するための前記１つ以上のコマンドを伝達し、
前記１つ以上のコマンドと対応付けられる応答を受信し、そして
前記応答の少なくとも一部を利用可能にするように一括して動作可能である、１つ以上のプロセッサと、
を備えるシステム。
【請求項１３】
前記１つ以上のプロセッサが、
前記選択したコンピュータデバイスを識別し、そして
前記コンピュータデバイスの識別を用いて前記コマンドセットを識別することよって、
前記コマンドセットを識別するように一括して動作可能である、請求項１２に記載のシステム。
【請求項１４】
前記１つ以上のプロセッサが、
前記識別したコンピュータデバイスと対応付けられる前記オペレーティングシステムを識別し、そして
前記識別したオペレーティングシステムを用いて前記コマンドセットを識別することよって、
前記コンピュータデバイスの識別を用いて、前記コマンドセットを識別するように一括して動作可能である、請求項１３に記載のシステム。
【請求項１５】
前記１つ以上のプロセッサが、前記１つ以上のパラメータに対する値を前記識別したコマンドに挿入することによって、前記１つ以上のコマンドを生成するように一括して動作可能である、請求項１２に記載のシステム。
【請求項１６】
前記１つ以上のプロセッサが、アプリケーションプログラムインタフェース（ＡＰＩ）関数呼出しを受信することによって、前記要求を受信するように一括して動作可能である、請求項１２に記載のシステム。
【請求項１７】
前記ＡＰＩ関数呼出しが、取得関数、集合関数、および削除関数のうちの１つを呼び出す、請求項１６に記載のシステム。
【請求項１８】
前記１つ以上のコマンドが、レジストリＡＰＩ関数呼出しおよびレジストリエミュレータコマンドのうちの少なくとも１つを含む、請求項１６に記載のシステム。
【請求項１９】
前記応答が前記オプション価値を含み、
前記１つ以上のプロセッサが、
前記オプション価値を正規化し、そして
前記正規化オプション価値を出力バッファに入力することよって、
前記オプション価値を利用可能にするように一括して動作可能である、請求項１２に記載のシステム。
【請求項２０】
オペレーティングシステムオプション価値を管理するためのソフトウェアであって、少なくとも１つのコンピュータ可読媒体に包含され、１つ以上のプロセッサによって実行される場合、
要求を受信して、コンピュータデバイスにおいてオプション価値を含む関数を実行し、前記コンピュータデバイスは複数のコンピュータデバイスのうちの１つを備え、前記複数のコンピュータデバイスのうちの少なくとも２つは、異なるオペレーティングシステムと対応付けられ、
前記所要の関数と対応付けられる１つ以上のコマンドを識別し、前記１つ以上のコマンドは、前記コンピュータデバイスに前記所要の関数を実行させるように動作可能であり、
前記１つ以上のコマンドを生成し、
前記コンピュータデバイスで実行するための前記１つ以上のコマンドを伝達し、
前記１つ以上のコマンドと対応付けられる応答を受信し、そして
前記応答の少なくとも一部を利用可能にするように動作可能であるソフトウェア。
【請求項２１】
前記ソフトウェアが、
前記選択したコンピュータデバイスを識別し、そして
前記コンピュータデバイスの識別を用いて前記１つ以上のコマンドを識別することよって、
前記１つ以上のコマンドを識別するように動作可能である、請求項２０に記載のソフトウェア。
【請求項２２】
前記ソフトウェアが、
前記識別したコンピュータデバイスと対応付けられる前記オペレーティングシステムを識別し、そして
前記識別したオペレーティングシステムを用いて前記１つ以上のコマンドを識別することよって、
前記コンピュータデバイスの識別を用いて前記１つ以上のコマンドを識別するように動作可能である、請求項２１に記載のソフトウェア。
【請求項２３】
前記ソフトウェアが、１つ以上のパラメータに対する値を前記識別したコマンドに挿入することによって、前記１つ以上のコマンドを生成するように動作可能である、請求項２０に記載のソフトウェア。
【請求項２４】
前記ソフトウェアが、アプリケーションプログラムインタフェース（ＡＰＩ）関数呼出しを受信することによって、前記要求を受信するように動作可能である、請求項２０に記載のソフトウェア。
【請求項２５】
前記ＡＰＩ関数呼出しが、取得関数、集合関数、および削除関数のうちの１つを呼び出す、請求項２４に記載のソフトウェア。
【請求項２６】
前記１つ以上のコマンドが、レジストリＡＰＩ関数呼出しおよびレジストリエミュレータコマンドのうちの少なくとも１つを含む、請求項２４に記載のソフトウェア。
【請求項２７】
前記応答が前記オプション価値を含み、
前記ソフトウェアが、
前記オプション価値を正規化し、そして
前記正規化オプション価値を出力バッファに入力することよって、
前記オプション価値を利用可能にするように動作可能である、請求項２０に記載のソフトウェア。
【請求項２８】
オペレーティングシステムオプション価値にアクセスするための方法であって、
要求を伝達して、オプション価値を含む関数を実行する過程であって、前記オプション価値はコンピュータデバイス内にあり、前記コンピュータデバイスは複数のコンピュータデバイスのうちの１つを備え、前記複数のコンピュータデバイスのうちの少なくとも２つは、異なるオペレーティングシステムと対応付けられる過程と、
応答を受信する過程であって、前記応答は前記コンピュータデバイスからの正規化データを含む過程と、
を含む方法。
【請求項２９】
前記要求が、アクセス要素に伝達されるアプリケーションプログラムインタフェース（ＡＰＩ）関数呼出しを含み、前記ＡＰＩ関数呼出しは、前記アクセス要素内の取得関数、集合関数、および削除関数のうちの１つを呼び出す、請求項２８に記載の方法。
【請求項３０】
前記アクセス要素が、前記所要の関数と対応付けられる１つ以上のコマンドを識別するように動作可能であり、前記１つ以上のコマンドは、前記コンピュータデバイスに前記所要の関数を実行させるように動作可能であり、前記１つ以上のコマンドは、レジストリＡＰＩ関数呼出しおよびレジストリエミュレータコマンドのうちの少なくとも１つを含む、請求項２９に記載の方法。
【請求項３１】
前記応答を受信する過程が、前記応答を含む出力バッファにアクセスし、前記応答を前記出力バッファから検索する過程を含む、請求項２８に記載の方法。
【請求項３２】
前記応答が正規化書式の前記オプション価値を含む、請求項２８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般にオペレーティングシステムの分野に関し、より詳細にはオペレーティングシステムオプション価値(operating system option values)を管理するためのシステムおよび方法に関する。
【背景技術】
【０００２】
コンピュータオペレーティングシステムは、通常、オペレーティングシステムで実行するソフトウェアアプリケーションと対応付けられる情報を格納するレジストリを含む。例えば、システムレジストリが、ソフトウェアアプリケーションの挙動を制御するオプション価値を格納することができる。他のコンピュータオペレーティングシステムはシステムレジストリを備えておらず、オプション価値は他のデータ構造に格納される。オペレーティングシステムには、通常、オプション価値にアクセスし、検索するための標準の一様な方法がない。結果として、様々なオペレーティングシステム環境で実行するアプリケーションが、通常、オプション価値にアクセスし、検索するための複数のインタフェースを含む。
【発明の開示】
【課題を解決するための手段】
【０００３】
概要
本開示は、オペレーティングシステムオプション価値を管理するためのシステムおよび方法を提供する。具体的に言えば、システム内のアクセス要素が、様々なオペレーティングシステムでオプション価値を格納し、検索し、そして変更するための入口の単一ポイントを与える。
【０００４】
一実施形態において、オペレーティングシステムオプション価値を管理するための方法が、要求を受信して、コンピュータデバイスにおいてオプション価値を含む関数を実行する過程を含む。コンピュータデバイスは複数のコンピュータデバイスのうちの１つであり、複数のコンピュータデバイスのうちの少なくとも２つは、異なるオペレーティングシステムと対応付けられる。この方法はまた、所要の関数と対応付けられる、１つ以上のコマンドを識別する過程を含む。１つ以上のコマンドは、コンピュータデバイスに所要の関数を実行させるように動作可能である。この方法は、１つ以上のコマンドを生成する過程と、コンピュータデバイスで実行するための１つ以上のコマンドを伝達する過程と、１つ以上のコマンドと対応付けられる応答を受信する過程と、応答の少なくとも一部を利用可能にする過程と、をさらに含む。
【０００５】
特定の実施形態において、この要求は、取得関数、集合関数、および削除関数のうちの１つを呼び出す、アプリケーションプログラムインタフェース（ＡＰＩ）関数呼出しを含む。この要求はソフトウェアアプリケーションによって生成される。この方法はまた、コンピュータデバイスによって検索されるオプション価値を正規化する過程と、正規化オプション価値を出力バッファに入力する過程と、を含む。
【０００６】
ここで、本開示をより完全に理解するために、添付図面と併せて以下の説明を参照する。
【発明を実施するための最良の形態】
【０００７】
実施形態例の詳細な説明
図１は、本開示の一実施形態による、オペレーティングシステムオプション価値を管理するためのシステムの例１００を示す、例示的なブロック図である。図示した実施形態において、システム１００は、管理サーバ１０２、データベース１０４、ネットワーク１０６、１つ以上のクライアント１０８、および１つ以上のアプリケーションサーバ１１０を含む。システム１００の他の実施形態が、本開示の範囲から逸脱せずに使用される。
【０００８】
演算の１つのアスペクトにおいて、サーバ１０２内のアプリケーション１１２が、サーバ１１０内のオプション価値にアクセスしようと試みる。サーバ１１０内のオプション価値は、レジストリ１１４に、レジストリエミュレータ１１６に、またはその他の適当な構造にある。様々なサーバ１１０が様々なオペレーティングシステムを使用するので、サーバ１１０はオプション価値にアクセスするための様々な手順を有する。オプション価値にアクセスする際にアプリケーション１１２を補助するために、アプリケーション１１２はオプションアクセスモジュール１１８内の関数を呼び出す。オプションアクセスモジュール１１８はアプリケーション１１２から情報を受信し、その情報に基づいて、適切な関数呼出しを用いて適切なサーバ１１０にアクセスする。次いでオプションアクセスモジュール１１８は、サーバ１１０内でオプション価値を生成し、検索し、または変更する。オプションアクセスモジュール１１８をシステム１００内に設けることによって、アプリケーション１１２は、オプションアクセスモジュール１１８の関数を呼び出すことによって、オプション価値にアクセスするように容易に設計され得る。アプリケーション１１２は、複数のサーバ１１０内のオプション価値にアクセスするための複数のインタフェースを含む必要がなく、これは様々なオペレーティングシステムを使用している。
【０００９】
図示した実施形態において、サーバ１０２はデータベース１０４およびネットワーク１０６と結合される。本明細書において、用語「結合」は、２つ以上の構成要素が互いに物理的に接触していても接触していなくても、それらの構成要素間の任意の直接または間接の通信を示している。また、用語「通信」は、物理的に分離した構成要素間、または単一の物理装置内の構成要素間の通信を示している。サーバ１０２は、サーバ１１０内のオプション価値へのアクセスを容易にする、１つ以上の関数を実行する。本明細書において、熟語「オプション価値」は、システム１００内の１つ以上のハードウェア、ソフトウェア、および／またはファームウェア構成要素の関数、実行、または挙動を制御するか、または別の方法で影響を及ぼすために使用される任意の情報を示している。特定の例として、オプション価値は、サーバ１１０内のアプリケーションおよびデータへのアクセスを制御する、ソフトウェアアプリケーションまたはユーザパスワードによって使用される設定を含む。サーバ１０２は、サーバ１１０内のオプション価値へのアクセスを容易にするように動作可能である、任意のハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せを含む。
【００１０】
データベース１０４はサーバ１０２に結合される。データベース１０４は、サーバ１０２によって使用される情報を格納し、それの検索を容易にする。例えば、データベース１０４はアクセス情報１２０を格納する。アクセス情報１２０は、サーバ１１０内のオプション価値にアクセスするためにアクセス制御モジュール１１８によって使用される情報を表わす。特定の例として、アクセス情報１２０は、サーバ１１０と、そのサーバ１１０内のオプション価値を取得し、設定し、そして削除するために使用される関数呼出しと、を識別することもあり得る。別の例として、アクセス情報１２０は、サーバ１１０と、オペレーティングシステムのタイプにおけるオプション価値を取得し、設定し、そして削除するために使用される関数呼出しと、に関連する、オペレーティングシステムタイプを識別することもあり得る。データベース１０４は、情報を格納し、それの検索を容易にするように動作可能である、任意のハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せを含む。また、データベース１０４は、さまざまなデータ構造、配列、およびコンパイルのいずれかを使用して、情報を格納し、それの検索を容易にする。
【００１１】
ネットワーク１０６はサーバ１０２およびクライアント１０８に結合される。ネットワーク１０６はシステム１００の構成要素間の通信を容易にする。例えば、ネットワーク１０６は、インターネットプロトコル（ＩＰ）パケット、フレームリレーフレーム、非同期転送モード（ＡＴＭ）セル、または他の適当な情報をネットワークアドレス間で通信する。ネットワーク１０６は、１つ以上のローカルエリアネットワーク（ＬＡＮ）、都市圏ネットワーク（ＭＡＮ）、広域ネットワーク（ＷＡＮ）、インターネットのような大域ネットワークの全てまたは一部、あるいはその他の通信システムを１つ以上の位置で含む。
【００１２】
クライアント１０８はネットワーク１０６に結合される。クライアント１０８は、システム１００内でさまざまな関数のいずれも実行する。例えば、クライアント１０８は、ユーザがサーバ１１０にアクセスし、そのサーバ１１０でアプリケーションを実行することを可能にすることもあり得る。クライアント１０８は、ブラウザ１２２、クライアントアプリケーション１２４を用いて、またはその他の適当な方法でサーバ１１０にアクセスする。クライアント１０８は、サーバ１１０と通信するように動作可能である、任意のハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せを含む。
【００１３】
サーバ１１０はネットワーク１０６に結合される。サーバ１１０は、１つ以上のオプション価値を格納するように動作する、任意の適当なサーバまたは他のコンピュータデバイスを表す。例えば、サーバ１１０は１つ以上のアプリケーションを実行し、そしてそこでオプション価値は、アプリケーションへのアクセスを管理するユーザアカウントにおけるパスワードを表す。各サーバ１１０はオペレーティングシステムを用いて実行し、１つのサーバ１１０によって使用されるオペレーティングシステムは、別のサーバ１１０によって使用されるオペレーティングシステムと異なる。本明細書において、用語「各々」は識別された項目の少なくとも部分集合の各々を示している。特定の例として、サーバ１１０は、ウィンドウズ（ＷＩＮＤＯＷＳ）ＮＴオペレーティングシステム、ＵＮＩＸオペレーティングシステム、またはジャバ（Ｊａｖａ）をベースとするオペレーティングシステムを用いて実行する。
【００１４】
オペレーティングシステムに応じて、サーバ１１０はオプション価値をレジストリに格納したり、格納しなかったりする。例えば、ウィンドウズＮＴオペレーティングシステムはシステムレジストリ１１４を支援する。ＵＮＩＸオペレーティングシステムは固有システムレジストリを支援しないし、ジャバ環境はレジストリデータに対する支援を全く含まない。これらの環境において、システムレジストリの挙動をエミュレートするエミュレータ１１６が設けられる。サーバ１１０は、１つ以上のオプション価値を管理するように動作可能である、任意のハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せを備える。
【００１５】
図示した例において、サーバ１０２はプロセッサ１２６およびメモリ１２８を含む。プロセッサ１２６は命令を実行し、データを処理して、サーバ１０２の演算を実行する。図１は単一プロセッサ１２６をサーバ１０２内に示すけれども、複数のプロセッサ１２６が特定の必要性に従って使用される。メモリ１２８はプロセッサ１２６によって使用される情報を格納し、それの検索を容易にして、サーバ１０２の関数を実行する。メモリ１２８は、例えば、プロセッサ１２６によって実行される命令、およびプロセッサ１２６によって使用されるデータを格納する。メモリ１２８は、情報を格納し、それの検索を容易にするように動作可能である、任意のハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せを含む。
【００１６】
図示した実施形態において、アプリケーション１１２は、ウェブサーバ１３０、１つ以上のサーブレット１３２、および管理者１３４に細分される。この例において、アプリケーション１１２は、システム管理責任者または他のユーザによって使用されて、システム１００の１つ以上のアスペクトを管理し得る管理ツールを表す。例えば、アプリケーション１１２はエンドユーザ管理を支援することもあり、そしてそこではユーザアカウントが、サーバ１１０のような種々の環境において生成、変更、または削除され得る。このエンドユーザ管理の一部として、アプリケーション１１２はオプションアクセスモジュール１１８を使用して、サーバ１１０にアクセスし、サーバ１１０の各々においてユーザのパスワードと同期する。これは単に、オプションアクセスモジュール１１８が動作する環境の例を表す。アクセスモジュール１１８はその他の適当な環境で使用され、本開示の範囲を逸脱せずに、その他のオプション価値にアクセスすることもあり得る。
【００１７】
この実施形態例において、ウェブサーバ１３０は、サーバ１０２が、クライアント１０８におけるシステム管理責任者のような、ユーザと通信し、かつウェブページに含まれる情報を交換することを可能にする。例えば、システム管理責任者は新しいユーザを追加することを望み、ウェブサーバ１３０は、システム管理責任者が新しいユーザに関する情報を入力することを可能にする形を含む、ウェブページを生成することもあり得る。
【００１８】
サーブレット１３２は、システム１００における多種多様の関数を実施するために、サーバ１０２によって実行されるアプレットを表す。例えば、１つのサーブレット１３２が、ＩＰアドレスを有するシステム１００における任意の構成要素、ならびにこれらの構成要素に含まれる任意のアプリケーション、ディレクトリ、およびユーザアカウントを発見することもあり得る。各構成要素、アプリケーション、ディレクトリ、およびユーザアカウントは、オブジェクト１２２として格納され、オブジェクト１２２は、データベース１０４または別のオブジェクトリポジトリに格納される。この情報は、例えば、アプリケーション１１２が、システム１００内の様々な構成要素で動作する、種々の機密保護システムを発見し、かつそれを制御することを可能にする。他のサーブレット１３２が、ユーザが、新しいユーザアカウントをそれらの構成要素内で生成し、ユーザロールを生成し、ユーザをロールに割り当て、ユーザグループを生成し、管理し、そしてシステム１００のトポロジまたは他のアスペクトを示す、種々のマップを生成することを可能にすることもあり得る。
【００１９】
管理者１３４がアプリケーション１１２の動作を管理する。例えば、管理者１３４はシステム管理責任者または他のユーザから要求を受信して、特定のタスクを実行する。管理者１３４は、タスクと関連するサーブレット１３２を識別し、サーブレット１３２を呼び出し、そしてサーブレット１３２が巧く実行されることを確かにする。
【００２０】
アプリケーション１１２の図示した実施形態は、例示するだけのためのものである。その他の適当なアプリケーション１１２がシステム１００で使用され得る。アプリケーション１１２は、サーバ１１０または他のコンピュータデバイス内のオプション価値を含む関数を実行するように動作可能である、任意のハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せを含む。アプリケーション１１２は、例えば、Ｃ、Ｃ＋＋、またはジャバアプリケーションを表す。
【００２１】
オプションアクセスモジュール１１８は、アプリケーション１１２が、サーバ１１０内でオプション価値を含む演算を実行することを可能にする。例として、オプションアクセスモジュール１１８は、サーバ１１０内のオプション価値をアクセスし、検索し、そして変更するための１つ以上の関数を含む。アプリケーション１１２は、ＡＰＩまたは他の適当なインタフェースを通して、オプションアクセスモジュール１１８の関数を呼び出す。オプションアクセスモジュール１１８はアクセス情報１２０を使用して、所要の関数を実行するために使用される適切な関数を識別し、生成する。オプションアクセスモジュール１１８は、１つ以上のオペレーティングシステムを用いて動作するコンピュータデバイス内のオプション価値へのアクセスを容易にするように動作する、任意のハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せを備える。特定の例として、オプションアクセスモジュール１１８は、プロセッサ１２６によって実行される１つ以上のソフトウェアルーチンを表す。オプションアクセスモジュールの一実施形態例が図３に示され、これは以下に説明される。
【００２２】
特定の実施形態において、アプリケーション１１２は、オプションアクセスモジュール１１８内の少なくとも３つのタイプの関数を呼び出しできる。この実施形態において、関数呼出しは取得、集合、および削除を含む。取得関数は１つ以上のオプション価値を検索し、集合関数はある値をあるオプションに割り当て、削除関数はオプション価値を除去する。アプリケーション１１２からの関数呼出しが、任意の適当な情報を含む。例えば、呼出しは、サーバ１１０あるいは他の遠隔または局所コンピュータデバイスを識別する情報、そのサーバ１１０の構成要素（例えば、アプリケーションまたはディレクトリ）、および／またはオプションと関連する値を含む。他または追加の関数および関数呼出しが特定の必要性に従って支援され得る。
【００２３】
演算の１つのアスペクトにおいて、アプリケーション１１２は、サーバ１１０内のオプション価値にアクセスする必要がある。アプリケーション１１２は、例えば、ＡＰＩを用いてオプションアクセスモジュール１１８内の関数を呼び出すことによって、オプションアクセスモジュール１１８を呼び出す。オプションアクセスモジュール１１８は、アプリケーション１１２がアクセスすることを望む、サーバ１１０またはサーバ１１０のタイプを識別し、適切なアクセス情報１２０を検索し、そしてアクセス情報１２０を用いてサーバ１１０内のオプション価値にアクセスする。アプリケーション１１２がオプション価値の検索を要求する場合、オプションアクセスモジュール１１８はオプション価値を検索し、値を標準書式にすることによってオプション価値を正規化し、そして値をアプリケーション１１２へ伝達する。アプリケーション１１２が、オプションアクセスモジュール１１８を通して、オプション価値にアクセスすることを可能にすることによって、アプリケーション１１２は、サーバオペレーティングシステムの各タイプにおいて、オプション価値にアクセスするようにプログラムされる必要はない。
【００２４】
図１はオペレーティングシステムオプション価値を管理するためのシステム１００の一例を示すけれども、種々の変更がシステム１００に行い得る。例えば、図１は、オプションアクセスモジュール１１８が動作する環境の一例を示すのに対して、その他の適当な環境が使用され得る。また、図１に示したアプリケーション１１２は例として示しただけである。その他の適当なアプリケーションが、オプションアクセスモジュール１１８とともに使用され得る。さらに、図１はアプリケーション１１２およびオプションアクセスモジュール１１８を別個の要素として示すけれども、オプションアクセスモジュール１１８は、アプリケーション１１２の一部を形成することもあり得る。その上、オプションアクセスモジュール１１８は、サーバ１１０内のオプション価値へのアクセスを容易にするとして説明された。オプションアクセスモジュール１１８はまた、ネットワーク１０６に結合される他のコンピュータデバイスのような、他の構成要素内のオプション価値へのアクセスを容易にするために使用されることもあり得る。
【００２５】
図２は、本開示の一実施形態による、オペレーティングシステムオプション価値を管理するためのシステム２００の別の例を示す、例示的なブロック図である。図示した実施形態において、システム２００は、アプリケーション２１２およびオプションアクセスモジュール２１８を有するホストコンピュータ２５０を含む。
【００２６】
図示した実施形態において、ホスト２５０は、よく知られているＭＳ−ＤＯＳ、ＰＣ−ＤＯＳ、ＯＳ−２、ＭＡＣ−ＯＳ、ＷＩＮＤＯＷＳ、ＵＮＩＸ、ＬＩＮＵＸ、または他の適切なオペレーティングシステムのいずれかを用いて実行する。ホスト２５０は、デスクトップコンピュータ、ラップトップコンピュータ、サーバコンピュータ、あるいは他の適当なコンピュータまたは通信デバイスを表すこともあり得る。ホスト２５０は、入力機構２５２、出力機構２５４、１つ以上のプロセッサ２５６、ランダムアクセスメモリ（ＲＡＭ）２５８、読出し専用メモリ（ＲОＭ）２６０、およびＣＤ、ＤＶＤ、ハードドライブ、あるいは他の磁気または光学記憶装置２６２を含む。入力機構２５２は、例えば、キーボード、マウス、タブレット、タッチスクリーン、感圧パッド、ジョイステック、ライトペン、マイク、または他の適当な入力機構を含む。出力機構２５４は、例えば、ビデオディスプレイ、プリンタ、ディスクドライブ、プロッタ、スピーカー、または他の適当な出力機構を含む。
【００２７】
図２の破線内の品目が、システム２００の関連する構成要素の例示的な機能動作およびデータ編成を表す。図示した実施形態において、ホスト２５０は、アプリケーション２１２、オプションアクセスモジュール２１８、１つ以上のオプション価値２６４を含むレジストリ／エミュレータ２１５、およびアクセス情報２２０を含むデータベース２０４を含む。
【００２８】
アプリケーション２１２、オプションアクセスモジュール２１８、およびデータベース２０４は、図１のアプリケーション１１２、オプションアクセスモジュール１１８、およびデータベース１０４と同じか、または類似である。アプリケーション２１２は、ホスト２５０内のオプション価値２６４にアクセスし、検索し、または変更する、任意のアプリケーションを表す。例えば、アプリケーション２１２は、ホスト２５０を用いて問題を識別するためにオプション価値２６４を使用する、診断ツールを表すこともあり得る。特定の実施形態において、アプリケーション２１２は、様々なオペレーティングシステム環境で実行するアプリケーションを表すこともあり得る。
【００２９】
レジストリ／エミュレータ２１５は、レジストリ１１４、レジストリエミュレータ１１６、あるいは１つ以上のオプション価値２６４を含むか、または別の方法で支援するその他の適当な構造を表す。オプションアクセスモジュール２１８は、アプリケーション２１２によってオプション価値２６４へのアクセスを容易にする。例えば、アプリケーション２１２は、オプションアクセスモジュール２１８内で、取得、集合、削除関数を呼び出すことによって、オプション価値２６４にアクセスしようと試みる。オプションアクセスモジュール２１８はアクセス情報２２０を使用して、レジストリ／エミュレータ２１５内のオプション価値２６４を検索し、セットし、または削除するために使用される、適切な関数呼出しを識別する。データベース２０４内のアクセス情報２２０は、ホスト２５０によって使用される特定のオペレーティングシステムに限定されるか、または限定されなくてもよい。オプションアクセスモジュール２１８は適切な関数呼出しを生成し、関数呼出しをレジストリ／エミュレータ２１５へ伝達する。アプリケーション２１２がオプション価値の検索を要求する場合、オプションアクセスモジュール２１８は検索した値を正規化し、それらをアプリケーション２１２に伝達する。
【００３０】
図２はオペレーティングシステムオプション価値を管理するためのシステム２００の別の例を示すけれども、種々の変更がシステム２００に行われる。例えば、図２は、オプションアクセスモジュール２１８が動作する、別の環境の例を示すのに対して、その他の適当な環境が使用され得る。また、図２はアプリケーション２１２およびオプションアクセスモジュール２１８を別個の要素として示すのに対して、オプションアクセスモジュール２１８はアプリケーション２１２の一部を形成することもあり得る。
【００３１】
図３は、本開示の一実施形態による、アクセスモジュール３１８の例を示す例示的なブロック図である。アクセスモジュール３１８は、様々なオペレーティングシステム環境３５０で動作するコンピュータデバイスによって支援される、アプリケーション３１２によるオプション価値へのアクセスを容易にする。アクセスモジュール３１８は、例えば、図１のオプションアクセスモジュール１１８または図２のオプションアクセスモジュール２１８として有用である。
【００３２】
図示した例において、アクセスモジュール３１８はアクセス関数３５２を含む。アクセス関数３５２は、アプリケーション３１２によって呼び出されて、環境３５０内のオプション価値にアクセスし、検索し、そして変更し得る、種々の関数を表す。例えば、アクセス関数３５２は、アクセスモジュール３１８にオプション価値を取得させ、セットさせ、または削除させる。複数のアクセス関数３５２は、これらの３つの演算の各々に対して使用される。特定の例として、１つの取得関数３５２が、アクセスモジュール３１８に遠隔コンピュータデバイスから単一オプション価値を検索させる。別の取得関数３５２が、アクセスモジュール３１８に局所コンピュータデバイスから単一オプション価値を検索させる。さらに別の取得関数３５２が、アクセスモジュール３１８にコンピュータデバイスから複数のオプション価値を再帰的に検索させる。その他の適当なアクセス関数がアクセスモジュール３１８で使用されることもあり得る。
【００３３】
アプリケーション３１２がアクセス関数３５２を呼び出すことを可能にするために、アクセスモジュール３１８はアプリケーションＡＰＩ３５４を含む。アプリケーションＡＰＩ３５４は、様々なオペレーティングシステム環境で動作するアプリケーション３１２が、正規化関数呼出しを用いてアクセスモジュール３１８内の関数３５２を呼び出すことを可能にする。特別の実施形態において、アプリケーション３１２が関数３５２を呼び出す場合、アプリケーション３１２は、遠隔または局所コンピュータデバイス、そのデバイスで動作する構成要素、オプション、および／またはオプションと関連する値の識別(identity)を含む、ＡＰＩ数呼出しを伝達する。これらの入力は、別々に、入力バッファを用いて一括して、個別の入力と入力バッファの組合せを用いて、またはその他の適当な方法で供給される。
【００３４】
いったんアプリケーション３１２が関数３５２を呼び出すと、アクセスモジュール３１８は、識別したコンピュータデバイス内の所要の関数を実行するために必要な関数呼出しを識別する。アクセスモジュール３１８は、プラットフォームデータベース３５６へのアクセスを含むか、または別の方法でアクセスできる。プラットフォームデータベース３５６は、特定のオペレーティングシステム環境３５０でオプション価値を取得、集合、または削除するために使用される、１つ以上の関数呼出しを識別するアクセス情報を含む。例えば、環境３５０ａが、レジストリＡＰＩ３５８を通して呼び出される関数を実行するシステムレジストリを支援する。その場合に、プラットフォームデータベース３５６は、環境３５０ａ内のレジストリにオプション価値を検索させるＡＰＩ関数呼出しを識別する。別の例として、環境３５０ｂがシステムレジストリのための支援を欠くが、レジストリエミュレータ３６０がシステムレジストリの挙動をエミュレートする。この場合に、プラットフォームデータベース３５６は、エミュレータ３６０に指定のオプション価値を削除させる、ＡＰＩまたはエミュレータ関数呼出しを識別する。レジストリを有するが、レジストリＡＰＩのための支援がない環境のような、他の環境３５０ｃが、レジストリＡＰＩ３５８またはエミュレータ３６０を欠く。これらの環境３５０ｃに関して、プラットフォームデータベース３５６は、どのようにオプション価値がアクセスされ、管理されるかを識別する。
【００３５】
所要の関数を実行するために必要な関数呼出しを識別した後に、関数呼出し発生器３６２が実際の関数呼出しを発生する。例えば、発生器３６２は、特定のオペレーティングシステム環境３５０のための適切なパラメータを含む関数呼出しを生成する。発生器３６２はまた、呼出しアプリケーション３１２からの入力に基づいて、関数呼出しにおけるパラメータのための適切な値を供給する。特定の例として、アプリケーション３１２が、コンピュータデバイスにおいてオプションの値をセットしつつある場合、発生器３６２は、オプションの名前およびオプションの値をコマンドに挿入する。発生した関数呼出しは、インタフェース３６４を用いて規定のコンピュータデバイスに伝送される。インタフェース３６４は、ネットワークインタフェースカードまたは無線接続のような、任意の適当なインタフェースを表す。
【００３６】
関数呼出しは、環境３５０内で動作するコンピュータデバイスから、またはアクセスモジュール３１８から応答を生成する。例えば、コンピュータデバイスからの応答が、所要の関数が実行されたかどうかを表示する成功コードを含む。特定の例として、コンピュータデバイスは、関数が巧く完了した、関数が巧く完了できなかった、または関数が無効または異常なフィールドパラメータを有してたことを述べる応答を生成する。アクセスモジュール３１８はまた、例えば、アクセスモジュール３１８が関数呼出しを遠隔コンピュータデバイスに伝達しないこともあり得る場合、エラーメッセージを生成することもあり得る。その上、関数呼出しがオプション価値を検索しようと試みる場合、アクセスモジュール３１８は、オプション価値をコンピュータデバイスから受信することもあり得る。
【００３７】
応答情報はアプリケーション３１２に利用できるようにされる。一実施形態において、アプリケーション３１２が関数３５２を呼び出す場合、アプリケーション３１２は出力バッファを識別する。応答情報はアクセスモジュール３１８によって出力バッファに入力され、アプリケーション３１２は応答情報を出力バッファから検索する。
【００３８】
オプション価値および他の応答の書式が環境３５０の間で異なるので、正規化モジュール３６６が応答を正規化する。例えば、正規化モジュール３６６はオプション価値を環境３５０から受信し、オプション価値を標準書式にする。任意の適当な書式がオプション価値を正規化するために使用され得る。
【００３９】
図３はアクセスモジュール３１８の一例を示すけれども、種々の変更がアクセスモジュール３１８に行われる。例えば、図３はアクセスモジュール３１８内の機能部の一例を示す。アクセスモジュール３１８の種々の構成要素が組み合わされるか、または除外され、付加的構成要素が特定の必要性によって追加される。また、プラットフォームデータベース３５６は、コンピュータデバイスと対応付けられるオペレーティングシステム環境３５０のタイプに基づいて情報を格納するとして説明された。プラットフォームデータベース３５６は、その他の適当な方法で情報を格納することもあり得る。特定の例として、たとえ複数のコンピュータデバイスが同じ関数呼出しを使用しても、プラットフォームデータベース３５６は、各個別コンピュータデバイスによって使用される関数呼出しを識別することもあり得る。
【００４０】
図４は、本開示の一実施形態による、アクセスモジュールにおけるオペレーティングシステムオプション価値を管理するための方法４００の例を示す、例示的な流れ図である。方法４００は、図３のアクセスモジュール３１８を用いて、図１のシステム１００に関して説明される。方法４００は、その他の適当なシステムおよびその他の適当なアクセスモジュールで使用される。
【００４１】
サーバ１０２は、ステップ４０２において、オプション価値へのアクセスを要求するアプリケーション１１２からの要求を受信する。これは、例えば、ＡＰＩ関数呼出しを用いてアクセスモジュール３１８内のアクセス関数３５２を呼び出す、アプリケーション１１２を含む。サーバ１０２は、ステップ４０４において、オプション価値と対応付けられるコンピュータデバイスを識別する。これは、例えば、関数呼出しに含まれる情報を用いてサーバ１１０を識別する、アクセスモジュール３１８を含む。
【００４２】
サーバ１０２は、ステップ４０６において、識別したコンピュータデバイスにおいて所要の関数を実行するために使用される、１つ以上の関数呼出しまたは他のコマンドを識別する。これは、例えば、プラットフォームデータベース３５６にアクセスし、識別したサーバ１１０と対応付けられるオペレーティングシステム環境３５０を識別し、そして識別した環境３５０で所要の関数を実行するために使用される関数呼出しを識別する、アクセスモジュール３１８を含む。所要の関数と対応付けられる関数呼出しが「コマンドセット」と呼ばれる。サーバ１０２は、ステップ３６２において、関数呼出しを生成する。これは、例えば、適切なパラメータを含む関数呼出しを発生するために、プラットフォームデータベース３５６から検索した関数呼出しの書式を用いる、関数呼出し発生器３６２を含む。サーバ１０２は、ステップ４１０において、関数呼出しをコンピュータデバイスに伝達する。これは、例えば、インタフェース３６４を用いて関数呼出しをサーバ１１０に伝達する、アクセスモジュール３１８を含む。
【００４３】
サーバ１０２は、ステップ４１２において、関数呼出しがコンピュータデバイスで巧く実行されたかどうかを決定する。これは、例えば、遠隔コンピュータデバイスが接触されることもあり得るかどうかを決定する、アクセスモジュール３１８を含む。これはまた、応答をコンピュータデバイスから受信するアクセスモジュール３１８を含み、そしてそこでは応答は関数が巧く実行されたかどうかを表示する。関数が巧く実行されなかった場合、サーバ１０２は、ステップ４１４において、応答を呼び出したアプリケーション１１２にエラーメッセージを伝達する。これは、例えば、失敗の理由を識別するコードを含むメッセージを生成し、かつアプリケーション１１２によってアクセス可能である出力バッファにメッセージを入力する、アクセスモジュール３１８を含む。
【００４４】
関数呼出しが巧く実行された場合、サーバ１０２は、ステップ４１６において、所要の関数が検索（取得）関数であったかどうかを決定する。検索関数でない場合、所要の関数は集合関数または削除関数を表すこともあり得る。次いでサーバ１０２は、ステップ４１８において、集合または削除関数を呼び出したアプリケーション１１２に成功メッセージを伝達する。これは、例えば、成功した集合または削除関数を表示するコードを含むメッセージを生成し、かつメッセージを出力バッファに入力する、アクセスモジュール３１８を含む。
【００４５】
所要の関数が検索関数であった場合、サーバ１０２は、ステップ４２０において、所要のオプション価値をコンピュータデバイスから受信する。これは、例えば、インタフェース３６４を用いて所要のオプション価値をサーバ１１０から受信する、アクセスモジュール３１８を含む。サーバ１０２は、ステップ４２２において、オプション価値を正規化する。これは、例えば、オプション価値を標準書式にする正規化モジュール３６６を含む。正規化モジュール３６６によって使用される書式が任意の適当な書式を表す。標準書式は、アクセスモジュール３１８を使用する、異なるアプリケーション１１２が、アクセスモジュール３１８から受信した情報を理解することを可能にする。サーバ１０２は、ステップ４２４において、取得関数を呼び出したアプリケーション１１２に正規化オプション価値を伝達する。これは、例えば、オプション価値を含むメッセージを生成し、かつメッセージを出力バッファに入力する、アクセスモジュール３１８を含む。
【００４６】
図４は、アクセスモジュールにおけるオペレーティングシステムオプション価値を管理するための方法４００の一例を示すけれども、種々の変更が方法４００に行われる。例えば、図４は、要求と対応付けられる関数呼出しの全てを識別し、次いで関数呼出しを生成し、伝達するアクセスモジュール３１８を示す。所要の演算が失敗するか、または巧く完了するまで、アクセスモジュール３１８はまた、１度に１つの関数呼出しを識別し、生成し、そして伝達することもあり得る。また、アクセスモジュール３１８は、オプション価値を複数の書式の１つに正規化するように動作することもあり、アクセスモジュール３１８を呼び出すアプリケーション１１２が、所望の書式を識別することもあり得る。
【００４７】
図５は、本開示の一実施形態による、アプリケーションにおけるオペレーティングシステムオプション価値にアクセスするための方法５００の例を示す、例示的な流れ図である。方法５００は、図３のアクセスモジュール３１８を用いて、図１のシステム１００に関して説明される。方法５００は、その他の適当なシステムおよびその他の適当なアクセスモジュールを用いて使用される。
【００４８】
アプリケーション１１２は、ステップ５０２において、要求を伝達して、コンピュータデバイス内のオプション価値にアクセスする。これは、例えば、ＡＰＩ関数呼出しを用いて、アクセスモジュール３１８内のアクセス関数３５２を呼び出すアプリケーション１１２を含む。呼び出される関数は、取得単一オプション価値関数、取得複数オプション価値関数、集合関数、または削除関数を含む。特定の実施形態において、ＡＰＩ関数呼出しは、遠隔または局所コンピュータデバイスを識別する情報、そのコンピュータデバイスにおける構成要素、オプション、および／またはオプションと関連する値を含む。これらの入力のいくつか、または全てが、個別に、入力バッファで一緒に、またはその他の適当な方法で与えられるか、あるいは全然与えられない。ＡＰＩ関数呼出しは、出力結果をアプリケーション１１２に与えるために、アクセスモジュール３１８によって使用される出力バッファをさらに識別する。
【００４９】
アプリケーション１１２は、ステップ５０４において、アクセスモジュール３１８から応答を受信する。これは、例えば、メッセージを識別した出力バッファに入力するアクセスモジュール３１８を含む。これはまた、メッセージが使用可能であることをアプリケーション１１２に知らせるアクセスモジュール３１８、および出力バッファにアクセスするアプリケーション１１２を含む。
【００５０】
アプリケーション１１２は、ステップ５０６において、所要の関数が巧く実行されたかどうかを決定する。これは、例えば、アクセスモジュール３１８からのメッセージを調べ、かつメッセージが成功した演算を表示するコードを含むかどうかを決定する、アプリケーション１１２を含む。成功しなかった場合、方法５００は終了する。アプリケーション１１２は、その時その他の適当な動作を行う。例えば、アプリケーション１１２は、エラーメッセージで実行を終了させるか、ユーザに知らせるか、またはオプション価値に再びアクセスすることを試みることもあり得る。
【００５１】
所要の関数が成功した検索関数であった場合、アプリケーション１１２は、ステップ５１０において、所要のオプション価値を識別する。これは、例えば、出力バッファに含まれる情報を調べ、かつ情報のどれがオプション価値に相当するかを識別する、アプリケーション１１２を含む。アクセスモジュール３１８がオプション価値を正規化書式にしたので、アプリケーション１１２はオプション価値を容易に識別する。また、オプション価値の書式およびオプション価値を検索する方法が、オペレーティングシステム環境３５０に応じて異なる。アクセスモジュール３１８がオプション価値を検索し、正規化することを可能にすることによって、アプリケーション１１２は、種々の検索方法を実行するために、または複数の書式で情報を受信するためにプログラムされる必要がない。
【００５２】
本開示を、好ましい実施形態および一般に関連する方法に関して説明されたが、好ましい実施形態および方法の変更および置換が、当業者に明らかであろう。従って、好ましい例示的な実施形態の上記説明は、本開示を規定するとか、または制限することはない。他の変形、代替、および変更もまた、特許請求の範囲によって規定されるように、本開示の精神および範囲を逸脱せずに可能である。
【図面の簡単な説明】
【００５３】
【図１】本開示の一実施形態による、オペレーティングシステムオプション価値を管理するためのシステムの例を示す、例示的なブロック図である。
【図２】本開示の一実施形態による、オペレーティングシステムオプション価値を管理するためのシステムの別の例を示す、例示的なブロック図である。
【図３】本開示の一実施形態による、アクセスモジュールの例を示す例示的なブロック図である。
【図４】本開示の一実施形態による、アクセスモジュールにおけるオペレーティングシステムオプション価値を管理するための方法の例を示す、例示的な流れ図である。
【図５】本開示の一実施形態による、アプリケーションにおけるオペレーティングシステムオプション価値にアクセスするための方法の例を示す、例示的な流れ図である。
【図１】
2005523513.tif 000003
【図２】
2005523513.tif 000004
【図３】
2005523513.tif 000005
【図４】
2005523513.tif 000006
【図５】
2005523513.tif 000007
【国際調査報告】
2005523513.tif 000008
2005523513.tif 000009
2005523513.tif 000010