(57)【要約】  本発明は、ドメイン間データ転送のための方法および装置を提供する。方法は、起点となる装置のメモリ領域を中央装置にマッピングすること、および目標となる装置のメモリ領域を中央装置にマッピングすることからなる。さらに方法は、起点となる装置のマッピングされたメモリ領域から、目標となる装置のマッピングされた領域へとデータを転送することからなる。
2005515543.tif 000002
【特許請求の範囲】
【請求項１】
起点となる装置から中央装置にメモリ領域をマッピングすること、
目標となる装置から中央装置にメモリ領域をマッピングすること、および
起点となる装置のマッピングされたメモリ領域から、目標となる装置のマッピングされたメモリ領域にデータを転送すること
からなる方法。
【請求項２】
起点となる装置のメモリ領域のマッピングが、起点となる装置のメモリ領域の物理アドレス範囲に関連した少なくとも１つのページ・フレーム番号を受信すること、および、ページ・フレーム番号を中央装置の仮想メモリ位置へマッピングすることからなる請求項１に記載の方法。
【請求項３】
目標となる装置のメモリ領域のマッピングが、目標となる装置のメモリ領域の物理アドレス範囲に関連した少なくとも１つのページ・フレーム番号を受信すること、および、ページ・フレーム番号を中央装置の仮想メモリ位置へマッピングすることからなる請求項２に記載の方法。
【請求項４】
データの転送が、起点となる装置のマッピングされたメモリ領域から、目標となる装置のマッピングされたメモリ領域へとデータをコピーすることからなる請求項１に記載の方法。
【請求項５】
起点となる装置のメモリ領域のマッピングが、起点となる装置の転送バッファの物理アドレスを中央装置にマッピングすることからなる請求項１に記載の方法。
【請求項６】
起点となる装置のメモリ領域のマッピングが、目標となる装置の受信バッファの物理アドレスを中央装置にマッピングすることからなる請求項１に記載の方法。
【請求項７】
起点となる装置のメモリ領域の中央装置へのマッピングが、起点となる装置から受信した目標となる装置へのデータ転送要求に応答して、起点となる装置のメモリ領域をマッピングすることからなる請求項１に記載の方法。
【請求項８】
起点となる装置のメモリ領域の中央装置へのマッピングが、目標となる装置から受信した起点となる装置からのデータの受信要求に応答して、起点となる装置のメモリ領域をマッピングすることからなる請求項７に記載の方法。
【請求項９】
起点となる装置からの要求の受信が、中央装置へとマッピングされた起点となる装置の送信キューを、目標となるドメインへのデータ転送を求めるメッセージを探してポーリングすることからなる請求項７に記載の方法。
【請求項１０】
インターフェイス、および
インターフェイスに通信可能に接続されたコントローラ
からなり、
コントローラが、
インターフェイスを通して、第１のクライアント・ドメインから第２のクライアント・ドメインへとデータを転送するタスクを受信し、
第１のクライアント・ドメインのメモリ領域を中央ドメインにマッピングし、第２のクライアント・ドメインのメモリ領域を中央ドメインにマッピングし、そして
第１のクライアント・ドメインのマッピングされたメモリ領域から、第２のクライアント・ドメインのマッピングされたメモリ領域へとデータを転送する
よう構成されている装置。
【請求項１１】
第１のクライアント・ドメインのメモリ領域が、第１のクライアント・ドメインの送信バッファのアドレス範囲に対応している請求項１０に記載の装置。
【請求項１２】
第２のクライアント・ドメインのメモリ領域が、第２のクライアント・ドメインの受信バッファのアドレス範囲に対応している請求項１０に記載の装置。
【請求項１３】
コントローラが、データ転送タスクにアクセスすべく第１のクライアント・ドメインの送信キューにアクセスし、送信キューに対応するアドレス範囲が中央ドメインにマッピングされる請求項１０に記載の装置。
【請求項１４】
コントローラが、データ転送タスクにアクセスすべく定期的に送信キューをポーリングする請求項１３に記載の装置。
【請求項１５】
送信キューが、タスクに関連づけられた状態フィールドを有し、転送が完了したことを示すべくコントローラが状態フィールドを更新する請求項１３に記載の装置。
【請求項１６】
状態フィールドの更新に応答して、第１のクライアント・ドメインがタスクを送信キューから削除する請求項１５に記載の装置。
【請求項１７】
コントローラが、第２のクライアント・ドメインのマッピングされたメモリ領域へのデータ転送に応答して、第２のクライアント・ドメインの受信キューにタスクを記憶する請求項１０に記載の装置。
【請求項１８】
第２のクライアント・ドメインが、記憶されたタスクを求めて受信キューに定期的にアクセスし、受信キューにタスクが記憶されているとの判断に応答して、第２のクライアント・ドメインが受信キューからのタスクを実行する請求項１７に記載の装置。
【請求項１９】
コントローラが、成功裏のデータ転送に応答して、マッピングしたメモリ領域を取り除く請求項１０に記載の装置。
【請求項２０】
機械で読み取り可能な１つ以上の記憶媒体からなり、記憶媒体が命令を収容している物品であって、
命令の実行時、プロセッサによる
送信キューへのアクセス、
送信キューに、元のアドレスおよび宛先アドレスを含む実行すべきメッセージがあるかどうかの判断、
元のアドレスに対応するメモリ領域の共有リソース・ドメインへのマッピング、
宛先アドレスに対応するメモリ領域の共有リソース・ドメインへのマッピング、および
元のアドレスおよび宛先アドレスがマッピングされたメモリ領域間でのデータ転送
が可能になる物品。
【請求項２１】
命令が、実行されたときに、送信キューに対応するメモリ・アドレス範囲の分割リソース・ドメインへのマッピングを、プロセッサに可能ならしめる請求項２０に記載の物品。
【請求項２２】
命令が、実行されたときに、第１のドメインの送信キューの定期的ポーリングを、プロセッサに可能ならしめる請求項２１に記載の物品。
【請求項２３】
命令が、実行されたときに、第１のドメインの送信バッファに対応するメモリ・アドレス範囲のマッピングを、プロセッサに可能ならしめる請求項２２に記載の物品。
【請求項２４】
命令が、実行されたときに、第２のドメインの受信バッファに対応するメモリ・アドレス範囲のマッピングを、プロセッサに可能ならしめる請求項２２に記載の物品。
【請求項２５】
命令が、実行されたときに、成功裏のデータ転送にもとづく第１のドメインのメッセージに関連づけられた状態フィールドの更新を、プロセッサに可能ならしめる請求項２０に記載の物品。
【請求項２６】
命令が、実行されたときに、成功裏のデータ転送に応答した送信キューからのメッセージの除去を、プロセッサに可能ならしめる請求項２０に記載の物品。
【請求項２７】
命令が、実行されたときに、第２のドメインの受信キューへのメッセージでの記憶を、プロセッサに可能ならしめ、受信キュー内のアドレス範囲が共有リソース・ドメインにマッピングされている請求項２０に記載の物品。
【請求項２８】
命令が、実行されたときに、成功裏のデータ転送に応答したマッピングされたメモリ領域の除去を、プロセッサに可能ならしめる請求項２０に記載の物品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、広くはデータ転送に関し、さらに詳しくは、ドメイン間データ転送に関する。
【背景技術】
【０００２】
企業は通常、他の企業に対する競争的優位を保つために、ネットワーク・コンピューティングに依存している。したがって、開発者は、ネットワーク指向の環境で使用されるプロセッサ・ベースのシステムを設計するとき、顧客の期待に合致するよう、システムの機能、信頼性、拡張性、および性能など、いくつかの要因を考慮に入れて設計を行うであろう。
【０００３】
ネットワーク指向の環境で使用されるプロセッサ・ベースのシステムの一例は、ミッドレンジのサーバ・システムである。ミッドレンジのサーバ・システムは、例えば１つ以上のドメインとして構成できる複数のシステム・ボードを備えている。そこでは、ドメインが、例えば構成された１つ以上のタスクを実行すべく、オペレーティング・システムの当該ドメイン自身のインスタンスを実行することにより、別々の機械として機能する。
【０００４】
一体化したシステム中に実質的に独立して動作するドメインを設けることの利点は、顧客が、そうでない場合にはいくつかの別々の機械に割り当てなければならない種々のタスクを、実行できるようになることから容易に明らかである。しかしながら、ある場合には、実質的に独立している１つ以上のドメインを、例えばハードウェア・リソースを共通にすることによる利点を享受するため、結び付けたい場合もある。さらに、結び付けたドメイン間においてエラーの絶縁を保ちつつ、効率的にドメイン間のデータ転送を行うことが望まれる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の実施の一形態においては、データ転送の方法が提供される。方法は、起点となる装置のメモリ領域を中央装置にマッピングすること、および、目標となる装置のメモリ領域を中央装置にマッピングすることを含んでいる。さらに方法は、起点となる装置のマッピングされたメモリ領域から、目標となる装置のマッピングされたメモリ領域へとデータを転送することを含んでいる。
【０００６】
本発明の他の実施形態においては、ドメイン間データ転送のための装置が提供される。装置は、インターフェイス、および、インターフェイスに通信可能に接続されたコントローラを備えている。コントローラは、第１のクライアント・ドメインから第２のクライアント・ドメインへとデータを転送するタスクを受信し、第１のクライアント・ドメインのメモリ領域を中央ドメインにマッピングするよう構成されている。さらにコントローラは、第２のクライアント・ドメインのメモリ領域を中央ドメインにマッピングし、第１のクライアント・ドメインのマッピングされたメモリ領域から、第２のクライアント・ドメインのマッピングされたメモリ領域へとデータを転送するよう構成されている。
【０００７】
本発明のさらに別の態様においては、機械での読み取りが可能な１つ以上の記憶媒体からなり、記憶媒体が命令を収容している物品が、ドメイン間データ転送のために提供される。命令は、実行されたときに、送信キューへのアクセス、および、送信キューに実行すべきメッセージがあるかどうかの判断を、プロセッサに可能ならしめ、メッセージは、元のアドレスおよび宛先のアドレスを含んでいる。命令はさらに、実行されたときに、元のアドレスに対応するメモリ領域の共有リソース・ドメインへのマッピング、宛先アドレスに対応するメモリ領域の共有リソース・ドメインへのマッピング、および、元のアドレスおよび宛先アドレスがマッピングされたメモリ領域間でのデータ転送を、プロセッサに可能ならしめる。
【０００８】
本発明は、以下の説明を関連する添付の図面とともに参照することにより、理解されるであろう。添付の図面において、同じ参照番号は同じ要素を表わしている。
【０００９】
本発明について、さまざまな変形および別の形態が容易に可能であるが、図面にはあくまで一例として特定の実施の形態を示してあり、これら特定の実施の形態について、以下で詳細に説明する。しかしながら、これら特定の実施の形態についてのここでの説明は、本発明をここで開示する特定の形態に限定しようとするものではなく、むしろ、添付の特許請求の範囲によって定められる本発明の技術的思想および技術的範囲内にある全ての変形、均等物、および代替物を含む意図であることを、理解すべきである。
【発明を実施するための最良の形態】
【００１０】
本発明を、説明用の実施の形態について以下に説明する。理解を容易にするため、本明細書では、現実の実施における全ての特徴を説明するわけではない。そのような現実の実施の形態の開発にあたっては、システムに関係する制約、あるいは業務に関係する制約への適合など、或る実施の場合と他の実施の場合とで大きく変化しうる開発者ごとの特定の目的を達成すべく、実施にまつわる多数の意思決定をしなければならないことは、もちろん理解されるであろう。さらに、そのような開発努力が複雑かつ時間を要するものであるかもしれないが、ここでの開示によって利益を受ける当業者にとっては通常の業務であることも理解されるであろう。
【００１１】
図１を参照すると、本発明の実施の一形態によるシステム１０のブロック図が示されている。実施の一形態において、システム１０は、複数のシステム制御ボード１５（１、２）を備えており、これらがスイッチ２０へと接続されている。システム制御ボード１５（１、２）がスイッチ２０へと接続されていることを示すため、図示の目的で、線２１（１、２）が使用されている。しかしながら、エッジ・コネクタやケーブル、あるいはその他の利用可能なインターフェイスなど、任意のさまざまな方法でボード１５（１、２）をスイッチ２０へと接続できることは、周知のとおりである。
【００１２】
図示の実施の形態では、システム１０は制御ボード１５（１、２）を２つ備えており、一方がシステム１０の全体の動作をつかさどり、他方が冗長性を付与して、他方のボードの障害の際にバックアップを提供する。図示の実施の形態では、第１のシステム制御ボード１５（１）が「主」システム制御ボードとして機能し、一方、第２のシステム制御ボード１５（２）が、活線のまま交代が可能な代替のシステム制御ボードとして機能するが、必ずしもこのようにする必要はない。実施の一形態では、通常は、２つのシステム制御ボード１５（１、２）の１つが常に機能して、システム１０の全体の動作を制御する。主システム制御ボード１５（１）にハードウェアまたはソフトウェアの障害が生じた場合、あるいは主システム制御ボード１５（１）からシステムの他の装置までの制御経路のハードウェアに障害が生じた場合、システム・コントローラ・バックアップ・ソフトウェア２２が、代替の制御ボード１５（２）への引き継ぎを自動的に開始させる。
【００１３】
実施の一形態において、システム１０は、複数のシステム・ボード・セット２９（１〜ｎ）を備えており、これらが線５０（１〜ｎ）で示されているとおり、スイッチ２０に接続されている。システム・ボード・セット２９（１〜ｎ）は、エッジ・コネクタやその他の利用可能なインターフェイスなど、いくつかある方法の１つによってスイッチ２０へと接続することができる。スイッチ２０は、複数のシステム・ボード・セット２９（１〜ｎ）のための通信経路として機能することができ、システム・ボード・セット２９（１〜ｎ）の半数をスイッチ２０の片側に接続でき、残りの半数をスイッチ２０の反対側に接続できる。
【００１４】
実施の一形態においては、スイッチ２０を、必要に応じてシステム・ボード・セット２９（１〜ｎ）の相互の通信を可能にする１８×１８のクロスバー・スイッチとすることができる。２つのシステム制御ボード１５（１、２）も、例えばスイッチ２０を介したネットワーク・ベースの接続により、他のシステム・ボード・セット２９（１〜ｎ）と通信することができる。
【００１５】
実施の一形態において、システム・ボード・セット２９（１〜ｎ）は、システム・ボード３０、入出力（Ｉ／Ｏ）ボード３５、および拡張ボード４０を含む１つまたは複数のボードからなる。図示の実施の形態では、システム・ボード３０および入出力ボード３５が拡張ボード４０の第１および第２のスロット（図示されていない）と取り合い、次に拡張ボード４０がスイッチ２０と取り合うため、以下では、これらボード３０、３５をそれぞれ、「スロット０」ボードおよび「スロット１」ボードと称することもある。システム・ボード３０は、実施の一形態においては、オペレーティング・システムの一部を含むアプリケーションを実行するため、プロセッサおよび関連するメモリを備えることができる。入出力ボード３５は、システム１０へと取り付けられる周辺機器インターフェイス・カードや光カードなど、入出力カードを取り扱うことができる。拡張ボード４０は、実施の一形態においては、システム・ボード３０および入出力ボード３５の両者がスイッチ２０と取り合うことができるよう、通常はマルチプレクサ（例えば、２：１マルチプレクサ）として機能するが、場合によっては、両ボード３０、３５と取り合うただ１つのスロットを備えていてもよい。
【００１６】
実施の一形態においては、システム１０を複数のシステム・ドメインへと動的に分割することができ、各ドメインが、別個のブート・ディスク（例えば、オペレーティング・システムの特有のインスタンスを実行するため）、別個のディスク記憶装置、ネットワーク・インターフェイス、および／または入出力インターフェイスを備えることができる。各ドメインは、例えば、ユーザに合わせて構成された種々のサービスを実行する独立の装置として機能することができる。例えば、１つまたは複数のドメインを、アプリケーション・サーバ、ウェブ・サーバ、およびデータベース・サーバなどとして設計することができる。実施の一形態では、各ドメインがそれぞれ自身のオペレーティング・システム（例えば、ソラリス・オペレーティング・システム）を動作させることができ、他のドメインの動作を停止させることなく構成の変更が可能である。
【００１７】
図２には、システム１０内に少なくとも２つのドメインが定義されている構成の一例が示されている。第１のドメインは、図中では断面を示す縦線で識別できるが、システム・ボード・セット２９（ｎ／２＋２）、システム・ボード・セット２９（１）のシステム・ボード３０、およびシステム・ボード・セット２９（２）の入出力ボード３５を含んでいる。第２のドメインは、図示の実施の形態では、システム・ボード・セット２９（３）、２９（ｎ／２＋１）、および２９（ｎ／２＋３）、ならびにシステム・ボード・セット２９（１）の入出力ボード３５、およびシステム・ボード・セット２９（２）のシステム・ボード３０を含んでいる。
【００１８】
ご覧のとおり、ドメインは、システム・ボード・セット２９（１〜ｎ）の全体、選ばれたシステム・ボード・セット２９（１〜ｎ）からの１つまたは複数のボード（例えば、システム・ボード３０、入出力ボード３５）、あるいはこれらの組み合わせから構成することができる。必ずしもではないが、各システム・ボード・セット２９（１〜ｎ）を、別個のドメインと定義することも可能である。例えば、各システム・ボード・セット２９（１〜ｎ）がそれぞれ独立したドメインであったならば、考えられる限りでは、システム１０は最大「ｎ」個（すなわち、システム・ボード・ユニットの数）の異なるドメインを有することになる。同じシステム・ボード・セット２９（１〜ｎ）の２つのボード（例えば、システム・ボード３０、入出力ボード３５）が異なるドメインにある場合、そのような構成は「分割拡張」と呼ばれる。実施の一形態において、システム・ボード・セット２９（１〜ｎ）の拡張ボード４０が、各ドメインのためにトランザクションを分割状態に保つ。ドメイン内の各ボードが、物理的に近接している必要はない。
【００１９】
システム１０は、１つまたは複数のドメインの動的な構成を可能にしている。さらに、実施の一形態では、リソース（例えば、ボード３０、３５、および４０、など）を、構成済みのドメインに動的に加えたり、構成済みのドメインから動的に除いたりすることができる。必ずしもそのようである必要はないが、図示の実施の形態においては、通常ドメイン、クライアント・ドメイン、共有リソース・ドメイン（ＳＲＤ）という、少なくとも３つの種類の異なるドメインをサポートしている。以下にさらに詳しく説明するように、各クライアント・ドメインは、ＳＲＤを通して他のクライアント・ドメインと通信する。対照的に、図示の実施の形態においては、通常ドメインは、標準のネットワーク接続を介するものを除き、システム１０内の他のドメインと通信することがない。
【００２０】
スイッチ２０を使用し、ドメイン間通信およびドメイン内通信が可能である。例えば、スイッチ２０によって、図２の第１のドメインと第２のドメインとの間でデータの交換ができるよう、高速通信路を提供することができる。実施の一形態においては、ドメイン間通信およびドメイン内通信のため、スイッチ２０を通過するデータおよびアドレスの別個の経路を使用することができる。
【００２１】
次に図３Ａを参照すると、本発明の実施の一形態について、スイッチ２０へと接続されたシステム・ボード・セット２９（１〜ｎ）のブロック図が示されている。図示の実施の形態において、各システム・ボード・セット２９（１〜ｎ）のシステム・ボード３０は、４つのプロセッサ３６０（１〜４）を備えており、各プロセッサ３６０（１〜４）は、対応するメモリ３６１（１〜４）を有している。実施の一形態においては、各プロセッサ３６０（１〜４）が、それぞれのキャッシュ・メモリ３６２（１〜４）へと接続されていてもよい。他の実施の形態では、各プロセッサ３６０（１〜４）が、対応するキャッシュ・メモリ３６２（１〜４）を２つ以上有していてもよく、１つあるいは複数のキャッシュ・メモリ３６２（１〜４）のうちのいくつか、またはすべてが、プロセッサ３６０（１〜４）内に収容されていてもよい。実施の一形態においては、各キャッシュ・メモリ３６２（１〜４）が、キャッシュ・メモリ３６２（１〜４）の記憶部がプロセッサ３６０（１〜４）の外部にあり、制御部（例えば、タグおよびフラッグ）がプロセッサ３６０（１〜４）内に収容されている、スプリット・キャッシュであってよい。
【００２２】
実施の一形態において、プロセッサ３６０（１〜４）は、自身の各メモリ３６１（１〜４）および３６２（１〜４）、ならびに他のプロセッサ３６０（１〜４）に結び付けられたメモリ３６１（１〜４）に、アクセスすることが可能である。実施の一形態においては、異なる数のプロセッサ３６０（１〜４）およびメモリ３６２（１〜４）を、実装に応じ、所望の任意の組み合わせで用いてもよい。実施の一形態においては、２基の５ポート両方向データ・スイッチ３６５（１〜２）が、プロセッサ／メモリの組（例えば、プロセッサ３６０（１、２）／メモリ３６１（１、２）、およびプロセッサ３６０（３、４）／メモリ３６１（３、４））を、ボード・データ・スイッチ３６７へと接続している。
【００２３】
これには限られないが、図示の実施の形態においては、各システム・ボード・セット２９（１〜ｎ）の入出力ボード３５は、１つまたは複数のＰＣＩスロット３７２（１〜ｐ）へと取り付けできる１つまたは複数のＰＣＩカードを制御するため、コントローラ３７０を備えている。図示の実施の形態では、入出力ボード３５がさらに、１つまたは複数の入出力スロット３７６（１〜ｏ）へと取り付けされるであろう１つまたは複数の入出力カードを制御するため、第２のコントローラ３７４を備えている。入出力スロット３７６（１〜ｏ）は、光カードやネットワーク・カードなどを収容することができる。実施の一形態において、入出力ボード３５は、内部ネットワーク（図示せず）を介してシステム制御ボード１５（１、２）（図１を参照）と通信することができる。
【００２４】
入出力ボード３５の２つのコントローラ３７０、３７４は、実施の一形態においては、データ・スイッチ３７８に接続されている。実施の一形態においては、拡張ボード４０内のスイッチ３８０が、入出力ボード３５のスイッチ３７８およびシステム・ボード３０のスイッチ３６７からの出力信号を受け取り、システム・データ・インターフェイス（ＳＤＩ）３８３へと提供する。ＳＤＩ３８３は、スイッチ２０、システム・ボード３０、および入出力ボード３５へのデータのトランザクション、ならびにスイッチ２０、システム・ボード３０、および入出力ボード３５からのデータのトランザクションを処理することができる。別置のアドレス経路（破線で示されている）が、プロセッサ３６０（１〜４）およびコントローラ３７０、３７４から、アドレス拡張キュー（ＡＸＱ）モジュール３８２まで示されている。ＡＸＱモジュール３８２は、スイッチ２０、システム・ボード３０、および入出力ボード３５への、そしてスイッチ２０、システム・ボード３０、および入出力ボード３５からの、アドレスおよび応答のトランザクションを処理することができる。
【００２５】
実施の一形態において、スイッチ２０は、各システム・ボード・セット２９（１〜ｎ）の拡張ボード４０のＡＸＱモジュール３８２および／またはＳＤＩ３８３によって供給されるデータ、アドレス、および制御信号をそれぞれ伝達するため、データ・スイッチ３８５、アドレス・スイッチ３８６、および応答スイッチ３８８を備えることができる。したがって、実施の一形態では、スイッチ２０は、ドメイン内およびドメイン間通信を可能にすべく、別々のデータ経路、アドレス経路、および制御信号経路をもたらすよう１８×１８のクロスバー・スイッチを３つ備えることができる。データ、アドレスおよび制御信号に別々の経路を用いることにより、データ・トラフィック、アドレス・トラフィックおよび制御信号トラフィックの間の干渉を減らすことができる。実施の一形態においては、スイッチ２０は毎秒約４３ギガバイトのバンド幅を提供することができる。他の実施の形態では、スイッチ２０を使用して、より広い、あるいはより狭いバンド幅を実現することができる。
【００２６】
実施の一形態において、ＡＸＱモジュール３８２は、ホーム・エージェント３９０、要求エージェント３９２、およびスレーブ・エージェント３９４へと接続された制御ユニット３８９を備えている。エージェント３９０、３９２、３９４は集団で、システムの一貫性の維持を助けるべく動作することができる。図示の実施の形態においては、ＡＸＱモジュール３８２の制御ユニット３８９が、システム・ボード３０および入出力ボード３５を相互に接続するとともに、ＡＸＱモジュール３８２内のホーム・エージェント３９０、要求エージェント３９２、およびスレーブ・エージェント３９４を相互に接続している。実施の一形態において、拡張ボードが２つのドメインの間で分割されている（すなわち、或るシステム・ボード・セット２９（１〜ｎ）のシステム・ボード３０と入出力ボード３５とが、異なるドメインにある）場合、ＡＸＱモジュール３８２の制御ユニット３８９が、システム・ボード３０および入出力ボード３５を別個に、一方を奇数サイクルで、他方を偶数サイクルで、調停することができる。
【００２７】
実施の一形態において、ＡＸＱモジュール３８２は、最近参照したメモリ・ラインに関する情報を保持するディレクトリ・キャッシュ（ＤＣ）３９６を制御する。実施の一形態において、ＤＣ３９６を、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）などの揮発性メモリに記憶してもよい。ＤＣ３９６は、所与の拡張ボード４０に結び付けられたキャッシュ可能なラインのすべてを保持するに充分なエントリ・スロットを有さない部分ディレクトリでもよい。ＡＸＱモジュール３８２は、例えばエントリの状態が更新されたときにディレクトリ・キャッシュ３９６内の選択されたエントリへのアクセスを防止するロッキング・モジュール３９８を制御する。
【００２８】
ドメインは、１つ以上のシステム・ボード・セット２９（１〜ｎ）を含むよう定義できる。すなわち、構成に応じ、単一のドメインが、当該ドメインに関連づけられた複数の拡張ボード４０を有していてもよい。したがって、或るシステム・ボード・セット２９（１〜ｎ）の拡張ボード４０が、同じドメイン内の他のシステム・ボード・セット２９（１〜ｎ）の拡張ボード４０からの情報にアクセスすべく、メモリ・トランザクションを開始することができる。これらに限られるわけではないが、実施の一形態においては、システム１０において、所有の要求（ＲＴＯ）、共有の要求（ＲＴＳ）、書き込みストリーム（ＷｒｉｔｅＳｔｒｅａｍ）、書き戻し（ＷｒｉｔｅＢａｃｋ）、および読み込みストリーム（ＲｅａｄＳｔｒｅａｍ）のトランザクションを含む種々のメモリ・アクセス・トランザクションの１つを開始することができる。前記メモリ・アクセス・トランザクションの１つ以上は、ローカル・トランザクションでも、リモート・トランザクションでもよく、ローカル・トランザクションは、システム・ボード・セット２９（１〜ｎ）内で局所的に流されるトランザクションを含み、リモート・トランザクションは、他のシステム・ボード・セット２９（１〜ｎ）からのキャッシュ・ラインへとアクセスしようとするトランザクションを含む。これに限られるわけではないが、図示の実施の形態においては、ＲＴＯをキャッシュ・ラインの排他的コピーを入手するために発することができ、ＲＴＳはキャッシュ・ラインの共有コピーを入手するためのものであり、書き戻しトランザクションはキャッシュ・ラインをホーム・ボードに書き戻すためのものであり、読み込みストリーム要求はキャッシュ・ラインのスナップショット・コピーを得るためのものであり、書き込みストリーム要求は、キャッシュ・ラインのコピーを書き込むためのものである。
【００２９】
通常、所与のドメインの各拡張ボード４０は、選択されたメモリ・アドレス範囲内のメモリ・ラインのための「ホーム拡張ボード」として機能する。同じドメインに属する拡張ボード４０は、互いのメモリ内容にアクセスすることができる。以下に詳述するように、所与のあらゆるトランザクションに、ホーム拡張ボード、要求拡張ボード、およびスレーブ拡張ボードが関与できる。ここで「要求拡張ボード」とは、ホーム拡張ボードに属する選択されたメモリ・ラインにアクセスを試みる拡張ボード４０を表わしている。ここで「メモリ・ライン」とは、システム・ボード３０のキャッシュ３６２（１〜４）および／またはメモリ３６１（１〜４）に記憶されたデータを含むことができる。例えば、要求ボードは、所有の要求（ＲＴＯ）、共有の要求（ＲＴＳ）、書き込みストリーム、書き戻し、および読み込みストリームのトランザクションを含む種々のメモリ・アクセス・トランザクションの１つを開始することができる。ここで「スレーブ拡張ボード」とは、要求拡張ボードがアクセスしようとしているメモリ・ラインのコピーを現在有しているボードを表わしている。要求されたメモリ・ラインの現在のコピーがホーム拡張ボードにある場合、そのホーム拡張ボードが、そのトランザクションのためのスレーブ拡張ボードでもある。
【００３０】
図示の実施の形態においては、主ドメイン保護が、ＡＸＱモジュール３８２にて、トランザクションが最初に検出されたときに各トランザクションについてドメイン有効性をチェックすることによって達成される。実施の一形態においては、ＳＤＩ３８３も、目的地が有効であるかについて転送要求を検査する。ＡＸＱモジュール３８３にて逸脱エラーが検出された場合、その動作は、存在しないメモリへの要求と同様に取り扱われる。次いで、マップされた一貫性プロトコル信号を主張することなく、要求が再発行される。
【００３１】
各システム・ボード・セット２９（１〜ｎ）内の種々の構成要素（例えば、ＡＸＱモジュール３８２、プロセッサ３６０（１〜４）、コントローラ３７０、３７４）の構成および／または配置が設計上の選択事項であり、したがって或る実装と他の実装とで異なっていてもよいことに注意すべきである。さらに、本発明の技術的範囲を外れることなく、使用する構成要素を増やしたり減らしたりすることも可能である。
【００３２】
次に図３Ｂを参照すると、図３Ａの要求エージェント３９２の実施の一形態のブロック図が示されている。図示の実施の形態では、要求エージェント３９２は、キャッシュ可能アドレス・スロット・マップ（ＣＡＳＭ）テーブル４０１、キャッシュ不可能アドレス・スロット・マップ（ＮＡＳＭ）テーブル４０２、ドメイン・マッチ・レジスタ（ＤＭＲ）テーブル４０３、および割り込みドメイン・レジスタ（ＩＤＲ）テーブル４０４を備えている。図示の実施の形態では、各ドメインが自身のＣＡＳＭテーブル４０１を有し、同一ドメイン内のすべての拡張ボード４０が、同一内容のＣＡＳＭテーブル４０１を備えている。
【００３３】
ＣＡＳＭテーブル４０１は、所与の拡張ボード４０上の要求装置（例えば、スロット「０」ボード３０、およびスロット「１」ボード３５）が、或る特定のアドレス範囲へのアクセスを許されているかどうかを示している。図３ＢのＣＡＳＭテーブル４０１は、論理スライス番号を表わす選択されたアドレス・ビット（例えば、４１：３７）で指定可能な複数のエントリ４０５（１〜ｒ）を備えている。「スライス」は通常、アドレス可能なメモリ空間の特定の部分に対応する。必ずしもこれに限られないが、図示の実施の形態においては、スライス０〜１７が有効であり、したがってスライス１８およびそれを超えるアドレスはマップされない。特定のスライスの物理ボード番号へのマッピングは、最初にシステム制御ボード１５（１、２）によって確立され、各ＡＸＱモジュール３８２内のＣＡＳＭテーブル４０１の設定に使用される。このマッピングは、ドメイン保護を変えない範囲において、ＡＸＱモジュール３８２へとアクセスするシステム・レジスタによって変更できる。
【００３４】
図示の実施の形態においては、ＣＡＳＭテーブル４０１の各エントリ４０５（１〜ｒ）は、第１の許可ビット・フィールド４０６（１）、第２の許可ビット・フィールド４０６（２）、有効フィールド４０６（３）、および拡張番号フィールド４０６（４）を有している。第１の許可ビット・フィールド４０６（１）は、その拡張ボード４０のスロット０ボード３０から由来するトランザクションのために許可された権利を定めており、第２の許可ビット・フィールド４０６（２）は、その拡張ボード４０のスロット１ボード３５から由来するトランザクションのために許可された権利を定めている。例えば、許可ビット・フィールド４０６（１、２）の値「００」によって、スロット０ボード３０およびスロット１ボード３５のいずれもが、要求されたアドレス範囲内のメモリ空間へのアクセスを許されていないことを表わすことができる。同様に、値「０１」により、スロット０／スロット１ボード３０、３５が、読み込みストリーム／書き込みストリームの権利のみなど、限定されたアクセス権を有していることを表わすことができる。許可ビット・フィールド４０６（１、２）の値「１１」により、スロット０／スロット１ボード３０、３５が、メモリ空間にアクセスするための完全な許可を有していることを表わすことができる。図示の実施の形態では、スロット０およびスロット１のボード３０、３５のそれぞれのアクセス権を定めるために、別々のフィールド４０６（１、２）を用いているが、他の実施の形態では、フィールドをさらに追加したり、少なくしたりしてもよい。
【００３５】
実施の一形態において、ＣＡＳＭテーブル４０１の許可ビット・フィールド４０６（１、２）の値「０１」は、ＳＲＤのスロット０／スロット１ボード３０、３５が、ドメイン・セットの他のドメインへとＲＴＳトランザクションを発することができるが、そのようなトランザクションが読み込みストリーム・トランザクションとしてのみ許されることを示している。したがって、ホーム・メモリはキャッシュ・ラインの現在のコピーを送付するが、共有のマーキングは行わない。当該ラインが後に変更されたとき、ＳＲＤへと無効化を送ることはしない。しかしながら、ＳＲＤのプロセッサ３６０（１〜４）は、ＲＴＳが実行されたものと仮定し、当該ラインをキャッシュ３６２（１〜４）に共有状態で記憶する。このキャッシュされたコピーを適当なときに無効にするのは、ソフトウェアである。この機能は、プロセッサ３６０（１〜４）が、バイト列コピー（ｂｃｏｐｙ）ループを改善すべくプリフェッチ命令を使用することを可能にする（プリフェッチ命令の使用については後述する）。
【００３６】
前述のとおり、要求エージェント３９２は、ドメイン保護が当該アドレス・スライスへの当該操作を許可しているかどうかを判断するために、エントリ４０６（１、２）内の許可ビットを使用する。許可されていない場合、要求エージェント３９２は、マッピングを主張することなく要求を再発行し、トランザクションが許可されない、あるいは無効であることを意味している。さらに、要求エージェント３９２は、各トランザクションのためのホーム拡張ボードを決定すべくＣＡＳＭテーブル４０１を参照するため、選択されたアドレス・ビット（例えば、ビット４１：３７）を使用する。ホーム拡張ボードは、ＣＡＳＭテーブル４０１の拡張番号フィールド４０６（４）にて識別される。ＣＡＳＭテーブル４０１の有効フィールド４０６（３）は、特定のエントリ４０５（１−ｒ）が有効であるかどうかを示している。
【００３７】
ドメイン間のキャッシュ不可能なメモリ空間トランザクションは、ＮＡＳＭテーブル４０２によって制御される。「キャッシュ不可能なアドレス空間」は、デバイス構成領域、ＰＣＩ空間、ＡＳＩＣレジスタ空間、ブートバス空間、などを含んでいる。
【００３８】
ＤＭＲテーブル４０３は、同じドメイン内にある拡張ボード４０を識別する。ＤＭＲテーブル４０３は、デバイス構成アクセス、ＣＡＳＭテーブル４０１の更新を制御し、ホーム・エージェント３９０からのスレーブ・アクセスを許容する。図示の実施の形態においては、マスクがボードの形式（例えば、スロット０から１のボードへ、スロット０から０へ、など）によってグループ化されている。適切なマスクにおいて拡張ボード番号が参照され、「１」が、拡張ボード４０について、スロット０／スロット１ボード３０、３５が同じドメインにあることを識別する。例えば、拡張ボード「ｍ」のＤＭＲテーブルのスロット０から１について、マスク・ビット「ｎ」が「１」に等しいとき、拡張ボードｎのスロット１ボード３５が、拡張ボードｎのスロット０ボード３０と同じドメインにあることを意味している。
【００３９】
ＩＤＲテーブル４０４は、ドメイン間の割り込みトランザクションを制御する。図示の実施の形態では、マスクがボードの形式（例えば、スロット１ボード３５に割り込みしているスロット０ボード３０、スロット０ボード３０に割り込みしているスロット１ボード３５、スロット０ボード３０に割り込みしているスロット０ボード３０、スロット１ボード３５に割り込みしているスロット１ボード３５）によってグループ化されている。したがって、ＩＤＲテーブル４０４は、ボードの各形式について、複数の（図示の例では１８の）スロットを有している。目的地の拡張ボード番号が、適切なマスクで参照され、「１」ビットが、割り込みの発生を許容する。例えば、スロット０から１についてマスク・ビット「ｎ」が「１」に等しい場合、拡張ボードｎのスロット１ボード３５に、拡張ボードｎのスロット０ボード３０によって割り込みができることを意味している。
【００４０】
実施の一形態において、ＳＲＤが「鍵」（すなわち、アクセス権）を、クライアント・ドメインのメモリ／割り込みリソースに提供する。メモリ／割り込みリソースは、ＣＡＳＭテーブル４１０、ＮＡＳＭテーブル４０２、ＤＭＲテーブル４０３、およびＩＤＲテーブル４０４を含むことができる。図示の実施の形態では、「鍵」がシステム制御ボード１５（１、２）によってＪＴＡＧインターフェイスなどのローカル・インターフェイスを通してＳＲＤへと提供され、「リンクドメイン（ｌｉｎｋｄｏｍａｉｎ）」コマンドで達成される。
【００４１】
実施の一形態において、共有リソース・ドメインが、不良ドメインからの連続的な割り込みによって有用な作業の実行が永続的に妨げられる場合、当該共有リソース・ドメインは、不良ドメインが割り込みを送れないよう、システム制御ボード１５（１、２）にＩＤＲテーブル４０４のマスクのリセットを要求する。
【００４２】
次に図４Ａを参照すると、ドメイン・セット４０９の設定構成の一例が示されている。ここで「ドメイン・セット」とは、１つ以上のＳＲＤ４１０（１、２）、および当該ＳＲＤ４１０（１、２）の制御下の１つ以上のクライアント・ドメイン４１５（１〜４）の集まりをいう。前述のとおり、各ＳＲＤ４１０（１、２）およびクライアント・ドメイン４１５（１〜４）は、システム・ボード・セット２９（１〜ｎ）の全体（図１を参照）、選択されたシステム・ボード・セット２９（１〜ｎ）からの１枚以上のボード（例えば、システム・ボード３０、入出力ボード３５）、あるいはこれらの組み合わせから構成できる。
【００４３】
図示の実施の形態では、ドメイン・セット４０９は、主ＳＲＤ４１０（１）を通して互いに通信する４つのクライアント・ドメイン４１５（１〜４）を含んでいる。主および副ＳＲＤ４１０（１、２）は、ドメイン間通信のために高速接続を提供できるスイッチ２０を通して、クライアント・ドメイン４１５（１〜４）へと接続されている。主ＳＲＤ４１０（１）が故障の場合のバックアップを提供するため、ドメイン・セット４０９は副ＳＲＤ４１０（２）を備えている。ここでの説明では、クライアント・ドメイン４１５（１〜４）およびＳＲＤ４１０（１、２）間の通信に言及するが、通常は、２つのＳＲＤ４１０（１、２）のうちのただ１つが、所与のあらゆる時点でクライアント・ドメイン４１５（１〜４）を管理する。けれども、別の実施の形態では、両方のＳＲＤ４１０（１、２）が、所与のあらゆる時点で、１つ以上のクライアント・ドメイン４１５（１〜４）も相互の通信を可能にすることもできる。しかしながら、いくつかのドメイン・セットの構成が、バックアップ用のＳＲＤを有していなくてもよい。
【００４４】
各クライアント・ドメイン４１５（１〜４）は、ＳＲＤ４１０（１、２）と通信すべくドメイン間ネットワーク（ＩＤＮ）接続を提供するため、ドメイン間ネットワーキング（ＩＤＮ）層４２０を備えている。実施の一形態においては、ＩＤＮ層４２０は、ＩＤＮドライバ（図示せず）を含んでいる。各クライアント・ドメイン４１５（１〜４）は、ＩＤＮ層４２０と取り合うインターネット・プロトコル（ＩＰ）スタック４２５を備えてもよい。ＩＰスタック４２５の一例は、１９８１年９月付のリクエスト・フォー・コメント（ＲＦＣ）７９１、「インターネット・プロトコル」に記載されている。さらなる実施の形態においては、ＩＰｖ６などＩＰの他の例、あるいはその他のパケット・ベースの標準を利用することもできる。ＩＰｖ６の一例は、１９９８年１２月付のＲＦＣ２４６０、「インターネット・プロトコル、バージョン６（ＩＰｖ６）仕様書」に記載されている。ＩＰネットワークなどのパケット・ベースのネットワークは、ネットワークをわたって送られるパケット、データグラム、あるいはその他のデータ単位で通信する。専用の端対端の接続、あるいは呼び出しセッション継続中の物理的経路を確保する回路切り替え型のネットワークと異なり、パケット・ベースのネットワークは、複数のネットワーク要素によって同じ経路を共有できるものである。
【００４５】
図示の実施の形態では、各クライアント・ドメイン４１５（１〜４）が、トランスミッション・コントロール・プロトコル（ＴＣＰ）やユーザ・データグラム・プロトコル（ＵＤＰ）など、より上位の層のプロトコル４３０を含んでいてもよい。このように、クライアント・ドメイン４１５（１〜４）が、ＳＲＤ４１０（１、２）と、プロトコル層４２５、４３０を使用したＩＤＮ接続を介して取り合う。
【００４６】
図示の実施の形態においては、ＳＲＤ４１０（１、２）が、１つ以上の外部装置（図示せず）と通信するためのインターフェイス４３５を備えている。実施の一形態においては、インターフェイス４３５は、例えば光ファイバ接続で他のシステム（図示せず）と接続できるワイルドキャット（Ｗｉｌｄｃａｔ（商標））クラスタ・インターフェイスであってよい。インターフェイス４３５は、ときには高価であり、そのようなインターフェイスを全てのシステム・ボード・セット２９（１〜ｎ）（図１を参照）に一体に備えることは、コスト的に許されないかもしれない。したがって、本発明の実施の一形態によれば、インターフェイス４３５を複数のシステム・ボード・セット２９（１〜ｎ）に備えるかわりに、インターフェイス４３５を、ＳＲＤ４１０（１、２）として構成される１つまたは少数のシステム・ボード・セット２９（１〜ｎ）に選択的に取り付けることができる。クライアント・ドメイン４１５（１〜４）は、ＳＲＤ４１０（１、２）を通じてインターフェイス４３５にアクセスできる。
【００４７】
以下に詳細を説明するとおり、ＳＲＤ４１０（１、２）は、ドメイン間メモリ・トランザクションの使用を通してドメイン間通信を可能にする。実施の一形態では、ＳＲＤ４１０（１、２）は、１つ以上のクライアント・ドメイン４１５（１〜４）間の読み込みおよび書き込みトランザクションを管理する。
【００４８】
図示の実施の形態では、ＳＲＤ４１０（１、２）のみが、ドメイン・セット４０９のクライアント・ドメイン４１５（１〜４）にアクセスすることができる（すなわち、クライアント・ドメイン４１５（１〜４）は、互いのリソースに直接アクセスすることができない）。ＳＲＤ４１０（１、２）のプロセッサ３６０（１〜４）（図３Ａを参照）は、ハードウェアの設定を管理し、或るクライアント・ドメイン４１５（１〜４）から他のクライアント・ドメイン４１５（１〜４）へとデータを提供するソフトウェア・モジュール４４０の実行能力を有する。したがって、図示の実施の形態において、ＳＲＤ４１０（１、２）は、クライアント・ドメイン４１５（１〜４）間でデータのコピーまたは移動を行うことができる動的システム・ドメインである。実施の一形態において、最大転送単位（ＭＴＵ）サイズのデータ、あるいはより小さいサイズのデータを転送することができる。ＳＲＤ４１０（１、２）は、ＳＲＤ４１０（１、２）のブート構成の一部であることができるＩＤＮドライバを含むＩＤＮ層４４５を備えてもよい。実施の一形態において、ＳＲＤ４１０（１、２）は、クライアント・ドメイン４１５（１〜４）内のメモリ３６１（１〜４）（図３Ａを参照）にアクセスするため、動的メモリ・マッピングを利用することができる。ここで、用語「動的メモリ・マッピング」は、ＳＲＤ４１０（１、２）とクライアント・ドメイン４１５（１〜４）の間の接続の継続中、またはＳＲＤ４１０（１、２）とクライアント・ドメイン４１５（１〜４）との間のトランザクションの継続中のメモリのマッピングを意味する。実施の一形態において、１つ以上のクライアント・ドメイン４１５（１〜４）との通信のため、各ＳＲＤ４１０（１、２）は、ＩＰ層４５０、およびＴＣＰ／ＵＤＰ層４５５を備えている。
【００４９】
通常、システム管理者がドメイン・セット４０９を構成する。すなわち、システム管理者が、１つ以上のクライアント・ドメイン４１５（１〜４）および共有リソース・ドメイン４１０（１、２）を定義するリソース（例えば、ボード３０、３５、４０）を指定する。構成後かつ主ＳＲＤ４１０（１）がクライアント・ドメイン４１５（１〜４）に接続するときの初期化の際、主ＳＲＤ４１０（１）は、下記のとおり、各クライアント・ドメイン４１５（１〜４）について送信キュー４６０（１〜４）および受信キュー４６５（１〜４）を生成する。以下に詳述するように、送信キュー４６０（１〜４）はＳＲＤ４１０（１、２）が完了すべき１つ以上のタスクを含み、受信キュー４６５（１〜４）は各クライアント・ドメイン４１５（１〜４）が完了すべき１つ以上のタスクを含む。
【００５０】
実施の一形態において、キュー４６０（１〜４）および４６５（１〜４）は、以下のとおり生成できる。すなわち、システム制御ボード１５（１、２）が、構成されたクライアント・ドメイン４１５（１〜４）をＳＲＤ４１０（１、２）へと認識し、次いでＳＲＤ４１０（１、２）が、構成されたクライアント・ドメイン４１５（１〜４）へと割り込み要求を送る。ＳＲＤ４１０（１、２）からの要求に応え、各構成されたクライアント・ドメイン４１５（１〜４）は、割り込みを介して、ページ・フレーム番号（すなわち、メモリの物理ページ）をＳＲＤ４１０（１、２）に送信し、次いでＳＲＤ４１０（１、２）が、受け取ったＰＦＮを仮想メモリとしてマッピングする。当業者であれば、オペレーティング・システムに応じて、メモリのマッピングを種々の方法で行えることを理解されるであろう。例えば、ソラリス・オペレーティング・システムでは、仮想メモリ・マッピングは、ハードウェア・アドレス・トランザクション層で行なわれる。
【００５１】
実施の一形態では、各クライアント・ドメイン４１５（１〜４）のキュー４６０（１〜４）および４６５（１〜４）が、ＳＲＤ４１０（１、２）およびこれらのキュー４６０（１〜４）および４６５（１〜４）に結び付けられたクライアント・ドメイン４１５（１〜４）にとってアクセス可能である任意の記憶空間であってよい。図示の実施の形態においては、ＳＲＤ４１０（１、２）が、初期化の際、キュー４６０（１〜４）および４６５（１〜４）を動的にマッピングする。すなわち、各クライアント・ドメイン４１５（１〜４）の選択されたメモリ領域が、ＳＲＤ４１０（１、２）へとマッピングされる。メモリ領域は、例えば、各クライアント・ドメイン４１５（１〜４）へと結び付けられたメモリ３６１（１〜４）（図３Ａを参照）および／またはキャッシュ・メモリ３６２（１〜４）であってよい。実施の一形態においては、キュー４６０（１〜４）および４６５（１〜４）は、クライアント・ドメイン４１５（１〜４）とＳＲＤ４１０（１、２）の間の接続の継続期間の間、動的にマッピングされたままであってよい。図示の実施の形態では、各クライアント・ドメイン４１５（１〜４）が、２つのキュー４６０（１〜４）および４６５（１〜４）を含んでいるが、別の実施の形態では、送信タスクおよび受信タスクを達成するために、ただ１つのキューを用いてもよい。
【００５２】
図示の実施の形態では、クライアント・ドメイン４１５（１〜４）がそれぞれ、送信バッファ４７０（１〜４）および受信バッファ４７２（１〜４）を備えている。実施の一形態において、バッファ４７０（１〜４）および４７２（１〜４）は、バッファ４７０（１〜４）および４７２（１〜４）を経由して、ネットワーク層プロトコルがデータを送受信できるストリーム化ネットワーク・バッファでよい。ドメイン間通信を促進するために、これらバッファ４７０（１〜４）および４７２（１〜４）がどのように使用されるのかを、以下に詳細に説明する。
【００５３】
実施の一形態において、ＳＲＤ４１０（１）が、仮想メモリ・マッピング情報が記憶されるメモリ・マップ・テーブル４７５を備えている。このメモリ・マップ・テーブル４７５は、クライアント・ドメインごとに、それに基づく情報を含んでいる。すなわち、メモリ・マップ・テーブル４７５は、メモリがＳＲＤ４１０（１、２）へとマッピングされる、構成された各クライアント・ドメイン４１５（１〜４）からのページ・フレーム番号を含んでいる。図示はされていないが、実施の一形態においては、バックアップのＳＲＤ４１０（２）も、主ＳＲＤ４１０（１）のメモリ・マップ・テーブル４７５に記憶されている情報を含んでよい。
【００５４】
図４Ｂ、４Ｃを参照すると、送信および受信キュー４６０（１〜４）、４６５（１〜４）の実施の形態の一例が示されている。図示のとおり、送信キュー４６０（１〜４）は、複数のエントリ４７７（１〜ｍ）を含んでおり、各エントリ４７７（１〜ｍ）は、状態フィールド４７８およびメッセージ・フィールド４７９を有している。クライアント・ドメイン４１５（１〜４）は、実行のためメッセージ・フィールド４７９内にタスクをポストする。メッセージ・フィールド４７９は、実行すべきアクション（例えば、データの転送、データの受信、リソースへのアクセス）、データのソース・アドレス、宛先アドレスなどの情報を含むことができる。実施の一形態において、ＳＲＤ４１０（１、２）は、完了すべきタスクがあるかどうかを判断するため、送信キュー４６０（１〜４）をポーリングする。送信キュー４６０（１〜４）でタスクの実行が必要な場合、ＳＲＤ４１０（１、２）が当該タスクを実行し、次いで当該タスクの対応する状態フィールド４７８を更新する。例えば、図４１３に示した例では、ＳＲＤ４１０（１、２）によって第１のエントリ４７７（１）に、「完了」と印が付けられる。その後、クライアント・ドメイン４１５（１〜４）が、完了したエントリを送信キュー４６０（１〜４）から取り除く。実施の一形態において、タスクの状態を告知するために、ただ１つのビット（例えば、完了に「０」、および未完了にゼロでないビット）でよいことは、理解されるであろう。
【００５５】
図示のとおり、受信キュー４６５（１〜４）は、複数のエントリ４８０（１〜ｇ）を有し、各エントリ４８０（１〜ｇ）は、状態フィールド４８１およびメッセージ・フィールド４８２を有している。ＳＲＤ４１０（１、２）は、クライアント・ドメイン４１５（１〜４）によって完了されるよう意図されているタスクを、受信キュー４６５（１〜４）内にポストする。メッセージ・フィールド４８２は、実行すべきアクション（例えば、データの転送、データの受信、リソースへのアクセス）、データのソース・アドレス、宛先アドレスなどの情報を含むことができる。実施の一形態において、クライアント・ドメイン４１５（１〜４）は、完了すべきタスクがあるかどうかを判断するため、受信キュー４６５（１〜４）をポーリングする。タスクの実行が必要である場合、クライアント・ドメイン４１５（１〜４）が当該タスクを実行し、次いで当該タスクの対応する状態フィールド４８１を更新する。例えば、図４１３に示した例では、第１および第２のエントリ４８０（１、２）に「未完了」と印が付けられ、クライアント・ドメイン４１５（１〜４）によって実行されるため、２つのタスクが受信キュー４６５（１〜４）内に現在係属中であることを意味している。ひとたび完了すると、当該タスクは受信キュー４６５（１〜４）から削除される。
【００５６】
他の実施の形態においては、メッセージをチェックすべくＳＲＤ４１０（１、２）が送信キュー４６０（１〜４）をポーリングするかわりに、各クライアント・ドメイン４１５（１〜４）が、送信キュー４６０（１〜４）にメッセージをポストし、次いでＳＲＤ４１０（１、２）に係属中のメッセージを知らせるべく割り込みを生成してもよい。同様に、クライアント・ドメイン４１５（１〜４）に受信キュー４６５（１〜４）をポーリングさせるかわりに、ＳＲＤ４１０（１、２）が、クライアント・ドメイン４１５（１〜４）の受信キュー４６５（１〜４）にメッセージがポストされるたびに割り込みを生成し、クライアント・ドメイン４１５（１〜４）に新しいメッセージがポストされたことを告知してもよい。
【００５７】
図５を参照すると、本発明の実施の一形態について、図４Ａのドメイン・セット４０９内のドメイン間通信を可能にする方法のフロー図が示されている。主ＳＲＤ４１０（１）が、発起クライアント・ドメイン４１５（１〜４）からの要求を（フロー図の５１０で）受信する。実施の一形態においては、要求を開始するクライアント・ドメイン４１５（１〜４）が、係属中の要求があることを主ＳＲＤ４１０（１）に知らせるため、割り込みを使用することができる。かわりに、主ＳＲＤ４１０（１）が、規定の各クライアント・ドメイン４１５（１〜４）の要求を定期的にポーリングしてもよい。
【００５８】
（フロー図の５１０で）受信した要求は、例えば、他のクライアント・ドメイン４１５（１〜４）のリソース（例えば、ハードウェアまたはデータ）へのアクセス要求であってよい。例えば、実施の一形態において、第１のクライアント・ドメイン４１５（１）が、（フロー図の５１０で）第４のクライアント・ドメイン４１５（４）からのデータの受信、および／または第４のクライアント・ドメイン４１５（４）へのデータの送信を要求してもよい。実施の一形態では、１つ以上のクライアント・ドメイン４１５（１〜４）が、インターフェイス４３５などのリソースなど、ＳＲＤ４１０（１、２）のリソースにアクセスすることもできる。これに限られるわけではないが、説明を目的として、発起クライアント・ドメイン４１５（１〜４）が、（フロー図の５１０で）他のクライアント・ドメイン（故に、「目標クライアント・ドメイン」と呼ばれる）４１５（１〜４）からデータを要求するとみなされる。
【００５９】
主ＳＲＤ４１０（１）によって（フロー図の５１０で）受信されたリクエストに応答して、主ＳＲＤ４１０（１）は、（フロー図の５２０で）目標クライアント４１５（１〜４）にアクセスする。目標クライアント・ドメイン４１５（１〜４）に（フロー図の５２０で）アクセスする工程は、例えば、主ＳＲＤ４１０（１）が、発起クライアント・ドメイン４１５（１〜４）によって（フロー図の５１０で）要求されたデータを引き出すべく、目標クライアント・ドメイン４１５（１〜４）のメモリ３６１（１〜４）にアクセスすることを含んでいてよい。ＳＲＤ４１０（１）は、（フロー図の５２５で）目標クライアント・ドメイン４１５（１〜４）が応答しているかどうかを判断する。実施の一形態においては、ＳＲＤ４１０（１）は、（フロー図の５２５で）目標ドメイン４１５（１〜４）が応答しているかどうかを判断するため、あらかじめ選択された時間（その時間はプログラム可能にしてもよい）の間、目標クライアント・ドメイン４１５（１〜４）にアクセスを試みることができる。あらかじめ選択された時間内に目標クライアント・ドメイン４１５（１〜４）へのアクセスの試みが成功しなかったとき、それは、そのドメイン４１５（１〜４）が動作していない、あるいは主ＳＲＤ４１０（１）とそのドメイン４１５（１から４）との間の接続に障害があり、目標クライアント・ドメイン４１５（１〜４）が応答可能でないことを示している。
【００６０】
ある場合に、クライアント・ドメイン４１５（１〜４）（または、ＳＲＤ４１０（１、２））は、ドメインが致命的なエラーによって引き起こされる「ドメイン停止」を持つ場合、応答のない状態になることがある。ハードウェアが回復不可能なエラーを検出したとき、ドメインが走り続けると故障の源を突き止めることが困難になるが、これを防止してさらなるデータの損傷を少なくし、デバッグを容易にするよう、「ドメイン停止」によりドメイン４１５（１〜４）／４１０（１、２）を迅速かつ効果的にシャット・ダウンする。図示の実施の形態では、「ドメイン停止」は、ＡＸＱモジュール３８２およびＳＤＩモジュール３８３（図３Ａを参照）の入出経路をシャット・ダウンすることによって行われる。
【００６１】
（フロー図の５２５で）目標クライアント・ドメイン４１５（１〜４）が応答可能である場合、次いで主ＳＲＤ４１０（１）が、（フロー図の５３０で）目標クライアント・ドメイン４１５（１〜４）からデータを引き出す。続いて、主ＳＲＤ４１０（１）が、目標クライアント・ドメイン４１５（１〜４）から（フロー図の５３０で）引き出したデータを、発起クライアント・ドメイン４１５（１〜４）に提供する。実施の一形態において、主ＳＲＤ４１０（１）は、目標クライアント・ドメイン４１５（１〜４）から（フロー図の５３０で）引き出したデータを、発起クライアント・ドメイン４１５（１〜４）のメモリ３６１（１〜４）へとコピーする。
【００６２】
主ＳＲＤ４１０（１）が、（フロー図の５２５で）目標ドメインが応答可能でないと判断した場合、次いで主ＳＲＤ４１０（１）は、（フロー図の５４０で）システム制御ボード１５（１、２）にそのように知らせる（図１参照）。その後、主ＳＲＤ４１０（１）は、（フロー図の５５０で）エラー状態を発起クライアント・ドメイン４１５（１〜４）に知らせることができ、発起クライアント・ドメイン４１５（１〜４）に、（フロー図の５１０で）受け取った要求に対して上手くサービスすることができないことを知らせる。主ＳＲＤ４１０（１）は、（フロー図の５１０で）他のクライアント・ドメイン４１５（１〜４）からの他の要求を受け取ることができる。
【００６３】
図５には、一つのクライアント・ドメイン４１５（１〜４）から他のクライアント・ドメイン４１５（１〜４）へのデータの転送方法が示されているが、同様の方法を、クライアント・ドメイン４１５（１〜４）からのデータの受信にも用いることができる。例えば、他のクライアント・ドメイン４１５（１〜４）からのデータを要求しているクライアント・ドメイン４１５（１〜４）が、まずＳＲＤ４１０（１、２）に、選択されたデータが他のクライアント・ドメイン４１５（１〜４）から希望されていることを示してもよい。要求クライアント・ドメイン４１５（１〜４）が、ＳＲＤ４１０（１）にそのような要求を、割り込みやポーリングを用いて示してもよい。要求が知らされるとＳＲＤ４１０（１）は、要求されたデータをリモート・クライアント・ドメイン４１５（１〜４）から引き出し、要求クライアント・ドメイン４１５（１〜４）に提供することができる。実施の一形態において、このような転送は、クライアント・ドメイン４１５（１〜４）のメモリをＳＲＤ４１０（１）へと動的にマッピングすることにより、促進することができる。
【００６４】
前述のとおり、図示の実施の形態では、ＳＲＤ４１０（１、２）が、一つのクライアント・ドメイン４１５（１〜４）から他のクライアント・ドメイン４１５（１〜４）へのデータの転送を促進している。ドメイン間データ転送を管理することにより、ＳＲＤ４１０（１、２）は、クライアント・ドメイン４１５（１〜４）間のエラー絶縁をもたらすことができる。すなわち、クライアント・ドメイン４１５（１〜４）が応答を停止した場合、ＳＲＤ４１０（１、２）は、当該ドメインからの応答の欠如を許容することができる。さらに、主ＳＲＤ４１０（１）が応答を停止した場合、クライアント・ドメイン４１５（１〜４）は、主ＳＲＤ４１０（１）からの応答の欠如を許容することができる。主ＳＲＤ４１０（１）が応答を停止した場合には、副ＳＲＤ４１０（２）が管理機能を引き継ぐ。
【００６５】
次に図６を参照すると、本発明の実施の一形態について、図４Ａのドメイン・セット４０９においてドメイン間通信を可能にする別の方法のフロー図が示されている。説明を容易にするため、ここでは、クライアント・ドメイン４１５（１〜４）の１つ（「起点」クライアント・ドメイン４１５（１〜４）と呼ぶ）が、残りのクライアント・ドメイン４１５（１〜４）のうちの１つ（「宛先」クライアント・ドメイン４１５（１〜４）と呼ぶ）にデータを転送するものとする。しかしながら、同様の方法を、クライアント・ドメイン４１５（１〜４）のうちの１つが他のクライアント・ドメイン４１５（１〜４）からのデータ受信を希望している場合に使用できることは、理解されるであろう。
【００６６】
送信キュー４６０（１〜４）および受信キュー４６５（１〜４）が、（フロー図の６１０で）ＳＲＤ４１０（１、２）の各クライアント・ドメイン４１５（１〜４）についてマッピングされる。したがって、クライアント・ドメイン４１５（１〜４）の各キュー４６０（１〜４）、４６５（１〜４）は、当該クライアント・ドメイン４１５（１〜４）ならびにＳＲＤ４１０（１、２）によってアクセス可能である。しかしながら、図示の実施の形態では、クライアント・ドメイン４１５（１〜４）は互いのキュー４６０（１〜４）、４６５（１〜４）にアクセスすることはできない。
【００６７】
ＳＲＤ４１０（１、２）は、（フロー図の６２０で）新しいメッセージのため、構成された各クライアント・ドメイン４１５（１〜４）の送信キュー４６０（１〜４）をポーリングする。前述のとおり、各クライアント・ドメイン４１５（１〜４）によって送信キュー４６０（１〜４）にポストされたメッセージは、ＳＲＤ４１０（１、２）が完了すべきタスクを含んでいる。実施の一形態においては、ＳＲＤ４１０（１、２）が、各クライアント・ドメイン４１５（１〜４）の送信キュー４６０（１〜４）を連続的にポーリングしてもよい。あるいは、ＳＲＤ４１０（１、２）が、各クライアント・ドメイン４１５（１〜４）の送信キュー４６０（１〜４）を、例えばユーザによって指定される優先順序の枠組みにもとづき、ユーザ定義の順序に従ってポーリングしてもよい。
【００６８】
ＳＲＤは（フロー図の６２５で）、クライアント・ドメイン４１５（１〜４）の送信キュー４６０（１〜４）に新しいメッセージがポストされていないかを判断する。ＳＲＤが（フロー図の６２５で）、クライアント・ドメイン４１５（１〜４）の送信キュー４６０（１〜４）に新しいメッセージがポストされていないと判断した場合、次いでＳＲＤ４１０（１、２）は、クライアント・ドメイン４１５（１〜４）の送信キュー４６０（１〜４）を（フロー図の６２０で）再びポーリングする。ポーリングの工程は、ＳＲＤ４１０（１、２）が、（フロー図の６２５）でクライアント・ドメイン４１５（１〜４）の送信キュー４６０（１〜４）に新しいメッセージがポストされたと判断するまで続けてよい。ＳＲＤ４１０（１、２）が、（フロー図の６２５）で、クライアント・ドメイン４１５（１〜４）の送信キュー４６０（１〜４）に新しいメッセージがポストされたと判断すると、ＳＲＤ４１０（１、２）は、（フロー図の６３０で）メッセージでポストされたタスクを実行する。（フロー図の６３０での）タスク実行行為のより詳細な実施の形態は、以下で図７を参照して説明する。
【００６９】
再び図６を参照すると、ＳＲＤ４１０（１、２）によってタスクが（フロー図の６３０で）うまく実行されると、ＳＲＤ４１０（１、２）は、（フロー図の６３２で）タスクを含んでいる送信キュー４６０（１〜４）の状態フィールド４７８（図４Ｂを参照）を更新する。送信キュー４６０（１〜４）の状態フィールド４７８は、例えばタスクが完了したことを示すために更新できる。実施の一形態では、タスクが完了したクライアント・ドメイン４１５（１〜４）は、（フロー図の６３５で）自身の送信キュー４６０（１〜４）から当該タスクを取り除く。他の実施の形態においては、クライアント・ドメイン４１５（１〜４）ではなくＳＲＤ４１０（１、２）が、（フロー図の６３５で）送信キュー４６０（１〜４）から当該タスクを取り除いてもよい。ＳＲＤ４１０（１、２）が（フロー図の６３５で）クライアント・ドメイン４１５（１〜４）の送信キュー４６０（１〜４）から当該タスクを取り除く場合には、ＳＲＤ４１０（１、２）が通常、タスクが完了するや否や当該タスクを取り除くので、送信キュー４６０（１〜４）に状態フィールド４７８は不要かもしれないことに注意すべきである。
【００７０】
次に図７を参照すると、本発明の実施の一形態について、図６のブロック６３０のフロー図が示されている。ＳＲＤ４１０（１、２）は、（フロー図の７１０で）起点クライアント・ドメイン４１５（１〜４）および宛先クライアント・ドメイン４１５（１〜４）に関する情報を決定する。すでに述べたとおり、説明を容易にするため、ここでは起点クライアント・ドメイン４１５（１〜４）が宛先クライアント・ドメイン４１５（１〜４）にデータを送信するものとする。したがって、実施の一形態においては、起点クライアント・ドメイン４１５（１〜４）の送信キュー４６０（１〜４）のメッセージ・フィールド４７９が、起点クライアント・ドメイン４１５（１〜４）の送信しようとするデータのある送信バッファ４７０（１）のページ・フレーム番号、キャッシュ・ライン境界オフセット、転送しようとするデータのページ数、キャッシュ・ラインへのバイト・オフセットなどの情報を含むことができる。送信キュー４６０（１〜４）のメッセージ・フィールド４７９が、宛先クライアント・ドメイン４１５（１〜４）の受信バッファ４７２（１〜４）（図４Ａ）のページ・フレーム番号など、宛先情報をさらに含んでもよい。
【００７１】
ＳＲＤ４１０（１、２）は、（フロー図の７１５で）起点クライアント・ドメイン４１５（１〜４）の送信バッファ４７０（１〜４）（図４Ａ）のページ・フレーム番号をＳＲＤ４１０（１、２）へとマッピングし、マッピングされたメモリは共有メモリとなる。同様に、ＳＲＤ４１０（１、２）は、（フロー図の７２０で）宛先クライアント・ドメイン４１５（１〜４）の受信バッファ４７２（１〜４）（図４Ａ）のページ・フレーム番号をＳＲＤ４１０（１、２）へとマッピングする。マッピングされるメモリの量は、通常、転送されるデータの量によって決まるが、他の実施の形態では、所望のとおりに追加のメモリをマッピングしてもよい。
【００７２】
ＳＲＤ４１０（１、２）は、（フロー図の７２５で）マッピングされた起点のメモリ領域（起点クライアント・ドメイン４１５（１〜４）の送信バッファ４７０（１〜４）に対応）から、マッピングされた宛先のメモリ領域（宛先クライアント・ドメイン４１５（１〜４）の受信バッファ４７２（１〜４）に対応）へと、データをコピーする。実施の一形態では、（アッセンブリ・レベルでは通常である）バイト列コピー・コマンドが、マッピングされた２つのメモリ領域間のデータ転送に使用される。
【００７３】
実施の一形態においては、データ転送の際にバイト列コピー・コマンドが失敗した場合、生じたエラーが内在のハードウェア（例えば、拡張ボード４０およびその構成要素）によって取り扱われ、エラーがドメイン・セット４０９（図４Ａを参照）内の他のドメインに影響することがない。バイト列コピー・コマンドは、例えば、要求エージェント３９２（図３Ａを参照）が、データ転送のためのバイト列コピー・コマンドにもとづき、内在の要求をマッピングしたとおりに主張しない場合に生じうる。そのような場合、生じたトラップが拡張ボード４０によって取り扱われ、シャット・ダウンを引き起こすかわりに、バイト列コピーが失敗したことを知らせるあらかじめ決められたコードをソフトウェアに伝達する。このようにして、データ転送の際に生じたエラーは、ドメイン・セット４０９にて幾分絶縁され、ドメイン・セット４０９内の他のドメイン間のデータ転送は、事実上影響を受けることはない。
【００７４】
（フロー図の７２５で）データをコピーすると、ＳＲＤ４１０（１、２）は、（フロー図の７１５および７２０で）マッピングしたメモリ領域を（フロー図の７２７で）取り除く。このように、実施の一形態では、クライアント・ドメイン４１５（１〜４）間の各データ転送の前に、メモリ領域がＳＲＤ４１０（１、２）に動的にマッピングされ、その後、データが転送された後にマッピングが解除される。
【００７５】
ＳＲＤ４１０（１、２）は、（フロー図の７３０で）宛先クライアント・ドメイン４１５（１〜４）の受信キュー４６５（１〜４）に、メッセージをポストする。実施の一形態において、メッセージは宛先クライアント・ドメイン４１５（１〜４）に、データが当該宛先クライアント・ドメイン４１５（１〜４）の受信バッファ４７２（１〜４）に移されたことを知らせる。次いで宛先クライアント・ドメイン４１５（１〜４）は、図８でより詳しく説明するように、ＳＲＤ４１０（１、２）によって（フロー図の７３０で）当該宛先クライアント・ドメイン４１５（１〜４）の受信キュー４６５（１〜４）にポストされたメッセージを処理する。
【００７６】
次に図８を参照すると、本発明の実施の一形態について、宛先クライアント・ドメイン４１５（１〜４）の受信キュー４６５（１〜４）内のメッセージの処理方法のフロー図が示されている。宛先クライアント・ドメイン４１５（１〜４）は、新しいメッセージをチェックするため、（フロー図の８１０で）受信キュー４６５（１〜４）をポーリングする。宛先クライアント・ドメイン４１５（１〜４）は、（フロー図の８２０で）受信キュー４６５（１〜４）に新しいメッセージがポストされたか否かを判断する。新しいメッセージが検出されなかった場合、宛先クライアント・ドメイン４１５（１〜４）は、（フロー図の８１０で）新しいメッセージのため受信キュー４６５（１〜４）を定期的にポーリングすることができる。（フロー図の８２０で）新しいメッセージが受信キュー４６５（１〜４）にポストされたことを検出した場合、続いて宛先クライアント・ドメイン４１５（１〜４）は、（フロー図の８３０で）当該メッセージに含まれているタスクを実行する。図７の説明例においては、タスクは、宛先クライアント・ドメイン４１５（１〜４）に、受信バッファ４７２（１〜４）へと起点クライアント・ドメイン４１５（１〜４）の送信バッファ４７０（１〜４）からデータが転送されたことを知らせ、受信バッファ４７２（１〜４）内のデータを他の場所に動かせることを知らせることにある。タスクが完了すると、（フロー図の８３５で）受信キュー４６５（１〜４）から取り除かれる。
【００７７】
上述の方法は、起点クライアント・ドメイン４１５（１〜４）から宛先クライアント・ドメイン４１５（１〜４）へのデータの送信を示している。他のクライアントからのデータの受信（送信の反対である）も、前述の方法と同様のやり方で行われる。例えば、要求側のクライアント・ドメイン４１５（１〜４）が自身の送信キュー４６０（１〜４）に、当該要求側クライアント・ドメイン４１５（１〜４）がリモート・クライアント・ドメイン４１５（１〜４）からの選択されたデータを望んでいることを示すメッセージをポストしてもよい。この送信キュー４６０（１〜４）からのメッセージを、図６〜８について上述したものと同様のやり方で、ＳＲＤ４１０（１、２）によってリモート・クライアント・ドメイン４１５（１〜４）の受信キュー４６５（１〜４）へと運ぶことができる。
【００７８】
システムの種々の層、ルーチン、またはモジュールを、制御ユニット３８９（図３Ａを参照）などの実行可能な制御ユニットとできる。各制御ユニット３８９は、マイクロプロセッサ、マイクロコントローラ、デジタル・シグナル・プロセッサ、プロセッサ・カード（マイクロプロセッサまたはコントローラを１つ以上備えている）、あるいはその他の制御または演算装置を備えることができる。
【００７９】
ここでの説明でいう記憶装置とは、データおよび命令を記憶するための機械で読み出し可能な１つ以上の記憶媒体を包含する。記憶媒体は、ダイナミック・ランダム・アクセス・メモリまたはスタティック・ランダム・アクセス・メモリ（ＤＲＡＭまたはＳＲＡＭ）、消去およびプログラム可能な読み出し専用メモリ（ＥＰＲＯＭ）、電子的に消去およびプログラム可能な読み出し専用メモリ（ＥＥＰＲＯＭ）およびフラッシュ・メモリなどの半導体メモリ装置、固定ディスク、フロッピ・ディスク、リムーバブル・ディスクなどの磁気ディスク、テープなどの他の磁気媒体、ならびにコンパクト・ディスク（ＣＤ）またはデジタル・ビデオ・ディスク（ＤＶＤ）などの光学媒体を含む種々の形式のメモリを包含する。命令は、各制御ユニットで実行されたとき、対応するシステムにプログラムされた動作を実行させる。
【００８０】
前記特定の実施の形態はあくまで説明のためのものであり、当業者であれば、ここでの教示による利益を有しつつ、本発明を変更し異なるが均等であるやり方で実施することができる。さらに、本発明は、以下の特許請求の範囲に記載するものを除き、ここで示した構成や設計の詳細に限定されるものではない。すなわち、前記した特定の実施の形態を改変または変更することができ、そのような変形が本発明の技術的範囲および思想の範疇と考えられることは明らかである。したがって、ここで求める保護は、以下の特許請求の範囲に記載するとおりである。
【図面の簡単な説明】
【００８１】
【図１】図１は、本発明の実施の一形態によるシステムを様式化して示したブロック図である。
【図２】図２は、本発明の実施の一形態について、図１のシステムで使用可能なドメイン構成の一例のブロック図である。
【図３Ａ】図３Ａは、本発明の実施の一形態について、図１のシステムで使用可能なシステム・ボード・ユニットを様式化して示したブロック図ある。
【図３Ｂ】図３Ｂは、本発明の実施の一形態について、図３Ａのシステム・ボード・ユニットの拡張ボードで使用可能な要求エージェントのブロック図である。
【図４Ａ】図４Ａは、本発明の実施の一形態について、図１のシステムのドメイン・セット構成のブロック図である。
【図４Ｂ】図４Ｂは、本発明の実施の一形態について、図４Ａのドメイン・セット構成のクライアント・ドメインで使用可能なキューの例である。
【図４Ｃ】図４Ｃは、本発明の実施の一形態について、図４Ａのドメイン・セット構成のクライアント・ドメインで使用可能なキューの例である。
【図５】図５は、本発明の実施の一形態について、図４Ａのドメイン・セットにおけるドメイン間通信の方法のフロー図である。
【図６】図６は、本発明の実施の一形態について、ドメイン間通信を可能にする方法のフロー図である。
【図７】図７は、本発明の実施の一形態について、ドメイン間通信を可能にする他の方法のフロー図である。
【図８】図８は、図４Ａのドメイン・セット構成のクライアント・ドメインで実施可能な方法のフロー図である。
【図１】
2005515543.tif 000003
【図２】
2005515543.tif 000004
【図３Ａ】
2005515543.tif 000005
【図３Ｂ】
2005515543.tif 000006
【図４Ａ】
2005515543.tif 000007
【図４Ｂ】
2005515543.tif 000008
【図４Ｃ】
2005515543.tif 000009
【図５】
2005515543.tif 000010
【図６】
2005515543.tif 000011
【図７】
2005515543.tif 000012
【図８】
2005515543.tif 000013
【手続補正書】
【提出日】平成16年5月13日(2004.5.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
共有ドメインに属する中央装置が起点となる装置から中央装置にメモリ領域をマッピングすること、
中央装置が第２のドメインに属する目標となる装置から中央装置にメモリ領域をマッピングすること、
中央装置が起点となる装置のマッピングされたメモリ領域から、目標となる装置のマッピングされたメモリ領域にデータを転送すること、および
定められたドメインのエラーが残りのドメインへ影響を及ぼさないように第１のクライアント・ドメイン、第２のクライアント・ドメイン、および共有リソース・ドメインを絶縁すること
からなる方法。
【請求項２】
起点となる装置のメモリ領域のマッピングが、起点となる装置のメモリ領域の物理アドレス範囲に関連した少なくとも１つのページ・フレーム番号を受信すること、および、ページ・フレーム番号を中央装置の仮想メモリ位置へマッピングすることからなる請求項１に記載の方法。
【請求項３】
目標となる装置のメモリ領域のマッピングが、目標となる装置のメモリ領域の物理アドレス範囲に関連した少なくとも１つのページ・フレーム番号を受信すること、および、ページ・フレーム番号を中央装置の仮想メモリ位置へマッピングすることからなる請求項２に記載の方法。
【請求項４】
データの転送が、起点となる装置のマッピングされたメモリ領域から、目標となる装置のマッピングされたメモリ領域へとデータをコピーすることからなる請求項１に記載の方法。
【請求項５】
起点となる装置のメモリ領域のマッピングが、起点となる装置の転送バッファの物理アドレスを中央装置にマッピングすることからなる請求項１に記載の方法。
【請求項６】
起点となる装置のメモリ領域のマッピングが、目標となる装置の受信バッファの物理アドレスを中央装置にマッピングすることからなる請求項１に記載の方法。
【請求項７】
起点となる装置のメモリ領域の中央装置へのマッピングが、起点となる装置から受信した目標となる装置へのデータ転送要求に応答して、起点となる装置のメモリ領域をマッピングすることからなる請求項１に記載の方法。
【請求項８】
起点となる装置のメモリ領域の中央装置へのマッピングが、目標となる装置から受信した起点となる装置からのデータ受信要求に応答して、起点となる装置のメモリ領域をマッピングすることからなる請求項７に記載の方法。
【請求項９】
起点となる装置からの要求の受信が、中央装置へとマッピングされた起点となる装置の送信キューを、目標となるドメインへのデータ転送を求めるメッセージを探してポーリングすることからなる請求項７に記載の方法。
【請求項１０】
インターフェイス、および
インターフェイスに通信可能に接続された共有ドメインに属する中央装置
からなり、
中央装置が、
インターフェイスを通して、第１のクライアント・ドメインに属する起点となる装置から第２のクライアント・ドメインに属する目標となる装置へとデータを転送するタスクを受信し、
起点となる装置のメモリ領域を中央装置にマッピングし、
目標となる装置のメモリ領域を中央装置にマッピングし、そして
起点となる装置のマッピングされたメモリ領域から、目標となる装置のマッピングされたメモリ領域へとデータを転送し、
任意のドメインのエラーが残りのドメインへ影響を及ぼさないように第１のクライアント・ドメイン、第２のクリアイアント・ドメイン、および共有リソース・ドメインが相互に絶縁される
よう構成されている装置。
【請求項１１】
起点となる装置のメモリ領域が、起点となる装置の送信バッファのアドレス範囲に対応している請求項１０に記載の装置。
【請求項１２】
目標となる装置のメモリ領域が、目標となる装置の受信バッファのアドレス範囲に対応している請求項１０に記載の装置。
【請求項１３】
中央装置が、データ転送タスクにアクセスすべく起点となる装置の送信キューにアクセスし、送信キューに対応するアドレス範囲が中央装置にマッピングされる請求項１０に記載の装置。
【請求項１４】
中央装置が、データ転送タスクにアクセスすべく定期的に送信キューをポーリングする請求項１３に記載の装置。
【請求項１５】
送信キューが、タスクに関連づけられた状態フィールドを有し、転送が完了したことを示すべく中央装置が状態フィールドを更新する請求項１３に記載の装置。
【請求項１６】
状態フィールドの更新に応答して、起点となる装置がタスクを送信キューから削除する請求項１５に記載の装置。
【請求項１７】
中央装置が、目標となる装置のマッピングされたメモリ領域へのデータ転送に応答して、目標となる装置の受信キューにタスクを記憶する請求項１０に記載の装置。
【請求項１８】
目標となる装置が、記憶されたタスクを求めて受信キューに定期的にアクセスし、受信キューにタスクが記憶されているとの判断に応答して、目標となる装置が受信キューからのタスクを実行する請求項１７に記載の装置。
【請求項１９】
中央装置が、成功裏のデータ転送に応答して、マッピングしたメモリ領域を取り除く請求項１０に記載の装置。
【請求項２０】
機械での読み取りが可能な１つ以上の記憶媒体からなり、記憶媒体が命令を収容している物品であって、
命令の実行時、プロセッサによる、請求項１から９のいずれか一つの方法の実行
が可能になる物品。
【国際調査報告】
2005515543.tif 000014
2005515543.tif 000015