(57)【要約】【課題】  現代のコンピュータのほとんどのオペレーティングシステム（ＯＳ）ソフトウェアとシステムファームウェア／ハードウェアとの間の主要なランタイムインターフェースを定義するＡＣＰＩ仕様の下で使用される制御メソッドの名前の衝突を回避する。【解決手段】  本発明にかかる方法は、ＡＣＰＩ制御メソッドの予約名を取得することと、一意の第１の引数を取得することと、および異なる特定の制御メソッドに対して同じ識別子の使用を防止することによって名前の衝突が回避されるように、第１の引数を予約名に関連付け、前記特定の制御メソッドの一意の識別子を形成する第１の引数を予約名に関連付けることとを含む。【選択図】図２
2005182779.tif 000002
【特許請求の範囲】
【請求項１】
アドバンスト・コンフィギュレーション・アンド・パワー・インターフェース（ＡＣＰＩ）の制御メソッドの名前の衝突を回避する方法であって、
一意である第１の引数を取得する（２０２）ことと、
異なる特定の制御メソッドに対して同じ識別子の使用を防止することによって、名前の衝突が回避されるように、前記第１の引数をＡＣＰＩ制御メソッドの予約名に関連付け、特定の制御メソッドの一意の識別子を構成する（２０４）前記第１の引数をＡＣＰＩ制御メソッドの予約名に関連付けることと
を含む制御メソッドの名前の衝突を回避する方法。
【請求項２】
前記第１の引数は、前記予約名を使用する前記制御メソッドを呼び出した時に引数値として提示されることによって、前記予約名に関連付けられる
請求項１に記載の方法。
【請求項３】
前記第１の引数は、自動的に生成される
請求項１に記載の方法。
【請求項４】
前記第１の引数は、１２８ビット長である
請求項１に記載の方法。
【請求項５】
前記第１の引数は、ローカル、リージョナルおよびグローバルに一意である
請求項１に記載の方法。
【請求項６】
前記第１の引数に関連付けられた第２の引数（２０６）
をさらに含み、
該第２の引数は、前記特定の制御メソッドのバージョンを識別する
請求項１に記載の方法。
【請求項７】
前記第２の引数は、３２ビット長である
請求項４に記載の方法。
【請求項８】
前記第１の引数に関連付けられた第３の引数（２０８）を
さらに含み
この第３の引数は、前記第１の一意の引数に関連付けられた機能を識別する
請求項１に記載の方法。
【請求項９】
前記第３の引数は、最大で３２個の機能が関連付けられる
請求項８に記載の方法。
【請求項１０】
前記第１の引数に関連付けられた第４の引数
をさらに含み、
この第４の引数は、前記第１、第２、および第３の引数によって識別された前記特定の制御メソッドに渡される引数の個数を識別する
請求項１に記載の制御メソッドの名前の衝突を回避する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、包括的には、コンピュータシステムに関し、詳細には、ＡＣＰＩ制御メソッドの名前の衝突を回避するシステムおよび方法に関する。
【背景技術】
【０００２】
アドバンスト・コンフィギュレーション・アンド・パワー・インターフェース（ＡＣＰＩ）の仕様は、新しいコンピュータシステムの多くのシステムコンフィギュレーション情報を提供する主要なメカニズムである。
ＡＣＰＩは、ソフトウェア仕様でもなければ、ハードウェア仕様でもない。
ＡＣＰＩは、むしろインターフェース仕様である。
ＡＣＰＩは、現代のコンピュータのほとんど、特にｘ８６型プロセッサのオペレーティングシステム（ＯＳ）ソフトウェアとシステムファームウェア／ハードウェアとの間の主要なランタイムインターフェースを定義する。
ＡＣＰＩ仕様は、共通の産業インターフェースを確立するために開発され、ローバストなオペレーティングシステム指令／制御デバイスおよびシステムコンフィギュレーションならびに電力管理を可能にした。
さらに、ＡＣＰＩは、オペレーティングシステム・ディレクティッド・コンフィギュレーション・アンド・パワー・マネージメント（ＯＳＰＭ）の重要な要素でもある。
ＯＳＰＭは、ＯＳが中心的な役割を果たし、グローバルな情報を使用してあらゆる所与の時刻におけるシステムの振る舞いを最適化する電力およびシステムの管理モデルである。
【０００３】
ＡＣＰＩは、未使用のデバイスを低電力状態に移行させることによって電力管理およびエネルギー節約を行うコンセプトを推進するものである。
また、ＡＣＰＩは、レガシーシステム（このシステムでは、ほとんどのハードウェアシステム管理がＲＯＭ  ＢＩＯＳによって行われる）から、より現代的なＡＣＰＩベースのシステムへ整然と移行させる一方、双方のシステムの共存を可能にする手段も提供する。
【０００４】
上述した理由により、ＡＣＰＩベースのコンピュータシステムは、次第に知られようになり、システム開発者および相手先商標による製造会社（ＯＥＭ）は、絶えず増加している付加価値機能（value added features）を、ＡＣＰＩ標準規格を使用した自身の製品に含めることを競い合っている。
【０００５】
ＡＣＰＩベースのデバイスおよびシステムを設計する際、開発者は、ＡＣＰＩ標準規格およびＡＣＰＩツールに従わなければならない。
ＡＣＰＩツールキットは、マザーボード上に実施されたハードウェアレジスタと、システムコンフィギュレーションテーブル、デバイス一覧表、およびコンフィギュレーションツール等の基本入出力ソフトウェア（ＢＩＯＳ）インターフェースと、制御メソッドとも呼ばれる実行可能機能インターフェースとの使用を含む。
【０００６】
ＡＣＰＩ制御メソッドは、ランタイムにおいて、システムファームウェアがＯＳに提供して、システムおよびデバイスのステータスの起動および評価を行うＡＣＰＩオブジェクトである。
換言すると、制御メソッドは、マザーボードのサーマルゾーンの温度を読み出す等の一定のハードウェアタスクをＯＳがどのようにして実行できるかの定義である。
ＡＣＰＩでは、慣例により、制御メソッド名が４文字のみに限られている。
従来、制御メソッドには、２つの名前のカテゴリーしかなかった。
第１のカテゴリーは予約名である。
これらの名前は、その使用がＡＣＰＩ仕様によって予約されていることから予約名と呼ばれる。
予約名は、実際にはＡＣＰＩ特別利益団体（ＳＩＧ）によって所有されているので、その使用の許可は、このＳＩＧ団体から得なければならない。
予約名の規則は、各予約名がアンダースコア文字「＿」で開始し、その後に３文字が続くことを指示している。
３文字のそれぞれは、大文字（合計２６文字）または０〜９からの数字とすることができる。
【０００７】
制御メソッドの名前の他方のカテゴリーは非予約名である。
予約名と同様に、非予約名も４文字しか有することができず、それらの文字のそれぞれはＡ〜Ｚの２６文字または０〜９の１０個の数字の１つとすることができる。
したがって、非予約名の並べ替えの総数は、３６の４乗（３６４）となる。
【０００８】
現在のＡＣＰＩの名前付けの規則に関連した多くの問題がある。
予約名の場合、ＡＣＰＩ  ＳＩＧは、指定された制御メソッドを参照するものとして、これらの名前を登録しなければならない。
しかし、ＡＣＰＩ  ＳＩＧは常に開会中であるとは限らず、したがって、新たな予約名の検討は、ＳＩＧ委員会がＡＣＰＩ仕様を更新するために会合を開くたびにしか行うことができない。
さらに、ほとんど場合、予約名を要求するには、その必要性の理由を開示しなければならない。
この開示は、トレードシークレットに反するおそれがあり、他の機密保持問題を起こすおそれがある。
【０００９】
ＳＩＧから予約名を得ることに関する別の問題は、ＳＩＧの主眼が、標準規格のベースライン機能に向いていることに関係するものである。
その結果、ＳＩＧの責務が、通常、多くの開発者が追求している可能性のある付加価値機能に及ぶことはない。
【００１０】
ＡＣＰＩの予約名の規則に関するさらに別の問題は、予約名が３文字に限られていることから、予約名としての使用に利用可能な名前の個数に限りがあるということである。
この問題は、ほとんど場合、予約名が参照している制御メソッドの機能に対して或る意味のある関係を有する予約名を選択したいという要望があることによって深刻化する。
したがって、意味のある予約名の現実の組み合わせは、実際には、文字に許容された可能な並べ替えの限られた個数よりも少ない。
【００１１】
非予約名は、同じ問題の多くを持っている。
正当な非予約名は、４つの文字の組み合わせに限られている。
しかしながら、指定された制御メソッドと意味のある関係を有する頭字語を作成しようとする制約を考慮すると、実用的な並べ替えの個数は大幅に少なくなる。
【００１２】
加えて、インターフェースが進化するという性質のため、誰か１人の人またはどれか１つの組織が、作成されるすべての制御メソッドに可視性（visibility）を有することはできない。
【００１３】
さらに、通常、これらの新たな制御メソッドを作成するエンティティ間での通信が確立されることはないので、非予約名はＳＩＧ委員会の承認を必要としないが、現在のＡＣＰＩ基盤の下では、現実には、名前の衝突が起こる可能性が存在する。
【００１４】
名前の衝突とは、異なるエンティティが同じ名前を使用して異なる制御メソッドを参照する場合に発生するものをいう。
この問題は、＿ＨＩＤ（ハードウェア識別情報）制御メソッドおよび＿ＣＩＤ（互換性）制御メソッドの双方に関係した特徴を含む制御メソッドを必要とする場合により一層明らかとなる。
【００１５】
ＡＣＰＩでは、定義ブロックが、データおよび制御メソッドを含めて、ハードウェアの実施およびコンフィギュレーションの詳細に関する情報を収容する。
デバイス製造業者は、１つまたは２つ以上の定義ブロックをＡＣＰＩテーブルで提供することができる。
各システムでは、すべての定義ブロックが、その内容（制御メソッド名を含む）と共に、ＡＣＰＩ名前空間と呼ばれる階層木構造に配置される。
【００１６】
制御メソッドは、定義ブロックの一部として、デバイスのさまざまな特性および機能を特徴付けるのに使用することができる。
＿ＨＩＤおよび＿ＣＩＤは、ＡＣＰＩのデバイスまたはシステムの特定の特徴を提供するのに使用される。
＿ＣＩＤは、その対応するデバイスの他のデバイスとの互換性の特徴を提供する。
一方、＿ＨＩＤは、デバイスに特定の具体的な付加価値機能に関する情報を提供する。
このように、＿ＨＩＤは、対応するデバイスのこのような機能の利用可能性をＯＳに知らせる。
【００１７】
制御メソッド＿ＣＩＤおよび＿ＨＩＤのそれぞれは、特定のデバイスおよび指定された機能を参照する制御名を含むことができる。
したがって、異なる制御メソッドを参照するのに対し、同じ名前が異なる製造業者によって選択される可能性がある。
制御メソッド名を選択する際、ほとんどの設計者は、制御メソッドに対して意味のある頭字語の名前を選ぶので、この名前の衝突の可能性はより一層高くなる。
すべての制御メソッドは、特定のシステムの同じ名前空間の下でリストにされるので、名前の衝突が起こり得る可能性は現実にますます高くなっている。
【発明の開示】
【発明が解決しようとする課題】
【００１８】
上述したように、現在、名前の衝突の問題に対処する２つの手法がある。
第１の手法は、予約名を使用して制御メソッドを参照することである。
しかしながら、指定された制御メソッドを排他的に参照する予約名の使用許可を得るには、ＡＣＰＩ  ＳＩＧ委員会の認可が必要である。
上述したように、この委員会は常に開会中であるとは限らず、予約名の個数は限られており、予約名の要求はトレードシークレットの公表を必要とすることがある。
【００１９】
非予約名を使用する第２の手法は、名前の衝突が起こらない名前を使用して、名前の衝突が起こらない可能性に依拠する必要があるので問題が多い。
【００２０】
したがって、ＡＣＰＩ仕様の下で使用される制御メソッドを参照するのに、名前の衝突の問題を回避する代替的なメカニズムが必要とされている。
【課題を解決するための手段】
【００２１】
本発明の実施の形態は、アドバンスト・コンフィギュレーション・アンド・パワー・インターフェース（ＡＣＰＩ）の制御メソッドの名前の衝突を回避するシステムおよび方法を提供する。
したがって、本発明の方法の一実施の形態は、ＡＣＰＩ制御メソッドの予約名を取得すること、一意の第１の引数を取得すること、および異なる特定の制御メソッドに対して同じ識別子の使用を防止することによって名前の衝突が回避されるように、第１の引数を予約名に関連付けることであって、それによって、前記特定の制御メソッドの一意の識別子を形成する、第１の引数を予約名に関連付けること、を含む。
【００２２】
添付図面は、この出願の一部に組み込まれて、この出願の一部を形成する。
添付図面は、本発明の実施の形態を示し、明細書本文と共に本発明の原理を説明するのに役立つ。
言及しない限り、この明細書本文で参照される図面は、一律の縮尺で描かれていないものと理解されるべきである。
【発明を実施するための最良の形態】
【００２３】
この発明は、ＡＣＰＩ仕様の下での制御メソッド名の名前衝突を回避する解決法を提供する。
一実施の形態では、この解決法は、一般に、一意の識別子を作成すること、およびこの一意の識別子を、制御メソッドの呼び出しに関連したＡＣＰＩ予約名に関連付けることを含む。
【００２４】
ＡＣＰＩ仕様の下では、制御メソッド呼び出し規則を、参照定数呼出し（call-by-reference-constant）として最も良く記述することができる。
これは、オブジェクトが、コピーによるのではなく、参照による引数として互いに渡されることを意味する。
参照定数呼出し規則の下では、内部オブジェクトを各メソッドの起動にわたって共有することができる。
参照呼出し規則によって、コピーされるオブジェクト数を削減することが可能になるので、この規則は、ホストオペレーティングシステムのカーネル内のＡＣＰＩサブシステムの低レベルの性質に特に適している。
【００２５】
さらに、ＡＣＰＩ規則の下では、非呼び出し側メソッドが自身に渡された引数を変更する能力は、極度に制限される。
したがって、実際には、制御メソッドに渡される引数は、特定の制御された状況下を除いて変更することができない定数として渡される。
【００２６】
ＡＣＰＩの下では、７つまでの引数を制御メソッドに渡すことができる。
各引数は、他のオブジェクトおよび制御メソッドを参照する、それ自身のパッケージを含むことができる。
パッケージとは、この文書で使用される場合、１組のオブジェクトをいうことに留意すべきである。
オブジェクトとは、ＡＣＰＩ名前空間のノードをいう。
このノードは、ＡＣＰＩによって定義されたシステム定義テーブルでＯＳに提供された情報を使用して、ＯＳにより木構造に挿入されたものである。
【００２７】
図１は、本発明の一実施の形態による引数フォーマットの表を示している。
図１の表に示すように、第１の引数は、Ａｒｇ０と呼ばれる。
本発明の一実施の形態では、Ａｒｇ０の値は一意の識別子を表す。
一実施の形態では、この識別子は、普遍一意識別子（ＵＵＩＤ（Universal Unique Identifier））とすることができる。
一実施の形態では、Ａｒｇ０は、１６バイト長、すなわち１２８ビットである。
図１に示すように、第２の引数（Ａｒｇ１）は、制御メソッドの改訂識別子（ＩＤ）を表す３２ビット値とすることができる。
この改訂ＩＤは、指定された特定の制御メソッドのバージョンを示すのに使用することができる。
【００２８】
一実施の形態では、第３の引数、すなわちＡｒｇ２は、３２ビット機能ビットマスクとして機能する。
したがって、本発明の一実施態様では、この引数に或るビットを設定して、Ａｒｇ０に提示された一意の識別子に関連付けられた所与の機能を表すことができる。
代替的な実施の形態では、Ａｒｇ２の値は、Ａｒｇ０の一意の識別子の値に関連付けられた特定の機能を指定する。
【００２９】
第４の引数、すなわちＡｒｇ３は、第６の引数（Ａｒｇ５）において指定された制御メソッドに渡されるパラメータ値の個数を表すことができる。
【００３０】
第５の引数、すなわちＡｒｇ４は、呼び出された時に、指定された制御メソッドによって返されるパラメータ値の個数を表すことができる。
【００３１】
最後に、本発明の一実施の形態によると、指定された制御メソッドがその処理を行うのに必要とするすべてのパラメータ値は、第６の引数（Ａｒｇ５）で渡される。
上述したように、Ａｒｇ５で制御メソッドに渡されるパラメータ値のカウントはＡｒｇ３に宣言され、制御メソッドが返すパラメータ値のカウントはＡｒｇ４に宣言される。
【００３２】
本発明の一実施の形態では、第７の引数（Ａｒｇ６）は使用されない。
【００３３】
上記概要を念頭に置いて、本発明は、上述したＡＣＰＩ制御メソッド名の衝突問題の解決法を提供する。
本明細書の上記に提示した引数構造を使用することによって、ＡＣＰＩ予約名と共に使用される普遍的な一意の識別子は、特定の制御メソッドの一意の名前または参照として機能して、名前の衝突の問題を回避することができる。
【００３４】
図２は、本発明の一実施の形態による一意の制御メソッド名を作成する方法のフローチャートを示している。
図２に示すように、ステップ２０２において、制御メソッドの一意の名前を提供する一意の識別子が作成される。
一実施の形態では、この一意の識別子は、識別子の一意性を保証するアルゴリズムまたはジェネレータを使用して自動的に生成される普遍一意識別子（ＵＵＩＤ）とすることができる。
ＵＵＩＤは、普遍一意識別子（Universal Unique IDentifier)を意味する。
１２８ビットの番号が各識別子に割り当てられる。
ＵＵＩＤが一意であることを保証するのに使用されるメカニズムは、ハードウェアアドレス、タイムスタンプ、および乱数の種の組み合わせに基づいている。
【００３５】
ＵＵＩＤには、当該ＵＵＩＤを生成したホスト上の第１のネットワークカードのハードウェアアドレスに照合するもの（reference）が存在する。
あらゆるネットワークカードのメディアアクセス制御（ＭＡＣ）アドレスは、単一のグローバルな当局によって割り当てられ、一意であることが保証されるので、この照合するものは、ＵＵＩＤが空間において一意であることを保証するためのものである。
ＭＡＣアドレスは、ネットワークの各ノードを一意に識別するハードウェアアドレスである。
ＵＵＩＤの次の構成要素はタイムスタンプである。
タイムスタンプは、時計を常に前に進め、時間において一意である。
最後に、一意性のすべての状況に対応できるものとして、ランダムな構成要素がＵＵＩＤに挿入される。
ＵＵＩＤの一例は、「５８ｆ２０２ａｃ−２２ｃｆ−１１ｄ１−ｂ１２ｄ−００２０３５ｂ２９０２９」である。
【００３６】
指定された制御メソッド（オブジェクト）を参照する際に使用される一意の識別子を生成する代替的な手段を本発明と共に使用できることが当業者には明らかであろう。
一方、一意の識別子がグローバルであるための唯一の制限は、生成された一意の識別子が一意であるように保証され、その識別子があらゆる者に利用可能であるように保証されるということである。
ＵＵＩＤジェネレータの場合、３０４０年まで一意の識別子を生成することが保証される。
さらに、各ＵＵＩＤは１２８ビット長であるので、１２８ビットのすべてが同じとなることによる名前の衝突の可能性は、３０４０年後であっても低い。
【００３７】
図２に示すように、オペレーション２０４において、一意の識別子はＡＣＰＩ予約名に関連付けられ、ＡＣＰＩ仕様下での一意の制御メソッド（オブジェクト）名が提供される。
一実施の形態では、予約名は＿ＤＳＭ（特定デバイス向けメソッド（Device Specific Method））である。
＿ＤＭＳは、ＡＣＰＩ  ＳＩＧ委員会が承認した一般的な（generic）ＡＣＰＩ予約名である。
＿ＤＳＭはＡＣＰＩ予約名であるので、この名前は、ＡＣＰＩ  ＳＩＧ委員会が承認した目的以外の目的で使用することはできない。
【００３８】
予約名をＵＵＩＤに関連付けることは、システムオペレーション中に、予約名を呼び出して、一意の識別子を引数として予約名に渡すことによって行われる。
一実施の形態では、一意の識別子は、引数０（Ａｒｇ０）とも呼ばれる第１の引数の値として、指定された制御メソッドに渡される。
【００３９】
一意の識別子と予約名とを組み合わせることによって、グローバルに一意の識別子が得られる。
このグローバルに一意の識別子は、その後、特定の機能を対象にした制御メソッドの参照および呼び出しに使用することができる。
各一意の識別子は一意であるように保証されており、したがって、一般的な予約名（＿ＤＳＭ）とこの一意の識別子との組み合わせは一意であるので、名前の衝突の可能性は回避される。
【００４０】
一実施の形態では、オペレーション２０６において、第２の識別子が、第１の一意の識別子に関連付けられて、第２の引数、すなわちＡｒｇ１として渡される。
この第２の識別子は、所与の制御メソッドの特定のバージョンを識別することができる。
したがって、Ａｒｇ２の値は、制御メソッドの指定されたバージョンを識別する番号とすることができ、予約名と第１の引数の値と第２の引数の値との組み合わせによって一意に識別することができる。
【００４１】
さらに、代替的な実施の形態では、オペレーション２０８において、オペレーション２０２で生成されたグローバルな一意の識別子の下で参照された特定の機能を識別する第３の引数（Ａｒｇ２）として、第３の識別子を渡すことができる。
一実施の形態では、この第３の引数は３２ビット長であり、各ビットは、一意のグローバルな識別子に関連付けられた単一の機能を参照するのに使用することができる。
これによって、単一の一意の識別子に関連付けられた３２個までの一意の機能の識別が可能になる。
別法では、指定された機能を参照するのに、番号値を使用することができる。
この機能によって、追加された機能を定義することが可能になり、この追加された機能のすべてをＵＵＩＤ等の大意的に一意の単一の識別子に関連付けることができる。
【００４２】
上述したように、ＡＣＰＩ仕様の下では、オブジェクトは７つまでの引数を受け取ることができる。
したがって、本発明の一実施の形態では、第４の引数Ａｒｇ３は、第６の引数Ａｒｇ５における指定された機能に渡されるパラメータまたは引数の個数を表す値を渡すのに使用することができる。
さらに、第５の引数Ａｒｇ４で渡された値は、指定された制御メソッドから受け取る戻り値またはパラメータの個数を識別するのに使用することができる。
最後に、一実施の形態では、第６の引数、すなわちＡｒｇ５は、指定された制御メソッドが必要とする実際のパラメータを渡すのに使用することができる。
【００４３】
このように、本発明のさまざまな実施の形態の教示によって、システムおよびデバイスの製造業者ならびに設計者は、第１の引数としての一意のグローバルな識別子に関連付けられた予約名（一実施の形態では＿ＤＳＭ）、第２の引数の一意のバージョン番号、および第３の引数の一意の機能識別子を使用して、ＡＣＰＩ仕様に従って、指定された制御メソッド（オブジェクト）の作成および一意の参照を行うことが可能になると同時に、名前の衝突の危険性を回避することが可能になる。
【００４４】
さらに、本発明の教示によって、ローカルに定義されたインターフェースの進化、または、リージョナルおよび／もしくはグローバルに定義されたインターフェースに対する制御メソッドの進化が、追加変更を何ら行う必要なく可能になる。
【００４５】
ＡＣＰＩ仕様の知名度が高くなるに伴い、増加しているシステムおよびデバイスの製造業者は、ＡＣＰＩベースの制御メソッドを使用して、付加価値機能を自身の設計に追加し続けている。
ほとんどの場合、企業内では、開発の初期の段階に、単一の設計者または設計者のグループが含まれる。
ＵＵＩＤ等の普遍的な一意の識別子を使用することによって、ローカルな設計チームは、所望の付加価値機能を実施するのに使用されるＡＣＰＩ制御メソッドの一意の名前の選択を保証することができる。
普遍的に一意の識別子は、２つの独立した開発グループが、異なる機能を実行する異なる制御メソッドを参照するのに同じ名前を考え出すことができないことを保証する。
【００４６】
ローカルに選択された制御メソッド名を参照するのに使用される識別子は、普遍的に一意であるので、名前の衝突を引き起こす危険性がなく、他のエンティティがリージョナルかつ／またはグローバルに容易に採用することができる。
これは、未知の企業内の小さな開発グループが、その企業内、さらには他の企業およびエンティティ内の他のグループも採用し得る制御メソッドおよび関連した名前を考え出すことができることを意味し、一意の名前のどの使用も、ローカルに開発された、指定された制御メソッドのみを参照することを、普遍的に一意の制御メソッド名が保証することを意味する。
【００４７】
図３は、本発明の一実施の形態による一意のＡＣＰＩ制御メソッド名を生成するシステムのブロック図を示している。
【００４８】
図３は、一意識別子ジェネレータ３０２、組み合わせ装置３０４、引数パッケージ装置３０６、および引数受け取り装置３０８を備えるシステム３００を示している。
本発明の一実施の形態では、一意識別子ジェネレータ３０２は、指定された制御メソッド名を参照する一意の識別子を作成するのに使用される。
一実施の形態では、生成された識別子は、普遍的に一意であることが保証された普遍的に一意の識別子とすることができる。
普遍的に一意の識別子の一例はＵＵＩＤである。
一意識別子ジェネレータ３０２の出力は、組み合わせ装置３０４に接続される。
一実施の形態では、組み合わせ装置３０４は、ＡＣＰＩ予約名を、一意識別子ジェネレータ３０２によって生成された一意の識別子と組み合わせて、指定された制御メソッドのＡＣＰＩベースの一意の名前または参照を形成する。
【００４９】
本発明の代替的な実施の形態では、生成された一意の識別子に加えて、指定された制御メソッドのバージョン番号や特定の生成された一意の識別子に関連付けられた機能識別子等の付加的な識別子も組み合わせて、指定された制御メソッドの一意の名前または参照を形成することができる。
【００５０】
一実施の形態では、組み合わせ装置の出力は、引数パッケージ装置３０６に接続される。
この引数パッケージ装置３０６は、指定された制御メソッドの普遍的に一意のＡＣＰＩ名を構成することができるさまざまな識別子を、制御メソッドによる処理に必要な引数と組み合わせる。
一実施の形態では、引数パッケージ装置３０６の出力は、引数受け取り装置３０８に接続される。
代替的な実施の形態では、引数パッケージ装置３０６の機能は、引数受け取り装置３０８内に統合することができる。
【００５１】
引数受け取り装置３０８は、パッケージにされた一群の引数を、組み合わせ装置３０４から直接、または、代替的な実施の形態では引数パッケージ装置３０６を通じて受け取る。
受け取ったパッケージは、指定された制御メソッドがその指定された機能を実行するのに必要なパラメータ値を提供する引数を含むことができる。
さらに、引数受け取り装置３０８が受け取った引数のパッケージは、指定されたＡＣＰＩ制御メソッドを識別するのに使用される引数を含む。
一実施の形態では、引数受け取り装置３０８は、指定された制御メソッドを呼び出すことによって、組み合わせ装置３０４または引数パッケージ装置３０６から受け取った普遍的に一意の名前を処理する。
制御メソッドを呼び出すと、制御メソッドは所望の機能を実行し、オペレーティングシステムに所望の出力を提供する。
【００５２】
さらに、引数受け取り装置３０８が受け取った引数は、普遍的に一意の識別子に関連付けられた制御メソッドの特定のバージョンを識別するバージョン識別子を含むことができる。
一実施の形態では、普遍的に一意の単一の識別子を制御メソッドの数個のバージョンに関連付けることができる。
【００５３】
同様に、引数受け取り装置３０８が受け取った引数は、普遍的に一意の識別子に関連付けられた特定の機能を識別することができる。
一実施の形態では、機能識別子は、機能ビットマスクとして機能し、設定される各ビットは、普遍的な一意の単一の識別子に関連付けられた異なる機能を識別することができる。
一実施の形態では、３２個までの機能をこのようにして識別することができる。
代替的な実施の形態では、機能識別子の引数の値が特定の機能を識別する。
【００５４】
別の実施の形態では、受け取った機能識別子の引数の値に基づいて、指定された機能を識別するのに、機能識別子論理回路（logic）３１０を使用することができる。
【００５５】
したがって、ローカルに開発された制御メソッドの参照として普遍的に一意の識別子および名前を使用することは、一意の名前を使用することによって、リージョナルまたはグローバルな規模で同じ名前を採用することを可能にする。
ローカルに開発された一意のＡＣＰＩ制御メソッド名をローカル、リージョナル、およびグローバルな規模で使用することによって、あらゆる名前衝突問題が回避される。
【００５６】
本発明の特定の実施の形態の上記説明は、例示および説明の目的で提示されたものである。
これらの説明は、包括的なものでもなければ、開示した正確な形態に本発明を限定するためのものでもなく、多くの変更および変形が、上記教示に鑑み可能である。
本発明の原理およびその実際の適用を最もよく説明し、それによって、本発明および検討した特定の使用に適するようにさまざまな変更を有するさまざまな実施の形態を最も良く利用することを他の当業者に可能にするために、実施の形態は選ばれて説明された。
本発明の範囲は、添付した特許請求の範囲およびその均等物によって画定されることが意図されている。
【図面の簡単な説明】
【００５７】
【図１】本発明の一実施の形態による引数フォーマットの表を示す図である。
【図２】本発明の一実施の形態による一意の制御メソッドを作成する方法のフローチャートである。
【図３】本発明の一実施の形態による一意のＡＣＰＩ制御メソッド名を生成するシステムのブロック図である。
【符号の説明】
【００５８】
３０２・・・一意識別子ジェネレータ，
３０４・・・組み合わせ装置，
３０６・・・引数パッケージ装置，
３０８・・・引数受け取り装置，
３１０・・・機能識別子，
【図１】
2005182779.tif 000003
【図２】
2005182779.tif 000004
【図３】
2005182779.tif 000005