(57)【要約】【課題】  コンピュータ拡張カードが追加され、取外され、または交換されたときを検知するスイッチを提供する。【解決手段】  動作中、スイッチはカードとの接触によって押下げ位置に保持される。カードが取り外されるとき、スイッチは持ち上げられ、そして第２のカードが取付けられるとき、スイッチは再び押下げられる。スイッチの押下げは、ハイパーバイザがその新たな装置を検知するに十分に長い所定期間の間スロットへの電力の供給を開始させる変更信号をトリガする。スイッチが解放されるとき、別のカードがプレーナ装置にしっかりと設置されるに十分な時間が与えられるように、スイッチの解放およびその後の押下げの間の遅延が設定される。遅延に続いて、ハイパーバイザがカードを検知し且つ現在の構成パラメータを更新し得るように、電力がスロットに供給される。【選択図】  図６
2010123109.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ・カードをプレーナ装置に取付けるための方法であって、
プレーナ装置の特定な位置へのコンピュータ・カードの差込みを検知するステップと、
前記コンピュータ・カードが前記プレーナ装置に十分に差込まれることを確実にするために所定の期間の間休止するステップと、
前記コンピュータ・カードの差込みの前記検知に応答して、前記休止の後、前記プレーナ装置に電力を供給するステップと、
コンピュータ装置に関連したハイパーバイザによって、前記プレーナ装置における電力を検知するステップと、
前記電力の検知に応答して、システム・コンテンツのテーブルおよびレジスタを前記コンピュータ・カードの差込みに適合させて更新するステップと、
を含む、方法。
【請求項２】
前記コンピュータ・カードの差込みの前記検知の前に、前記プレーナ装置の特定の位置からの第２のコンピュータ・カードの取外しを検知するステップと、
前記電力の検知に応答して、システム・コンテンツのテーブルおよびレジスタを、前記第２のコンピュータ・カードの取外しに適合させて更新するステップと、
を更に含む、請求項１に記載の方法。
【請求項３】
前記システム・コンテンツのテーブルおよびレジスタの前記更新を表す信号を受け取るステップと、
前記信号に応答して、前記プレーナ装置に供給される電力を遮断するステップと、
を更に含む、請求項１に記載の方法。
【請求項４】
前記差込みの検知および前記取外しの検知が前記プレーナ装置の特定の位置に結合されたスイッチによってトリガされる、請求項１に記載の方法。
【請求項５】
前記スイッチが機械的装置または光学的装置である、請求項４に記載の方法。
【請求項６】
前記差込みの検知および前記取外しの検知がデータ・バスに関連した論理的存在検知ピンからの信号によってトリガされる、請求項１に記載の方法。
【請求項７】
プレーナ装置へのコンピュータ・カードの取付けを自動的に検知するシステムであって、
プロセッサと、
前記プロセッサに情報伝送可能に結合されたプレーナ装置と、
前記プロセッサに結合されたメモリと、
前記メモリに格納され、前記プロセッサにおいて実行されるロジックであって、
前記ロジックは、
前記プレーナ装置の特定の位置へのコンピュータ・カードの差込みを検知し、
前記コンピュータ・カードが前記プレーナ装置に十分に差込まれることを確実にするために所定の期間の間休止し、
前記コンピュータ・カードの差込みの前記検知に応答して、前記休止の後、前記プレーナ装置に電力を供給し、
ハイパーバイザによって前記プレーナ装置における電力を検知し、
前記電力の検知に応答して、システム・コンテンツのテーブルおよびレジスタを、前記コンピュータ・カードの差込みに適合させて更新する、前記ロジックと、
を含む、システム。
【請求項８】
前記メモリに格納され、前記プロセッサにおいて実行される前記ロジックは、更に、
前記コンピュータ・カードの差込みの前記検知の前に、前記プレーナ装置の特定の位置からの第２のコンピュータ・カードの取外しを検知し、
前記電力の検知に応答して、システム・コンテンツのテーブルおよびレジスタを、前記第２のコンピュータ・カードの取外しに適合させて更新する
ためのロジックを更に含む、請求項７に記載のシステム。
【請求項９】
前記メモリに格納され、前記プロセッサにおいて実行される前記ロジックは、更に、
前記システム・コンテンツのテーブルおよびレジスタの前記更新を表す信号を受け取り、
前記信号に応答して、前記プレーナ装置に供給される電力を遮断する
ためのロジックを更に含む、請求項７に記載のシステム。
【請求項１０】
前記差込みの検知および前記取外しの検知が前記プレーナ装置の特定の位置に結合されたスイッチによってトリガされる、請求項７に記載のシステム。
【請求項１１】
前記スイッチが機械的装置または光学的装置である、請求項１０に記載のシステム。
【請求項１２】
前記差込みの検知および前記取外しの検知がデータ・バスに関連した論理的存在検知ピンからの信号によってトリガされる、請求項７に記載のシステム。
【請求項１３】
プレーナ装置へのコンピュータ・カードの取付けを自動的に検知するコンピュータ・プログラムであって、
前記プレーナ装置の特定の位置へのコンピュータ・カードの差込みを検知するステップと、、
前記コンピュータ・カードが前記プレーナ装置に十分に差込まれることを確実にするために所定の期間の間休止するステップと、
前記コンピュータ・カードの差込みの前記検知に応答して、前記休止の後、前記プレーナ装置に電力を供給するステップと、
ハイパーバイザによって前記プレーナ装置における電力を検知するステップと、、
前記電力の検知に応答して、システム・コンテンツのテーブルおよびレジスタを前記コンピュータ・カードの差込みに適合させて更新するステップと、
をコンピュータに実行させるためのコンピュータ・プログラム。
【請求項１４】
更に、
前記コンピュータ・カードの差込みの前記検知の前に、前記プレーナ装置の特定の位置からの第２のコンピュータ・カードの取外しを検知するステップと、
前記電力の検知に応答して、システム・コンテンツのテーブルおよびレジスタを、前記第２のコンピュータ・カードの取外しに適合させて更新するステップと、
をコンピュータに実行させる、請求項１３に記載のコンピュータ・プログラム。
【請求項１５】
更に、
前記システム・コンテンツのテーブルおよびレジスタの前記更新を表す信号を受け取るステップと、
前記信号に応答して、前記プレーナ装置に供給される電力を遮断するステップと、
をコンピュータに実行させる、請求項１３に記載のコンピュータ・プログラム。
【請求項１６】
前記差込みの検知および前記取外しの検知が前記プレーナ装置の特定の位置に結合されたスイッチによってトリガされる、請求項１４に記載のコンピュータ・プログラム。
【請求項１７】
前記差込みの検知および前記取外しの検知がデータ・バスに関連した論理的存在検知ピンからの信号によってトリガされる、請求項１４に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的にはコンピュータ拡張装置に関し、詳しく言えば、コンピュータ・システムにおいて拡張カードの取付け（installation）または交換（swapping）を容易にするための方法（サーバＩ／Ｏスロットを無電力識別するための方法）に関する。
【背景技術】
【０００２】
ここ数十年は、コンピュータ装置をモジュール化するための方式および手順の開発において驚くべき進展を目のあたりにしている。初期のコンピュータは、プリンタ或いは通信装置のようなあらゆる関連の周辺装置がコンピュータ・システムに固有に配線接続されなければならなかったし、しかもコンピュータ・システムがその装置を利用するように特別にプログラムされなければならないという大型の独立したマシンであった。結局、周辺装置が多くのモジュール態様で取付けられること、交換（スワップ）されること、および取外（remove）されることを可能にするための方法が開発された。更に、コンピュータ・システムに直接にプラグインされる拡張カードの形式の装置が開発された。ほとんどのパーソナル・コンピュータのユーザは、プリンタおよび／または拡張カードを追加または交換するための手順に精通している。
【０００３】
現在、ほとんどのコンピュータ・システムは、メモリ・コントローラ、ネットワーク通信装置のような装置、即ち、「拡張カード」または単に「カード」をそのハードウェアに取付け得る物理的スロットを有する。例えば、ペリフェラル・コンポーネント・インターコネクト・スタンダード（ＰＣＩ）は、プレーナ装置、即ち、マザーボードに組込まれ、拡張カードを差込み得る「プレーナ」または「カード・キャリア」、のための仕様を含む。拡張カードは、ネットワーク・カード、サウンド・カード、ビデオ・カード、モデム、エクストラ・ポート、およびディスク・コントローラのような装置を含むが、それらに限定されない。拡張カードとコンピュータ・システムとの間の接続を提供するために使用されるコンピュータ・バス・アーキテクチャの例は、ＰＣＩｅ、ＰＣＩ−Ｘ、ＳＡＴＡ、ＩＳＡ、およびＳＡＳを含む。
【０００４】
システムがパワー（電力）ダウンされるとき、拡張カードがプレーナにおける所定位置、即ち、「スロット」に頻繁に取付けられる。しかし、或る現在のシステムは、システムが電力供給され、ハイパーバイザにブートされるとき、ユーザが装置を追加すること、取外すこと、または交換することを可能にする。このタイプのシステムでは、コンピュータ・システム全体ではなく、仮想コンピュータ・システムに割り当てられた取付け済みのハードウェアのサブセット、即ち、「パーティション」が、そのシステムをオフおよびオンにすることなく活性化および非活性化され得る。
【０００５】
ユーザが新たなカードをこのように取付けるときに生じる１つの問題は、スロットを含むパーティションが作動されるまで、または電力が供給されるまで、ハードウェア・マネージメント・コンソール（ＨＭＣ）がスロット・レベルにおける構成の変化を検知することができない、ということである。例えば、新たなパーティションを含むためにスロットを選択しようとするユーザがその新たなパーティションに対するハードウェアおよびソフトウェアを構成するとき、ユーザはその新たなパーティションを作成するためにＨＭＣを使用する。ユーザが、例えば、スモール・コンピュータ・システム・インターフェース（ＳＣＳＩ）装置をイーサネット・アダプタと置換しようとする場合、ＨＭＣはＳＣＳＩアダプタを、その時点でイーサネット・アダプタを含む位置に取付けられているものとして表示するため、ユーザは、そのパーティションに対する入出力（Ｉ／Ｏ）を選択するとき、イーサネット・アダプタに気付き得ない。ユーザは、予測されてないＳＣＳＩアダプタに対するロケーション・コードが、イーサネット・アダプタが実際に取付けられているスロットと実際に一致する、ということを確認するために二重チェックを行わなければならない。このチェックは、ハードウェアが取付けられた後にパーティション作成ステップが遠隔的に行われる場合、更に問題となる。換言すれば、不適切な装置がシステムに取付けられないことを保証するには、そのシステムの近くにいる人によって手操作でチェックされなければならない。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、複数のスロットを含むパーティションの電源をオフおよびオンにすることを必要とせずにコンピュータ拡張カードの交換を容易にするためのシステムおよび方法を提供することにある。
【課題を解決するための手段】
【０００７】
拡張カードが追加され、取外され、または交換されたときを検知するスイッチが設けられる。一般的な動作中、そのスイッチは、取付けられたカードとの物理的接触によって押下げ位置に保持され、パーティションの電力状態は、ハイパーバイザが指示する状態に対応する。カードがプレーナから取外される場合、スイッチは持上げられ、そして第２のカードが同じスロットに取付けられるとき、スイッチは再び押下げられる。スイッチの押下げは、ハイパーバイザがその新たなカードを検知するに十分な長い期間にわたるそのスロットへの電力の導入を開始させる変更信号をトリガする。スイッチは、機械的、光学的、または圧力的なスイッチを含む一般的に入手可能な任意のタイプのスイッチであってもよい。代替方法では、変更信号は、Ｉ／Ｏバスに関連した論理的存在検知ピンによりトリガされる。従って、スイッチがカードの取外し（removal）および差込みによって作動されるのではなく、Ｉ／Ｏバスの存在検知機能が変更通知信号を発生する。
【０００８】
スイッチが解放されるとき、即ち、カードがプレーナから取外されるとき、ユーザが別のカードをプレーナにしっかりと差込むに十分な時間を与えられるよう、スイッチの解放とその後の押下げとの間の時間遅延が設定される。その遅延に続いて、電力がスロットに供給され、ハイパーバイザがカードを検知して現在の構成パラメータを更新し、しかる後、スロットがハイパーバイザによって指示されたレベルまでパワー・ダウンされる。一般的には、パワー・ダウン状態はカード差込みモードと一致する。このように、ハイパーバイザは、任意の特定のプレーナ装置にその時点で取付けられているすべての装置を含むシステムに関する最新情報を、取付け過程においてその情報がいつ要求されるかに関係なく、提供することができる。特に、これは、システム管理者がコンピュータ・システムと同じサイトにいないときに重要である。
【０００９】
この概説は、本発明に関する包括的記述として意図されたものではなく、むしろ、それに関するいくつかの機能の簡単な概要を提示することを意図するものである。本発明に関する他のシステム、方法、機能、特徴、および利点は、以下の図面および詳細な説明を精査すれば、当業者には明らかであろうし、或いは明らかになるであろう。
【図面の簡単な説明】
【００１０】
【図１】本発明を組込んだコンピュータ・アーキテクチャの一例のブロック図である。
【図２】図１に関連して紹介されるサーバのシステム・バスおよび種々のコンポーネントのブロック図である。
【図３】本発明の１つまたは複数の実施例において使用されるハードウェア検知ロジック・モジュールのブロック図である。
【図４】拡張カードを取付けるために、図２に関連して最初に紹介されるプレーナ装置のブロック図である。
【図５】本発明を組込んだプレーナ装置の第２実施例のブロック図である。
【図６】図４および図５のプレーナ装置に関連した「装置交換検知」プロセスのフローチャートである。
【発明を実施するための形態】
【実施例】
【００１１】
ペリフェラル・コンポーネント・インターコネクト・スタンダード（ＰＣＩ）に対する特定の関連を説明したが、本発明は、コンピュータ周辺装置のホット・スワップが望ましい任意の情報技術（ＩＴ）において具現化することが可能である。コンピュータの当業者は、開示された実施例が下記の環境の他に広範囲のコンピュータ環境に対して関連性を有するということを認めるであろう。更に、開示された技術の方法は、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアとの組合せとして具現化することが可能である。ハードウェア部分は、特殊なロジックを使用して具現化することができるし、ソフトウェア部分はメモリに格納されること、マイクロプロセッサ、パーソナル・コンピュータ（ＰＣ）、またはメインフレームのような適当な命令実行システムにより実行され得るる。
【００１２】
本明細書との関連において、「メモリ」または「記録媒体」は、命令実行システム、装置、またはデバイスによって、或いはそれと併用して使用するためのプログラムおよび／またはデータを含み、格納し、通信し、伝播し、または搬送する任意の物理的装置であってもよい。メモリおよび記録媒体は、電子的、磁気的、光学的、電磁的、または半導体システム、装置、またはデバイスであってもよいが、それらに限定されない。メモリおよび記録媒体は、更に、例えば次のようなもの、即ち、ポータブル・コンピュータ用フレキシブル・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）、消去可能プログラマブル・リード・オンリ・メモリ、（ＥＰＲＯＭまたはフラッシュ・メモリ）、およびポータブル・コンパクト・ディスク・リード・オンリ・メモリ、またはプログラムおよび／またはデータを格納し得る他の適当な媒体を含み得るが、それらに限定されない。
【００１３】
本発明に関する一実施例は、コンピュータ・システムにおいて周辺装置を構成するためのプログラムされた方法に関する。本明細書において使用される「プログラムされた方法」という用語は、現在遂行されている１つまたは複数のプロセス・ステップ、或いは、それとは別に、将来の或る時点で遂行されることを可能にされる１つまたは複数のプロセス・ステップを意味するように定義される。その「プログラムされた方法」という用語は、３つの代替的形式を見込んでいる。第１に、プログラムされた方法は、現在遂行されているプロセス・ステップを含む。第２に、プログラムされた方法は、コンピュータによって実行されるときに１つまたは複数のプロセス・ステップを遂行するコンピュータ命令を具現化するコンピュータ可読媒体を含む。最後に、プログラムされた方法は、１つまたは複数のプロセス・ステップを遂行するために、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せによってプログラムされているコンピュータ・システムを含む。「プログラムされた方法」という用語は、複数の代替形式を同時に有するものと解されるべきではなく、むしろ、任意の所与の時点では複数の代替形式の１つだけが存在するという代替形式の最も厳密な意味として解されるべきである。
【００１４】
図１は、本発明を組込んだコンピュータ・システム・アーキテクチャ１００の一例のブロック図である。そのアーキテクチャはハードウェア管理コンソール（ＨＭＣ）１０２を含む。ＨＭＣ１０２は、モニタ１０６、キーボード１０８、およびマウス１１０に接続された中央演算処理ユニット（ＣＰＵ）１０４を含む。それらのモニタ、キーボード、およびマウスは、ＨＭＣ１０２およびクライアント・システム・アーキテクチャ１００の他の構成要素と人との対話を容易にする。
【００１５】
更に、ＨＭＣ１０２にはデータ・ストレージ・コンポーネント１１２が含まれ、ＣＰＵ１０２に接続される。データ・ストレージ・コンポーネント１１２は、ＣＰＵ１０４、即ち、内部装置に組込まれてもよいし、或いは、ユニバーサル・シリアル・バス（ＵＳＢ）ポート（図示されていない）のような、しかしそれに限定されない種々の一般的に入手可能な接続装置によってＣＰＵ１０４に外部的に組込まれてもよい。データ・ストレージ１１２は、ハイパーバイザ（ＨＹＰＲ）１１４を格納するものとして示され、ＨＹＰＲ１１４は、システム・コンテンツのテーブルおよびレジスタの維持を含む本発明の諸局面を具現化する。ハイパーバイザ１１４に関連した処理の種々の例が、図２乃至図６に関して更に詳細に後述される。
【００１６】
ＨＭＣ１０２はネットワーク１１６に通信可能に接続され、そのネットワーク１１６はサーバ・コンピュータ１２０およびサーバ・コンピュータ１２４にも接続されている。ネットワーク１１６は、ローカル・エリア・ネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、インターネット、公衆交換電話システムのような任意の数の通信媒体を表し得るがそれらに限定されず、しかも単に種々のコンピュータ・システム相互間の直接接続も表し得る。この例では、サーバ１２０はデータ・サーバであり、サーバ１２４はメインフレーム・コンピュータであるが、開示された技術は、現用の或いはやがて開発されるべき任意のタイプのコンピュータ・システムに実用的に適用可能である。
【００１７】
サーバ１２０および１２４は、それぞれ、ＨＭＣ１２２およびＨＭＣ１２６に接続される。単純化のために図示されてないが、サーバ１２０および１２４、並びにＨＭＣ１２２および１２６は、一般に、各々が少なくとも１つのＣＰＵ、モニタ、キーボード、マウス、データ・ストレージ、即ち、上記のコンポーネント１０４、１０６、１０８、１１０、１１２、および１１４のようなものを含むであろう。多くの種々のタイプの装置を含む多くの可能なコンピュータ・システム・アーキテクチャが存在するということ、およびコンピュータ・システム・アーキテクチャ１００は単に１つの簡単な例であるということに留意されたい。
【００１８】
図２は、サーバ１２０（図１）のシステム・データ・バス１２８およびそのバス１２８に接続し得る種々のコンポーネントの例を表すブロック図である。この例では、コンポーネントは、ＣＰＵ１３０、ランダム・アクセス・メモリ（ＲＡＭ）１３２、リード・オンリ・メモリ（ＲＯＭ）１３４、入出力モジュール（Ｉ／Ｏ）１３６、バス・コントローラ１３８、およびプレーナ装置または「プレーナ」１４０を含む。コンポーネント１３０、１３２、１３４、１３６、１３８、および１４０は、バス１２８に接続し得るタイプのコンポーネントの例である。代表的なコンピュータ・バスは図２に示されてない他のコンポーネントを持ち得るということ、およびコンポーネント１３０、１３２、１３４、１３６、１３８、および１４０は説明の目的で使用されるということに留意されたい。ＣＰＵ１３０  ，ＲＡＭ１３２、ＲＯＭ１３４、Ｉ／Ｏ１３６、バス・コントローラ１３８、およびプレーナまたは「カード・キャリア」１４０はコンピュータ分野の当業者に精通しているであろう。バス・コントローラ１３８は、本発明の一実施例を具現化するために使用されるハードウェア検知ロジック（ＨＤＬ）１４２も含む。ＨＤＬ１４２は、プレーナ１４０に差込まれたカードの変更を検知するためにバス１２８のロジック存在検知ピンを使用する。ＨＤＬ１４２は、図６に関連して更に詳細に後述される。
【００１９】
図３は、本発明の１つまたは複数の実施例において使用されるハードウェア検知ロジック・モジュール（ＨＤＬ）１５０のブロック図である。以下の説明では、ＨＤＬ１５０はプレーナ装置１６０（図４）およびプレーナ装置１８０（図５）に関連して使用される。この例では、ＨＤＬ１５０は、プレーナ１６０に組込まれるロジックである。ＨＤＬ１５０は、入出力（Ｉ／Ｏ）モジュール１５２、構成モジュール１５４、ＨＤＬ制御モジュール１５６、および電力制御モジュール１５８を含む。本発明は多くの構成において格納および実行され得るが、説明を簡潔にするために、プレーナ１６０によってのみ説明されるということを理解されたい。
【００２０】
Ｉ／Ｏモジュール１５２は、ＨＤＬ１５０と、本発明に従ってモニタされるプレーナ装置（図４および図５参照）およびＨＹＰＲ１１４およびＨＭＣ１０２，１２２、および１２６（図１）の如きハイパーバイザおよびＨＭＣのような、しかしそれに限定されない他のコンポーネントとの間の任意の通信を処理する。構成モジュール１５４は、ＨＤＬ１５０の設定およびオペレーションのために必要なデータを格納する。それらの例は、ＨＤＬ１５０が実行されるシステムおよびＨＤＬ１５０がモニタしているプレーナ装置に関する情報を含むが、それらに限定されない。
【００２１】
ＨＤＬ制御モジュール１５６は、ＨＤＬ１５０を制御するロジックを含む。電力制御モジュール１５８は、本発明に従ってＨＤＬ１５０により監視されるプレーナ装置に関連した電力レベルを変更するためのロジックを含む。ＨＤＬ１５０およびコンポーネント１５２、１５４、１５６、および１５８は、図４乃至図６に関連して更に詳細に説明される。
【００２２】
図４は、本発明の第２実施例を具現化するプレーナ１６０のブロック図である。プレーナ１６０は、サーバ１２０（図１）またはサーバ１２４（図１）のような適当なコンピュータ・システムに取付けることが可能である。この例では、プレーナは拡張カード（図示されていない）を差込むための５つのスロット１６１〜１６５を含む。実際のプレーナが５個よりも多いまたは少ないスロットを持ち得るということは当然である。スロット１６１〜１６５の各々は差込みレセプタクル１６８を有するが、図を単純化するためにスロット１６５だけに記載する。一般に、拡張カードは、その拡張カードが間違って差込まれることを防ぐ、差込みレセプタクル１６８に嵌め込まれたタブを一端に有する。コンピュータ分野の当業者は、スロットおよび拡張カード、並びにその２つをうまく組み合わせる方法に精通しているであろう。
【００２３】
各スロット１６１〜１６５には、それぞれ差込み検知スイッチ（ＩＤＳ）１７１〜１７５の１つが置かれる。各ＩＤＳ１７１〜１７５は、それぞれのスロット１６１〜１６５に関して特定の位置に示されているが、拡張カードの差込みで対応するＩＤＳ１７１〜１７５が押される、スロット内の任意の場所に設置し得る。ＩＤＳ１７１〜１７５は「スイッチ」として説明されるけれども、その各々は、所望の機能を提供するセンサまたはボタンのようなタイプの装置であってもよいが、それに限定されない。換言すれば、ＩＤＳ１７１〜１７５は、拡張カードが対応のスロットに差込まれたり或いは対応のスロットから取外されたりするとき、信号を送信することができる任意のタイプの装置である。更に、ＩＤＳ１７１〜１７５の各々は、拡張カードが対応スロット１６１〜１６５にその時点で差込まれているか否かを決定するために、照会対象となったＩＤＳ１７１〜１７５が押された状態にあるか或いは解放状態にあるかを決定するよう求められる。ＩＤＳ１７１〜１７５の機能は、図６に関連してもっと詳しく説明される。
【００２４】
図５は、本発明を組込んだプレーナ１８０の第３実施例のブロック図である。プレーナ１６０（図４）のように、プレーナ１８０は５個のスロット１８１〜１８５を含み、それらのスロットの各々は、拡張カードの一端に沿ってタブが嵌め込まれる差込みレセプタクル１８８を含む。プレーナ１８０は、サーバ１２０またはサーバ１２４のような任意の適当なコンピュータ装置に取付けることが可能である。プレーナ１６０とは違って、プレーナ１８０は、拡張カードがスロット１８１〜１８５のいずれかに差込まれたり或いはそれのいずれかから取外されたりするとき、信号を送る１個だけのＩＤＳ１９１を含む。ＩＤＳ１７１〜１７５のように、ＩＤＳ１９１は便宜上単に「スイッチ」と呼ばれる。即ち、ＩＤＳ１９１は、必要な機能を提供するボタンまたはセンサのような任意の装置であってもよいが、それらに限定されない。
【００２５】
図６は、図４および図５の、それぞれ、プレーナ１６０および１８０に関連した装置交換検知（ＤＤＣ）プロセスのフローチャートである。この例では、プロセス２００は、ＨＤＬ１５０（図３）のＨＤＬ制御モジュール１５６（図３）の一部として格納され、プレーナ１６０に関して説明される。更に、この例は、サーバ１２０（図１および図２）において動作するものとして説明される。
【００２６】
プロセス２００は「ＤＤＣ開始」ブロック２０２においてスタートし、直ちに「ＨＤＬ構成」ブロック２０４に進む。ブロック２０４において、プロセス２００は構成モジュール１５４（図３）から構成情報を検索し、ＨＤＬ１５０を制御する操作パラメータを初期設定する。そのようなパラメータは、Ｉ／Ｏモジュール１５２（図３）によって使用されるデータ通信チャネルおよび後述の種々の待ち期間に関連したタイムアウト値を含み得るが、それらに限定されない。図３に関連して上述したように、構成情報はＨＤＬ１５０およびプロセス２００の動作を制御する。「ＨＤＬリセット」ブロック２０６において、プロセス２００は、ＨＤＬ１５０の動作中にセットされる操作パラメータを初期設定する。そのようなパラメータの例は、プロセス２００が現在実行しているステージを表す状態変数およびそのプロセスにおける現時点で追加または交換(変更)される拡張カードの数を決定するためのセマフォ(シグナル)を含むが、それらに限定されない。
【００２７】
「事象待ち」ブロック２０８において、プロセス２００は、プレーナ１６０からの拡張カードの取外しのような目標事象を待っている間、サスペンドされる。そのような事象は、ＩＤＳ１７１〜１７５（図４）の１つの押下げまたは解放のどちらかによってトリガされる。もちろん、プレーナに１６０に関連したパワーダウンおよび後述の種々なタイムアウト値のような、拡張カードの変更を伴うことが予測される他の関連事象を検知することも可能である。「タイムアウト」ブロック２１０において、プロセス２００は、プレーナ１６０に関連した差込み／取外し事象またはタイムアウトの結果として、制御がパスされたか否かを決定する。
【００２８】
特定のタイムアウトの長さは、構成モジュール１５４に関連して格納された構成可能なパラメータによってセットされ、ブロック２０４においてロードされる。更に、処理の状態およびＨＤＬ１５０の特殊な構成に依存して種々のタイムアウト・パラメータが存在する。例えば、単一カードの差込みおよび取外し事象に対して構成された場合（図４）、ＨＤＬ１５０に関連した１つのタイムアウト値が存在し得るし、複数の差込み／取外し事象に対して構成された場合（図５）には別のタイムアウト値が存在し得る。更に、未処理の差込み／取外し事象が存在しないということをプロセス２００の状態が表す場合、タイムアウトが時間の長さに関係なくトリガされるように、タイムアウト・パラメータがセットされてもよい。
【００２９】
タイムアウトの結果としてブロック２１０が行われなかったということをプロセス２００が決定する場合、制御は「事象終了」ブロック２１２に進む。ブロック２１２において、プロセス２００は、ブロック２０８において検知された事象が差込み／取外し事象の継続の終了を表すか否かを決定する。この決定は、ＨＤＬ１５０が複数の同時差込みおよび取外しのために構成されているかどうか、或いは、例えば、単一の差込みが単一のカード取外しに後続したかどうかのような構成オプションに依存する。差込み／取外し事象の継続が終了していないということをプロセス２００が決定する場合、制御は「事象待ち」ブロック２００８に戻り、処理は上述のように継続する。
【００３０】
ブロック２１０において、制御がタイムアウトの結果としてパスされたということをプロセス２００が決定する場合、または差込み／取外し事象の継続が終了したということをプロセス２００が決定する場合、制御は「プレーナへの電力供給」ブロック２１４に進む。ブロック２１４において、サーバ１２０に関連したハイパーバイザ１１４（図１）がプレーナ１６０に対する変更を検知し、従ってシステム・コンテンツのテーブルおよびレジスタを更新するに十分に長くプレーナ１６０が電力供給される。更に、ハイパーバイザ１１４は、ＨＤＬ１５０がプレーナ１６０への電力を遮断し得るように再構成が終了したということをＨＤＬ１５０に信号するべく構成される。
【００３１】
最後に、プロセス２００は、そのプロセス２００が終了する「ＤＤＣプロセスの終了」ブロック２１９に制御を移す割り込み２１８によって停止する。割り込み２１８は、一般に、プロセス２００が一部分であるコンピュータ・システムが停止するときに発生される。所定の操作中、プロセス２００は、発生されたプレーナ事象を処理するブロック２０６、２０８、２１０、２１２、および２１４を通して連続的にループする。
【００３２】
１つの代替実施例では、プロセス２００は、ＨＤＬ１５０ではなく、ＨＤＬ１４２（図２）に関連してバス・コントローラ１３８（図２）により格納および実行される。この場合、ブロック２０８において検知された事象がＩＤＳ１７１〜１７５によって発生されるのではなく、事象は、Ｉ／Ｏバス１２８（図２）に関連した論理的存在検知ピン（図示されていない）によってトリガされる。従って、カードの取外しおよび差込みによってスイッチが作動されるのではなく、Ｉ／Ｏバス１２８の存在検知機能が交換通知信号を発生する。更に、その代替実施例では、ＨＤＬ１４２が、スロットにおける未使用ピンを使うことによってカードの物理的存在を検知し得る。
【００３３】
特定の実施例に関して本発明を示し且つ説明したが、更なる素子、もっと少ない素子、或いは修正された素子、および／または、同じ順序または異なる順序で遂行される更なるブロック、もっと少ないブロック、或いは修正されたブロックを含むがそれに限定されない、形式および細部における前述および別の変更を、本発明の主旨および範囲を逸脱することなく行い得るということは当然である。
【図１】
2010123109.tif 000003
【図２】
2010123109.tif 000004
【図３】
2010123109.tif 000005
【図４】
2010123109.tif 000006
【図５】
2010123109.tif 000007
【図６】
2010123109.tif 000008