(57)【要約】      （修正有）【課題】デュアル・カード・コントローラのカード間で、双方が同時に更新されることを確実にするような同期が取られる技術手段を提供する。【解決手段】マスタにあって、コード・ダウンロードおよびダウンロード用のマスタ・コード・ステータスを保存するストレージ・コンポーネントと、マスタにあって、サブオーディネート・コード・ステータスを受信し、サブオーディネート・コード・ステータスとマスタ・コード・ステータスとを比較してマスタでコードを更新するか否かを判断するステータス管理コンポーネントと、マスタにあって、マスタのステータス管理コンポーネントによる肯定判断に応答してマスタにてコードを更新させ、マスタのコードとサブオーディネートのコードとを整合させる更新マネージャと、が含まれる。【選択図】図２
2008140383.tif 000002
【特許請求の範囲】
【請求項１】
マスタとして指定されたデバイス・コントローラを管理する装置であって、該デバイス・コントローラは、サブオーディネートとして指定されたもう１つのデバイス・コントローラおよびホスト・デバイスと通信するように動作可能であり、前記装置は、
前記マスタにあって、前記ホスト・デバイスからコード・ダウンロードを受信し、前記コード・ダウンロードを前記サブオーディネートへ送信し、前記サブオーディネートにサブオーディネート・コード・ステータスをリクエストする通信コンポーネントと、
前記マスタにあって、前記コード・ダウンロードおよび前記ダウンロード用のマスタ・コード・ステータスを保存するストレージ・コンポーネントと、
前記マスタにあって、前記サブオーディネート・コード・ステータスを受信し、前記サブオーディネート・コード・ステータスと前記マスタ・コード・ステータスとを比較し、前記マスタにおいてコードを更新するか否かを判断するステータス管理コンポーネントと、
前記マスタにあって、前記マスタの前記ステータス管理コンポーネントによる肯定判断に応答して前記マスタにてコードを更新させ、前記マスタのコードと前記サブオーディネートのコードとを整合させる更新マネージャと、
を含む装置。
【請求項２】
サブオーディネートとして指定されたデバイス・コントローラを管理する装置であって、該デバイス・コントローラは、マスタとして指定されたもう１つのデバイス・コントローラおよびホスト・デバイスと通信するように動作可能であり、前記装置は、
前記サブオーディネートにあって、前記マスタからコード・ダウンロードを受信し、前記マスタへサブオーディネート・コード・ステータスを送信し、前記マスタから前記マスタ・コード・ステータスを受信する通信コンポーネントと、
前記サブオーディネートにあって、前記コード・ダウンロードおよび前記マスタ・コード・ステータスを保存するストレージ・コンポーネントと、
前記サブオーディネートにあって、前記サブオーディネート・コード・ステータスを判断し、前記サブオーディネート・コード・ステータスと前記マスタ・コード・ステータスとを比較し、前記サブオーディネートにおいてコードを更新するか否かを判断するステータス管理コンポーネントと、
前記サブオーディネートにあって、前記サブオーディネートの前記ステータス管理コンポーネントによる肯定判断に応答して前記サブオーディネートにてコードを更新させ、前記サブオーディネートのコードと前記マスタのコードとを整合させる更新マネージャと、
を含む装置。
【請求項３】
前記マスタにある前記ステータス管理コンポーネントによって否定判断がでれば、前記マスタに以前のコード・レベルを使用させる、請求項１に記載の装置。
【請求項４】
前記サブオーディネートにある前記ステータス管理コンポーネントによって否定判断がでれば、前記サブオーディネートに以前のコード・レベルを使用させる、請求項２に記載の装置。
【請求項５】
前記マスタおよび前記サブオーディネートが、冗長化されている一対のコントローラを含む、請求項１乃至４のいずれかに記載の装置。
【請求項６】
マスタとして指定されたデバイス・コントローラを管理する方法であって、該デバイス・コントローラは、サブオーディネートとして指定されたもう１つのデバイス・コントローラおよびホスト・デバイスと通信するように動作可能であり、前記方法は、
前記マスタにある通信コンポーネントによって、前記ホスト・デバイスからコード・ダウンロードを受信し、前記コード・ダウンロードを前記サブオーディネートへ送信し、前記サブオーディネートにサブオーディネート・コード・ステータスをリクエストするステップと、
前記マスタにあるストレージ・コンポーネントによって、前記コード・ダウンロードおよび前記ダウンロード用のマスタ・コード・ステータスを保存するステップと、
前記マスタにあるステータス管理コンポーネントによって、前記サブオーディネート・コード・ステータスを受信し、前記サブオーディネート・コード・ステータスと前記マスタ・コード・ステータスとを比較し、前記マスタにおいてコードを更新するか否かを判断するステップと、
前記マスタの前記ステータス管理コンポーネントによる肯定判断に応答して、前記マスタにある更新マネージャによって前記マスタにてコードを更新させ、前記マスタのコードと前記サブオーディネートのコードとを整合させるステップと、
を含む方法。
【請求項７】
前記マスタにある前記ステータス管理コンポーネントによって否定判断がでれば、前記マスタに以前のコード・レベルを使用させる、請求項６に記載の方法。
【請求項８】
サブオーディネートとして指定されたデバイス・コントローラを管理する方法であって、該デバイス・コントローラは、マスタとして指定されたもう１つのデバイス・コントローラおよびホストデバイスと通信するように動作可能であり、前記方法は、
前記サブオーディネートにある通信コンポーネントによって、前記マスタからのコード・ダウンロードを受信し、前記マスタへサブオーディネート・コード・ステータスを送信し、前記マスタから前記マスタ・コード・ステータスを受信するステップと、
前記サブオーディネートにあるストレージ・コンポーネントによって、前記コード・ダウンロードおよび前記マスタ・コード・ステータスを保存するステップと、
前記サブオーディネートにあるステータス管理コンポーネントによって、前記サブオーディネート・コード・ステータスを判断し、前記サブオーディネート・コード・ステータスと前記マスタ・コード・ステータスとを比較して前記サブオーディネートにおいてコードを更新するか否かを判断するステップと、
前記サブオーディネートの前記ステータス管理コンポーネントによる肯定判断に応答して、前記サブオーディネートにある更新マネージャによって前記サブオーディネートにてコードを更新させ、前記サブオーディネートのコードと前記マスタのコードとを整合させるステップと、
を含む方法。
【請求項９】
前記サブオーディネートにある前記ステータス管理コンポーネントによって否定判断がでれば、前記サブオーディネートに以前のコード・レベルを使用させる、請求項８に記載の方法。
【請求項１０】
前記マスタおよび前記サブオーディネートが、冗長化されている一対のコントローラを含む、請求項６乃至９のいずれかに記載の方法。
【請求項１１】
コンピュータ・システムに取り込まれそこで実行されると、前記コンピュータ・システムが請求項６乃至１０のうちのいずれか１項に記載の方法の各ステップを実行するようにするコンピュータ・プログラム・コードを含む、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイス・コントローラを管理する技術に関し、特に、デュアル・カード・コントローラのカード間の同期化を管理することに関する。
【背景技術】
【０００２】
最近のデバイス・コントローラには、同じコントローラ・カードを２枚使用しているものが多く、１枚のカードが故障した場合にも残っている「正常な」カードを使用してコントローラが動作を継続できるようになっている。
【０００３】
概して、デュアル・カードのコントローラ・システムでは、各カードがマイクロ・プロセッサによって制御され、他方のカードと通信するほか、ホスト・システムおよび制御される１つまたは複数のデバイスと通信する。別々の２枚の制御カード上のファームウェアは通常同等レベルになるとはいえ、そうであるという保証はなく、ファームウェアの新バージョンは全て旧バージョンの通信プロトコルに対応していなければならない。このようにファームウェアの以前の全レベルの通信プロトコルに対応することが要求されると、通信プロトコルの変更が大きく制限されることになる。このことは、ファームウェア・コードのアップグレードのタスクを複雑化し、コントローラ・カードのメモリ内にファームウェア・コードを保存するスペースがさらに必要になるという点で、明らかに不利である。
【０００４】
現在、先行技術による従来型デュアル・カード・コントローラ（代表的には、ＳＣＳＩエンクロージャ・サービスすなわちＳＥＳカード）上には、ファームウェアを含むＥＰＲＯＭ（あるいは「フラッシュ・メモリ」）として公知の消去可能プログラマブルＲＯＭの領域が３つある。
１．ブート領域（リセット直後に実行される）
２．イメージ１（実行されるメイン・コード・イメージ）
３．イメージ２（新規メイン・コード・イメージ用のダウンロード領域）
【０００５】
一般に、ダウンロードは以下の通りに実行される。
１．ホスト・システムがコード・データ・パケットをコントローラ・カードへ送信し、コントローラ・カードは、これを受信した通りにフラッシュ・メモリのイメージ２領域に焼く。
２．次に、ホストは、コードを「コミット」するようにコントローラ・カードへ命令する。これには、イメージ２領域が正しくダウンロードされておりかつ有効なチェックサムを有していることの検証を含む。
３．ステップ２がうまくいったら、ホスト・システムはコントローラ・カードをリセットし、そうするとブート・コードがイメージ２に新しいコードのあることを検出し、それをイメージ１のコードの上にコピーして実行する。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
この従来型の方法の不利な点は、デュアル・カード・コントローラのカード間で、双方が同時に更新されることを確実にするような同期が取られないことである。したがって、ファームウェアの異なるレベルが互いに通信し合わなければならない事態を回避する技術手段を提供することは有利である。
【課題を解決するための手段】
【０００７】
従って、本発明は、第１の態様では、マスタとして指定されたデバイス・コントローラを管理する装置であって、該デバイス・コントローラは、サブオーディネートとして指定されたもう１つのデバイス・コントローラおよびホスト・デバイスと通信するように動作可能となっている装置を提供する。この装置には、マスタにあって、ホスト・デバイスからコード・ダウンロードを受信し、コード・ダウンロードをサブオーディネートへ送信し、サブオーディネートにサブオーディネート・コード・ステータスをリクエストする通信コンポーネントと、マスタにあって、コード・ダウンロードおよびダウンロード用のマスタ・コード・ステータスを保存するストレージ・コンポーネントと、マスタにあって、サブオーディネート・コード・ステータスを受信し、サブオーディネート・コード・ステータスとマスタ・コード・ステータスとを比較してマスタにおいてコードを更新するか否かを判断するステータス管理コンポーネントと、マスタにあって、マスタのステータス管理コンポーネントによる肯定判断に応答してマスタにてコードを更新させ、マスタのコードとサブオーディネートのコードとを整合させる更新マネージャと、が備わっている。
【０００８】
第２の態様では、サブオーディネートとして指定されたデバイス・コントローラを管理する装置であって、該デバイス・コントローラは、マスタとして指定されたもう１つのデバイス・コントローラおよびホスト・デバイスと通信するように動作可能となっている装置を提供する。この装置には、サブオーディネートにあって、マスタからコード・ダウンロードを受信し、マスタへサブオーディネート・コード・ステータスを送信し、マスタからマスタ・コード・ステータスを受信する通信コンポーネントと、サブオーディネートにあって、コード・ダウンロードおよびマスタ・コード・ステータスを保存するストレージ・コンポーネントと、サブオーディネートにあって、サブオーディネート・コード・ステータスを判断し、サブオーディネート・コード・ステータスとマスタ・コード・ステータスとを比較してサブオーディネートにおいてコードを更新するか否かを判断するステータス管理コンポーネントと、サブオーディネートにあって、サブオーディネートのステータス管理コンポーネントによる肯定判断に応答してサブオーディネートにてコードを更新させ、サブオーディネートのコードとマスタのコードとを整合させる更新マネージャと、が備わっている。
【０００９】
マスタにあるステータス管理コンポーネントによって否定判断がでれば、マスタが以前のコード・レベルを使用することが望ましい。
【００１０】
サブオーディネートにあるステータス管理コンポーネントによって否定判断がでれば、サブオーディネートが以前のコード・レベルを使用することが望ましい。
【００１１】
マスタおよびサブオーディネートが、ＳＥＳコントローラ・カードを含むことが望ましい。
【００１２】
マスタおよびサブオーディネートが、冗長化されている一対のコントローラを含むことが望ましい。
【００１３】
マスタ・コード・ステータスが、コード・ダウンロードの検証チェックを含むことが望ましい。
【００１４】
サブオーディネート・コード・ステータスが、コード・ダウンロードの検証チェックを含むことが望ましい。
【００１５】
検証チェックが、チェックサム・チェックを含むことが望ましい。
【００１６】
第３の態様では、マスタとして指定されたデバイス・コントローラを管理する方法であって、該デバイス・コントローラは、サブオーディネートとして指定されたもう１つのデバイス・コントローラおよびホスト・デバイスと通信するように動作可能となっている方法が提供される。この方法は、マスタにある通信コンポーネントによって、ホスト・デバイスからコード・ダウンロードを受信し、コード・ダウンロードをサブオーディネートへ送信し、サブオーディネートにサブオーディネート・コード・ステータスをリクエストするステップと、マスタにあるストレージ・コンポーネントによって、コード・ダウンロードおよびダウンロード用のマスタ・コード・ステータスを保存するステップと、マスタにあるステータス管理コンポーネントによって、サブオーディネート・コード・ステータスを受信し、サブオーディネート・コード・ステータスとマスタ・コード・ステータスとを比較してマスタにおいてコードを更新するか否かを判断するステップと、マスタにあるステータス管理コンポーネントによる肯定判断に応答して、マスタにある更新マネージャによってマスタにてコードを更新させ、マスタのコードとサブオーディネートのコードとを整合させるステップと、を含む。
【００１７】
第４の態様では、サブオーディネートとして指定されたデバイス・コントローラを管理する方法であって、該デバイス・コントローラは、マスタとして指定されたもう１つのデバイス・コントローラおよびホスト・デバイスと通信するように動作可能となっている方法が提供される。この方法は、サブオーディネートにある通信コンポーネントによって、マスタからコード・ダウンロードを受信し、マスタへサブオーディネート・コード・ステータスを送信し、マスタからマスタ・コード・ステータスを受信するステップと、サブオーディネートにあるストレージ・コンポーネントによって、コード・ダウンロードおよびマスタ・コード・ステータスを保存するステップと、サブオーディネートにあるステータス管理コンポーネントによって、サブオーディネート・コード・ステータスを判断し、サブオーディネート・コード・ステータスとマスタ・コード・ステータスとを比較してサブオーディネートにおいてコードを更新するか否かを判断するステップと、サブオーディネートのステータス管理コンポーネントによる肯定判断に応答して、サブオーディネートにある更新マネージャによってサブオーディネートにてコードを更新させ、サブオーディネートのコードとマスタのコードとを整合させるステップと、を含む。
【００１８】
マスタにあるステータス管理コンポーネントによって否定判断がでれば、マスタが以前のコード・レベルを使用することが望ましい。
【００１９】
サブオーディネートにあるステータス管理コンポーネントによって否定判断がでれば、サブオーディネートが以前のコード・レベルを使用することが望ましい。
【００２０】
マスタおよびサブオーディネートが、ＳＥＳコントローラ・カードを含むことが望ましい。
【００２１】
マスタおよびサブオーディネートが、冗長化されている一対のコントローラを含むことが望ましい。
【００２２】
マスタ・コード・ステータスが、コード・ダウンロードの検証チェックを含むことが望ましい。
【００２３】
サブオーディネート・コード・ステータスが、コード・ダウンロードの検証チェックを含むことが望ましい。
【００２４】
検証チェックが、チェックサム・チェックを含むことが望ましい。
【００２５】
第５の態様では、機能データを有するデータ・キャリアが提供される。機能データは、機能的コンピュータ・データ構造を含み、コンピュータ・システムに取り込まれることによって動作すると、コンピュータ・システムが第３または第４のいずれかの態様による方法の全ステップを実行できるようになる。
【００２６】
第６の態様では、コンピュータ・プログラム・コードを含んだコンピュータ・プログラムが提供され、コンピュータ・システムに取り込まれてその上で実行されると、コンピュータ・システムが第３または第４のいずれかの態様による方法の全ステップを実行するようになる。
【００２７】
本発明の好適な実施形態では、次のように、最も広い観点から、同期方式により双方のコントローラ・カードを新規コード・レベルへと同時に更新する有利な技術構想を考察する。この技術では、コントローラ・カードが双方とも新規コード・レベルをインストールするまでは確実に相互作用しないようにすることによって、非互換性の問題を回避する。
【発明を実施するための最良の形態】
【００２８】
ここで、本発明の好適な実施形態を、ほんの一例として、添付図面を参照して説明する。
【００２９】
本発明の好適な実施形態は、デュアル・カード・デバイス・コントローラ・システム内で実現される。
【００３０】
図１には、デュアル・カードのデバイス・コントローラ・システムが示されており、そこにはブート・コード１０２、１０２’をそれぞれ有する一対のコントローラ・カード１００、１００’が備わっている。各コントローラは、メイン・コード・イメージを保存するイメージ１領域１０４、１０４’と、ダウンロード・イメージを保存するイメージ２領域１０６、１０６’とを、さらに備えている。各コントローラは、さらに、それぞれのブート・コード１０２、１０２’による起動に応じてそれぞれのイメージ１領域１０４、１０４’からのコードを実行するプロセッサ１０８、１０８’を備えている。イメージ１領域１０４、１０４’およびイメージ２領域１０６、１０６’のコード・イメージは、関連したコード・レベルを有しているとよく、例えば、コードのリリースまたはバージョン・レベルなどを有しているとよい。コントローラ・カード１００、１００’は、相互通信のためにクロス・カード通信チャネル１１０によって動作可能に連結されており、このクロス・カード通信チャネルは、当業者に周知である多数の形態のいずれであってもよい。コントローラ・カード１００、１００’は、それぞれホスト・インターフェースによってホスト・システムと動作可能に連結されるとよい。
【００３１】
装置または装置の構成の形をとる本発明の好適な実施形態は、デバイス・コントローラの管理、特にデュアル・カード・コントローラのカードの管理に関する技術構想を提供するという課題に有利に対処している。
【００３２】
図２は、本発明の好適な実施形態によるプロセス・フローを概括的に示す図である。図２は３つの欄に分割されており、ホスト、マスタの役割を果たすように決められたカード、およびサブオーディネートの役割を果たすように決められたカードのそれぞれが実行する動作を表すようになっている。図１のコントローラ・カード１００、１００’のようなマスタおよびサブオーディネート・コントローラ・カードの選択については、当業者には十分理解されているプロセスであるため、本明細書では、これ以上説明はしない。ただし、例示した実施形態のカードは全く同じものであって、どちらのカードがどちらの役割を果たしてもよいものとする。別の構成では、カードの機能を異ならせてもよく、一対のカードのいずれか一方が常にマスタに選ばれ、もう一方が常にサブオーディネートに選ばれるようにすればよい。
【００３３】
図２では、ステップ２００で、ホストが、ダウンロード・コマンドを発行して新規コード・イメージをマスタへ送信し、ステップ２０２で、マスタが、ダウンロードを受信し、コード・イメージをイメージ２領域に保存し、さらにサブオーディネートへと送信する。ステップ２０４では、ホストが、コード更新プロセスを開始させるコミット・コマンドを発行し、ステップ２０６では、マスタが、コードのレベル番号のやり取りをサブオーディネートにリクエストすることによってコミット・コマンドに応答する。ステップ２０８では、サブオーディネートが、マスタのレベル番号を受信し、自分のレベル番号で応答する。いずれかにとって新規のコード・イメージのレベル番号がやり取りされるのは、例えばチェックサムまたは同様のものを使用したコードのテストなどによってコードが有効であると検証されている場合に限られる。例えば、コードが伝送の間に壊れていないことを確認するために、コード・イメージがダウンロードされた後で、チェックサムのテストが行われるとよい。ステップ２１０では、双方のコード・レベルが有効であることが検証されたら、マスタがサブオーディネートに対してリセットを発行して、サブオーディネートにおけるコードの更新プロセスを開始させるようにし、ステップ２１２では、サブオーディネートが、双方が使用可能な新規コード・イメージを有していることを確認したら、メイン・コード・イメージを更新して新規コードを実行する準備を整える。ステップ２１４では、マスタが、サブオーディネートの更新が完了するまでの時間を待ち、その後、メイン・コード・イメージの更新を開始するように自らをリセットする。ステップ２１６では、マスタが、双方に使用可能な新規コード・イメージのあることを確認したら、自分のメイン・コード・イメージを更新する。この段階において、マスタは、新規コードを実行する準備が整っている。
【００３４】
好適な実施形態によるＳＥＳコントローラのコード・ダウンロード・プロセスは次の通りである。ホスト・システムが、コード・データ・パケットを「マスタ」ＳＥＳカードへ送信し、このカードが、それをもう一方の「サブオーディネート」ＳＥＳカードへ転送する。双方のＳＥＳカードは、コード・パケットを、受信した通りにフラッシュ・メモリのイメージ２領域に焼く。ホスト・システムは、次に、先と同様に「コミット」を発行する。このスキームは、双方のカードが双方のイメージ内のコード・レベルを認識していることに依っているため、両カードが通信リンク上でこの情報をやりとりする必要がある。
【００３５】
マスタＳＥＳカードは、サブオーディネートから得る上記の情報および自分のイメージに関する知識を使用して、次に、双方のカード内のイメージ２が有効かどうかを検証する。双方のイメージ２が有効であれば、マスタは、サブオーディネートＳＥＳカードを強制的にリセットさせて新規のコードを取り入れるようにする。リセットされるカードは、相手のコード・レベルに関する情報をメモリに保存しておく必要があり、リセットをしてもこの情報は保護される。（別の選択肢は、この情報を照会するのに必要な機能をブート・コードが備えることであり、これはすなわち、全コード・レベルに作用することが必要な通信の小規模サブセットを備えることを意味する。）
【００３６】
リセットされているカードのブート・コードが、自分のイメージ２に新規のイメージがあり、さらに相手のカードも２つのイメージのいずれかに同じコード・レベルを有していることに気付いたら、イメージ２をイメージ１にコピーして実行開始する。上記に当てはまらない場合は、イメージ１が実行される。双方のＳＥＳカードが同時にリセットするとファイバ・チャネル・デバイスへの接続に受け入れがたいロスが生じかねないので、これを避けるために、マスタＳＥＳカードは、適当な期間を待機した後で、新規コードを取り入れるように自らをリセットする。コード・レベルを確認して適切なコードを実行するステップ群は、サブオーディネートのリセットのほか、マスタのリセットにも適用する。新規コード・レベルを取り入れリセットから抜けた後は、双方が同じ「インターフェース・レベル」で動作していると判断されるまで、それぞれのＳＥＳカードが相互作用を避けることになる。
【００３７】
これは、例えば、それぞれのカードが、リセットから抜けた後で、相手と自分の「インターフェース・レベル」の互換性を確認することによって実現できる。レベルに互換性がなければ、相手とそれ以上相互作用するのは認められない。
【００３８】
さらなる改善としては、追加機能を導入して、カードが取り出されて異なるコード・レベルを有するカードに差し替えられる場合に対処することもできる。このような場合には、差し替えられたばかりのカードが、何もせずただ新規コード・レベルのダウンロードを待機するだけの状態になる必要がある。
【００３９】
故に、この好適な実施形態の方法では、ブート・コードが相手のカードの状態およびその稼働しているレベルを知る手段を有していることが必要である。この要件を満たす最も簡単な方法は、全コード・レベルによってサポートされる通信プロトコルのごく小規模なサブセットを規定することである。例えば、コード・レベルなどコントローラの状態を伝達した１つのメッセージをサポートしていれば十分であると考えられる。さらに、ホスト・システムから直接ダウンロードを起動してもよいが、クロス・カード・インターフェースを通してダウンロードの機会を作るダウンロード・コマンドをサポートするのも適切であると考えられる。
【００４０】
このように、方法または論理構成の形をとる本発明の好適な実施形態は、デバイス・コントローラの管理、特にデュアル・カード・コントローラのカード間における同期化の管理に関する技術構想を提供するという課題に対処するのに有利である。
【００４１】
当業者には明らかなことであるが、本発明の好適な実施形態の方法の全てまたは一部は、この方法のステップ群を実行するように構成された論理素子を有する１つまたは複数の論理装置において適切かつ有用に具現化されることができ、さらに上記の論理素子には、ハードウェア・コンポーネント、ファームウェア・コンポーネントあるいはこれらの組み合わせが含まれるとよい。
【００４２】
次も当業者には明らかなことであるが、本発明の好適な実施形態による論理構成の全てまたは一部が、この方法のステップ群を実行する論理素子を含む論理装置において適切に具現化されることができ、さらに上記の論理素子には、例えばプログラマブル論理アレイまたは特定用途向け集積回路にある論理ゲートなどのコンポーネントが含まれるとよい。このような論理構成は、さらに、例えばバーチャル・ハードウェア記述言語を使用するなどして、素子が上記のようなアレイまたは回路内に一時的または恒久的に論理構造を構築できるようにして具現化してもよい。この論理構造は固定式のまたは伝送可能なキャリア・メディアを使用して保存し伝送されてもよい。
【００４３】
当然のことながら、上述の方法および構成は、１つまたは複数のプロセッサ上で稼働しているソフトウェアにおいても適切に全面的または部分的に実行することができ、ソフトウェアは、磁気または光ディスクなど各種の適切なデータ・キャリア（図示せず）で搬送される１つまたは複数のコンピュータ・プログラム要素の形で提供されるとよい。同様に、データ伝送用のチャネルには、有線または無線信号搬送メディアといった信号搬送メディアに加え、あらゆる種類のストレージ・メディアが含まれてもよい。
【００４４】
本発明は、さらに、コンピュータ・システムで使用するコンピュータ・プログラム製品として適切に具現化することができる。このような実装には、一連のコンピュータ可読命令が含まれるとよく、これらの命令は、例えばディスケット、ＣＤ−ＲＯＭ、ＲＯＭ、またはハード・ディスクといったコンピュータ可読媒体などの有形的媒体上に固定されるか、あるいは、光またはアナログ通信線を含むがこれに限定しない有形的媒体によって、もしくは無形的にマイクロ波、紫外線を含むがこれに限定しない無線技術またはその他の伝送技術を使用して、モデムまたは他のインターフェース・デバイスを介してコンピュータ・システムへ伝送可能となっているか、のいずれかである。一連のコンピュータ可読命令は、本明細書において前述した機能の全てまたは一部を具現化するものである。
【００４５】
当業者には当然のことであるが、かかるコンピュータ可読命令は、多数のコンピュータ・アーキテクチャまたはオペレーティング・システムで使用される多様なプログラミング言語で書かれてもよい。さらに、上記の命令は、半導体、磁気または光学式を含むがこれに限定しない現在のまたは未来のどのようなメモリ技術を使用して保存されてもよく、あるいは光、紫外線またはマイクロ波を含むがこれに限定しない現在のまたは未来のどのような通信技術を使用して伝送されてもよい。上記のようなコンピュータ・プログラム製品は、例えばシュリンクラップ・パッケージ・ソフトウェアのように、印刷または電子化された文書が添付された取り外し可能な媒体として配布されてもよく、システムＲＯＭまたは固定ディスク上などにコンピュータ・システムと共に予め組み込まれてもよく、あるいはインターネットまたはワールド・ワイド・ウェブなどネットワーク上のサーバまたは電子掲示板から配布されてもよいことが考察されている。
【００４６】
あるいは、本発明の好適な実施形態は、コンピュータ・プログラム・コードをデプロイするステップ群を含んだサービスを展開する、コンピュータ実装型の方法という形で実現されるとよく、このコンピュータ・プログラム・コードは、コンピュータの基盤にデプロイされてそこで実行されるとき、上記コンピュータ・システムに方法の全ステップを実行させるように動作可能である。
【００４７】
当業者には明らかなように、前述の例示的な実施形態には、本発明の範囲を逸脱することなく多数の改良および変更を施すことができる。
【図面の簡単な説明】
【００４８】
【図１】本発明の好適な実施形態による装置または装置の構成を概略的に示す図である。
【図２】本発明の好適な実施形態による動作方法を実現可能な1つの方法または1つの論理構成を概略的に示す図である。
【符号の説明】
【００４９】
１００  コントローラ・カード１
１００’  コントローラ・カード２
１０２、１０２’  ブート・コード
１０４、１０４’  イメージ１  メイン・イメージ
１０６、１０６’  イメージ２  ダウンロード
１０８、１０８’  プロセッサ
１１０  クロス・カード通信
【図１】
2008140383.tif 000003
【図２】
2008140383.tif 000004