(57)【特許請求の範囲】
【請求項１】
複数に分割された区画を含み、１つの区画に割り当てられている資源を他のいずれの区画も使用しないことをマッピング・テーブルにより保証するコンピュータ・システムにおいて、１つのデータ送信側区画から複数のデータ受信側区画にデータ転送させるコンピュータ実行可能な方法であって、前記方法は、前記コンピュータに対し、
前記データ送信側区画が、該データを前記システムのすべての区画がアクセス可能なメモリに格納したのち、該メモリを「読み取り専用」メモリにする機能手段と、
前記データ送信側区画が、複数の前記データ受信側区画の識別情報の組み合わせに対応したグループIDを前記システムのファームウェアに送信する機能手段と、
前記ファームウェアが、グループIDと各グループに含まれる区画の識別情報とを対応付けたグループIDテーブルを参照し、受信した前記グループIDに基づいて前記複数のデータ受信側区画を判断し、前記メモリに読み取るべきデータがある旨を前記複数のデータ受信側区画に通知する機能手段と、
前記複数のデータ受信側区画のすべてが前記データを読み取った場合、前記メモリを「読み取り」「書き込み」メモリに切り替える機能手段と
を実現する
方法。
【請求項２】
請求項１に記載の方法を実行させるためのコンピュータ・プログラム。
【請求項３】
複数に分割された区画を含み、１つの区画に割り当てられている資源を他のいずれの区画も使用しないことをマッピング・テーブルにより保証するコンピュータ・システムにおいて、１つのデータ送信側区画から複数のデータ受信側区画にデータを転送する装置であって、
前記データを前記システムのすべての区画がアクセス可能なメモリに格納したのち、該メモリを「読み取り専用」メモリにする手段と、
前記複数のデータ受信側区画の識別情報の組み合わせに対応したグループIDを前記システムのファームウェアに送信する手段と、
前記複数のデータ受信側区画のすべてが前記データを読み取った場合、前記メモリを「読み取り」「書き込み」メモリに切り替える手段とを備え、
前記ファームウェアは、グループIDと各グループに含まれる区画の識別情報とを対応付けたグループIDテーブルを参照し、受信した前記グループIDに基づいて前記複数のデータ受信側区画を判断し、前記メモリに読み取るべきデータがある旨を前記複数のデータ受信側区画に通知する、
装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータ・システムを管理する方法と装置に関する。特に、本発明は、分割された（partitioned ）コンピュータ・システムの１つの区画（partition)から複数の他の区画にデータをマルチキャストまたはブロードキャストする方法と装置に関する。
【０００２】
【従来の技術】
現在、多くのコンピュータ・メーカーが分割化機能を備えたコンピュータ・システムを設計している。コンピュータ・システムを分割するということは、当該コンピュータ・システムの資源（すなわち記憶装置やプロセッサなど）をグループに分割することである。これにより、当該コンピュータ・システムで複数のオペレーティング・システムを並行して実行することが可能になる。
【０００３】
コンピュータ・システムの分割は、様々な理由から行なわれる。第１に、統合を目的に行なわれる。それまで様々なコンピュータ・システム上に存在した複数のアプリケーション・プログラムをたった１つのコンピュータ・システムで実行することにより、様々なコンピュータ・システムを１つに統合すると、明らかに、（i)システムの所有費用、（ii）システム管理所要量、および（iii)フットプリント（占有面積）が低減する。
【０００４】
第２に、分割化は、製造環境と試験環境の一貫性を実現するために行なわれる。これにより、試験に合格したアプリケーション・プログラムが期待通りの性能を発揮するという信頼性が増す。
【０００５】
第３に、コンピュータ・システムを分割すると、ハードウェアの使用効率が向上する。たとえば、１つのアプリケーション・プログラムを多くのプロセッサにうまく分担させることができない場合であっても、当該プログラムの複数のインスタンスを別々の小さな区画で実行すると、スループットが向上する。
【０００６】
第４に、システムを分割すると、アプリケーション・プログラムを分離することができる。アプリケーション・プログラムが様々な区画で実行されている場合、それらは、互いを妨害しないということが保証されている。したがって、１つの区画が故障しても、他の区画は影響されない。さらに、アプリケーション・プログラムがハードウェア資源を過剰に消費することがない。それゆえ、アプリケーション・プログラムは、必要なハードウェア資源に飢えることがない。
【０００７】
最後に、分割することにより、資源割り当ての柔軟性が増大する。時間の経過とともに変動する資源を必要とするワークロード（作業負荷）は、１つの区画で実行するようにすれば、より容易に管理できるようになる。すなわち、区画は、ワークロードの変動する要求に適合するように容易に変更することができる。
【０００８】
分割されたシステムのある区画が当該システム中の複数の他の区画にデータを転送する必要がある場合、現在は、ネットワークを使用しなければならない。具体的には、データは、まず送信側区画のＴＣＰ／ＩＰスタックを下ってネットワークに入る必要がある。次いで、データは、ネットワーク・インタフェースを通じて受信側区画に入る。そして、データは、各受信側区画のＴＣＰ／ＩＰスタックを上ったのちに処理される。これは、時間がかかるとともにＣＰＵ多消費のタスクである。
【０００９】
以上のとおりであるから、分割されたシステムの１つの区画から当該システムの複数の他の区画に、ネットワークを使用することなく、データを転送する装置と方法が必要とされている。
【００１０】
【課題を解決するための手段】
本発明は、分割されたコンピュータ・システムの１つの区画から当該システムの複数の区画に一片のデータをマルチキャストまたはブロードキャストする方法、システム、および装置を提供する。ある区画が上記システムの複数の区画にデータを転送する必要がある場合、当該区画は、まず、上記システムのすべての区画がアクセス可能なグローバル・メモリに当該データを格納する。次いで、グローバル・メモリを「読み取り専用」とマーク付けして、当該データが他の区画によって上書きされないということを保証する。次いで、受信側区画のＩＤ（識別情報）を、上記コンピュータ・システムの一片のファームウェアすなわちハードウェアに渡す。次いで、この一片のファームウェアすなわちハードウェアは、受信側区画にグローバル・メモリに直ちに読み取るべき一片のデータをある旨を通知する。すべての受信側区画が当該データを読み取ったら、グローバル・メモリを「読み取り」「書き込み」メモリに戻す。
【００１１】
【発明の実施の形態】
次に、図面を参照する。図１は、本発明を実現しうるデータ処理システムから成るネットワークの模式図である。ネットワーク・データ処理システム１００は、本発明を実現しうるコンピュータから成るネットワークである。ネットワーク・データ処理システム１００は、ネットワーク１０２を備えている。ネットワーク１０２は、ネットワーク・データ処理システム１００内で相互に接続された様々な装置およびコンピュータの間で通信リンクを実現するのに使われる媒体である。ネットワーク１０２は、有線通信リンク、無線通信リンク、光ファイバ・ケーブルなどの通信手段を備えている。
【００１２】
図示した例では、ネットワーク１０２には、サーバ１０４が記憶装置１０６とともに接続されている。さらに、ネットワーク１０２には、クライアント１０８、１１０、１１２が接続されている。これらのクライアント１０８、１１０、１１２は、たとえばパーソナル・コンピュータまたはネットワーク・コンピュータである。図示した例では、サーバ１０４は、ブート・ファイル、オペレーティング・システム・イメージ、アプリケーションなどのデータをクライアント１０８、１１０、１１２に供給する。（「イメージ(image) 」とは、データが記憶装置などに存在するときにおけるあるがままの状態のことである。）クライアント１０８、１１０、１１２は、サーバ１０４に対するクライアントである。ネットワーク・データ処理システム１００は、追加のサーバ、クライアントなどの図示しない装置を備えていてもよい。図示した例では、ネットワーク・データ処理システム１００は、ＴＣＰ／ＩＰプロトコル・スーツを使って互いに通信するネットワークとゲートウェイの世界規模の集積を代表するネットワーク１０２を備えたインターネットである。インターネットの心臓部には、大規模なノードすなわちホスト・コンピュータの間を接続する高速データ通信回線から成るバックボーンがある。バックボーンは、データとメッセージをルーティングする数千の商業上の、政府所有の、教育機関所有の、および他のコンピュータ・システムから成る。無論、ネットワーク・データ処理システム１００は、様々な種類のネットワーク、たとえばイントラネット、ＬＡＮ（local area network）、ＷＡＮ（wide area network)などとしても実現することができる。図１は、一例にすきず、本発明を構成的に限定することを意図していない。
【００１３】
図２を参照すると、サーバ、たとえば図１のサーバ１０４として実現しうるデータ処理システムのブロック図が、本発明の好適な実施形態によって示されている。データ処理システム２００は、システム・バス２０６に接続された複数のプロセッサ２０２、２０４を備えた対称型マルチプロセッサ（ＳＭＰ）システムである。あるいは、単一プロセッサ・システムを採用してもよい。システム・バス２０６には、メモリ・コントローラ／キャッシュ２０８も接続されており、ローカル・メモリ２０９へのインタフェースを提供している。また、システム・バス２０６には、Ｉ／Ｏバス・ブリッジ２１０が接続されており、Ｉ／Ｏバス２１２へのインタフェースを提供している。メモリ・コントローラ／キャッシュ２０８とＩ／Ｏバス・ブリッジ２１０は、図示するように、統合することができる。
【００１４】
Ｉ／Ｏバス２１２に接続されたＰＣＩ（peripheral component interconnect)バス・ブリッジ２１４は、ＰＣＩローカル・バス２１６へのインタフェースを提供している。ＰＣＩローカル・バス２１６には、多数のモデムを接続しうる。典型的なＰＣＩバス実装では、４個のＰＣＩ拡張スロットすなわちアドイン・コネクタをサポートしている。図１のネットワーク・コンピュータ１０８、１１０、１１２への通信リンクは、アドイン・ボードを通じてＰＣＩローカル・バス２１６に接続されたモデム２１８とネットワーク・アダプタ２２０を通じて実現されている。
【００１５】
追加のＰＣＩバス・ブリッジ２２２、２２４は、追加のＰＣＩローカル・バス２２６、２２８用のインタフェースを提供している。これらから、追加のモデムまたはネットワーク・アダプタをサポートすることができる。このように、データ処理システム２００は、複数のネットワーク・コンピュータへの接続を実現している。また、図示するように、Ｉ／Ｏバス２１２には、メモリ・マップ・グラフィックス・アダプタ２３０とハード・ディスク駆動装置２３２も、直接にあるいは間接に接続されている。
【００１６】
当業者が認識しうるように、図２に示すハードウェアは変更しうる。たとえば、光ディスク装置などの他の周辺装置も、図示したハードウェアに加え、あるいはそれらの代わりに使用することができる。図示した例は、本発明に対する構成上の限定を意味するものではない。
【００１７】
図２に示すデータ処理システムとしては、たとえばＡＩＸ（Advanced Interactive Executive）オペレーティング・システムまたはＬＩＮＵＸオペレーティング・システムを実行しているＩＢＭｅサーバｐシリーズ（IBM e-Server pSeries、インターナショナル・ビジネス・マシーンズ・コーポレーションの製品) を用いることができる。
【００１８】
次に、図３を参照すると、本発明を実現しうるデータ処理システムを示すブロック図が示されている。データ処理システム３００は、クライアント・コンピュータの一例である。データ処理システム３００は、ＰＣＩローカル・バス・アーキテクチャを採用している。図示した例はＰＣＩバスを採用しているけれども、他のバス・アーキテクチャ、たとえばＡＧＰ（accelerated Graphics Port)やＩＳＡ（Industry Standard Architecture）などを用いてもよい。プロセッサ３０２とメインメモリ３０４は、ＰＣＩブリッジ３０８を通じてＰＣＩローカル・バス３０６に接続されている。ＰＣＩブリッジ３０８は、プロセッサ３０２用の統合されたメモリ・コントローラとキャッシュ・メモリをも備えている。ＰＣＩローカル・バス３０６への追加の接続は、直接コンポーネント相互接続またはアドイン・ボードを通じて行なうことができる。図示した例では、ＬＡＮアダプタ３１０、ＳＣＳＩ（small computer system interface)ホスト・バス・アダプタ３１２、および拡張バス・インタフェース３１４が、直接コンポーネント接続によってＰＣＩローカル・バス３０６に接続されている。これに対して、オーディオ・アダプタ３１６、グラフィックス・アダプタ３１８、およびオーディオ／ビデオ・アダプタ３１９は、拡張スロットに挿入されたアドイン・ボードによってＰＣＩローカル・バス３０６に接続されている。拡張バス・インタフェース３１４は、キーボード／マウス・アダプタ３２０、モデム３２２、および追加のメモリ３２４に対する接続を提供している。ＳＣＳＩホスト・バス・アダプタ３１２は、ハード・ディスク駆動装置３２６、テープ駆動装置３２８、およびＣＤ−ＲＯＭ駆動装置３３０に対する接続を提供している。典型的なＰＣＩローカル・バス実装は、３個または４個のＰＣＩ拡張スロットすなわちアドイン・コネクタをサポートしうる。
【００１９】
プロセッサ３０２上ではオペレーティング・システムが実行されており、図３のデータ処理システム３００内の様々な構成部品を調整し制御するのに使われている。オペレーティング・システムには、市販のオペレーティング・システム、たとえばＷｉｎｄｏｗｓ（Ｒ）２０００（マイクロソフト・コーポレーションから入手できる）を用いることができる。また、オペレーティング・システムとともにオブジェクト指向プログラミング・システム、たとえばＪａｖａ（Ｒ）を実行して、データ処理システム３００上で実行しているＪａｖａ（Ｒ）プログラムすなわちＪａｖａ（Ｒ）アプリケーションからオペレーティング・システムに対する呼び出しを実現することができる。「Ｊａｖａ（Ｒ）」は、サン・マイクロシステムズ・インクの商標である。オペレーティング・システム、オブジェクト指向プログラミング・システム、および、アプリケーションすなわちはプログラム用の命令は、記憶装置、たとえばハード・ディスク駆動装置３２６に格納しておき、メインメモリ３０４にロードしてプロセッサ３０２によって実行することができる。
【００２０】
当業者が認識しうるように、図３に示すハードウェアは、実装に応じて変動しうる。他の内部ハードウェアまたは周辺装置、たとえばフラッシュＲＯＭ（もしくは等価の不揮発性メモリ）または光ディスク駆動装置などを、図３に示すハードウェアに加え、またはその代わりに用いてもよい。また、本発明に係る方法は、マルチプロセッサ・データ処理システムにも適用することができる。
【００２１】
別の例として、データ処理システム３００には、ある種のネットワーク通信インタフェースに依存することなくブート可能なように構成されたスタンドアロン・システムを用いることができる。このことは、データ処理システム３００がある種のネットワーク通信インタフェースを備えているか否かにかかわらず成り立つ。さらに別の例として、データ処理システム３００には、ＰＤＡ（Personal Digital Assistant）装置を用いることができる。ＰＤＡは、オペレーティング・システムおよび／またはユーザ作成データを格納するための不揮発性メモリを提供するために、ＲＯＭおよび／またはフラッシュＲＯＭを備えるように構成されている。（「Ａおよび／またはＢ」は「ＡおよびＢ、Ａ、またはＢ」を表わす。）
【００２２】
図３に示す例および上述した例は、構成上の限定を意味していない。たとえば、ＰＤＡの形態をとるのに加え、データ処理システム３００には、ノートブック・コンピュータまたはハンドヘルド・コンピュータも用いることができる。また、データ処理システム３００には、キオスク装置やウェブ装置を用いてもよい。
【００２３】
本発明は、分割されたシステムの１つの区画から当該システムの複数の他の区画に、ネットワークを使用することなく、データを転送する装置と方法を提供する。本発明は、図１のクライアント・システム１０８、１１０、１１２、もしくはサーバ１０４、または、サーバ１０４およびクライアント１０８、１１０、１１２の双方にとってローカルである（すなわちネットワークを介さずに存立しうる）。したがって、本発明は、コンピュータ・システムが使用している任意の記憶媒体（すなわちフロッピー（Ｒ）・ディスク、コンパクト・ディスク、ハード・ディスク、ＲＯＭ、ＲＡＭなど）の上に存在しうる。
【００２４】
図４は、あるコンピュータ・システムの複数の区画を示す図である。区画（１）４１０は、２個のプロセッサと２個のＩ／Ｏスロットを保持し、記憶装置のある割合を使用している。区画（２）４２０は、１個のプロセッサと５個のＩ／Ｏスロットを保持し、記憶装置のより小さな割合を使用している。区画（３）４３０は、４個のプロセッサと５個のＩ／Ｏスロットを保持し、記憶装置のより大きな割合を使用している。コンピュータ・システムの領域４４０と４５０は、区画に割り当てられておらず、不使用である。留意点を挙げると、図４には、オペレーティング・システムをサポートするのに必要な資源のうちの部分集合しか示されていない。
【００２５】
図４に示すように、あるコンピュータ・システムが分割されている場合、その資源は区画群の間に分割されている。区画に割り当てられていない資源は、不使用である。具体的には、資源は、たった１つの区画に属しているか、区画にまったく属していないかのどちらかである。資源がある区画に属している場合、その資源は、当該区画にとって既知であり、かつ、当該区画しかアクセスできない。資源が区画に属していない場合、その資源は、すべての区画にとって未知であり、かつ、どの区画もアクセスできない。留意点を挙げると、１個のＣＰＵを２個以上の区画が共有することができる。この場合、ＣＰＵは、様々な区画が出すデータを処理するのに一定の等しい時間を使う。
【００２６】
コンピュータ・システムは、１つの区画に割り当てられている資源を別の区画が使っていないことを、マッピング・テーブルによって保証している。図５は、そのようなテーブルを示す図である。図５では、ＣＰＵ1 とＣＰＵ2 、メモリ割り当て１〜５０（すなわちＭ1 −Ｍ50）、および入出力（Ｉ／Ｏ）スロットＳＬＯＴ4 とＳＬＯＴ5 がＰＡＲＴＩＴＩＯＮ1 ５００にマップされている。同様に、ＣＰＵ3 、Ｍ51−Ｍ750 、およびＩ／Ｏ  ＳＬＯＴ6 −ＳＬＯＴ10がＰＡＲＴＩＴＩＯＮ2 ５０２にマップされており、ＣＰＵ4 −ＣＰＵ7 、Ｍ76−Ｍ150 、およびＩ／Ｏ  ＳＬＯＴ11−ＳＬＯＴ15がＰＡＲＴＩＴＩＯＮ3 ５０４にマップされている。
【００２７】
上述したように、分割されたシステムのある区画が一片のデータを当該システム中の他の複数の区画に転送する必要がある場合、ネットワークを使ってそうする（すなわち、データは、送信側区画のＴＣＰ／ＩＰスタックを通ってネットワーク上に出、そこから各受信側区画に入り、ＴＣＰ／ＩＰスタックを通ったのちに、処理可能になる）。これには、処理時間と処理能力が大量に必要である。
【００２８】
本発明では、システムのすべての区画にとってアクセス可能なグローバル・メモリを使用してデータを格納している。具体的には、まず送信側区画がグローバル・メモリにデータを格納したのち、受信側区画の識別情報（ＩＤ）を分割されたシステムのファームウェアすなわちハードウェアに渡す。ＩＤを受信すると、上記ファームウェアすなわちハードウェアは、格納されているデータを読み出す必要がある旨を受信側区画に通知する。
【００２９】
図６は、区画を参照するのに使用するＩＤのテーブルである。たとえば、ＰＡＲＴＩＴＩＯＮ1 のＩＤはＬＰＡＲ1 であり、ＰＡＲＴＩＴＩＯＮ2 のＩＤはＬＰＡＲ2 であり、などである。ＰＡＲＴＩＴＩＯＮ1 が一片のデータをＰＡＲＴＩＴＩＯＮ2 に渡す必要がある場合、ＰＡＲＴＩＴＩＯＮ1 は、ＰＡＲＴＩＴＩＯＮ2 のＩＤであるＬＰＡＲ2 を使用する。
【００３０】
１つの区画が複数の区画に一片のデータをマルチキャストまたはブロードキャストする必要が生じる場合がある。その場合、当該区画は、グループＩＤを使用する。図７は、グループＩＤと各グループが含んでいるＩＤとを示す図である。たとえば、ＧＲＯＵＰ1 はＬＰＡＲ1 とＬＰＡＲ2 を含み、ＧＲＯＵＰ2 はＬＰＡＲ1 とＬＰＡＲ3 を含み、などである。このテーブルには、ＩＤのすべての組み合わせを記入する。いずれにしても、コンピュータ・システムに４個の区画があり、ＰＡＲＴＩＴＩＯＮ4 が残りのすべての区画に一片のデータをブロードキャストする必要がある場合、ＰＡＲＴＩＴＩＯＮ4 は、グループＩＤであるＧＲＯＵＰ4 をファームウェアすなわちハードウェアに渡す。これに対して、ＰＡＲＴＩＴＩＯＮ4 が一片のデータをＰＡＲＴＩＴＩＯＮ1 とＰＡＲＴＩＴＩＯＮ3 にマルチキャストする必要がある場合には、ＰＡＲＴＩＴＩＯＮ4 は、グループＩＤであるＧＲＯＵＰ2 をファームウェアすなわちハードウェアに渡す。
【００３１】
図８は、ある区画が複数の区画にデータを転送する必要のある場合に使用するプロセスのフローチャートを示す図である。一片のデータを送信すべきときに、プロセスは開始する（ステップ８００とステップ８０５）。次いで、すべての区画がアクセス可能なグローバル・メモリに当該データを転送する。次いで、グローバル・メモリを「読み取り専用（read-only)」メモリにする。グローバル・メモリは、当該データを読み取った区画を追跡する方法を備えている。これにより、当該データが、他の区画に別の一片のデータを転送する必要のある別の区画によって上書きされないことが保証される。すべての受信側区画が当該データを読み取ったら、グローバル・メモリを「読み取り（read）」「書き込み（write)」メモリに切り替える。これにより、他の区画がグローバル・メモリに書き込むことが可能になる。
【００３２】
いずれにしても、グローバル・メモリを「読み取り専用」メモリとしてマーク付けしたあとに、コンピュータ・システムのファームウェアすなわちハードウェアにＩＤまたはグループＩＤを渡す。データを渡す必要のある区画がたった１つである場合には、ファームウェアすなわちハードウェアは、その受信側区画に、グローバル・メモリに読み取るべきデータがある旨を通知するだけでよい。また、グループＩＤが使用されていたら、ファームウェアすなわちハードウェアは、グループＩＤテーブルを参照してどの区画が受信側区画であるかを判断するだけでよい。判断したら、ファームウェアすなわちハードウェアは、グローバル・メモリに読み取るべきデータがある旨を当該区画に通知する。以上で、プロセスは終了する（ステップ８１０〜８２５）。
【００３３】
以上、説明と記述を目的として本発明を記述したが、本発明は、ここに開示した形態のもので尽きている、あるいはそれらに限定されるものではない。多くの変更と変形が可能であることは、当業者にとって明らかである。実施形態は、本発明の原理とその実際的な応用を説明するのに最適であるように、また、考えうる特定の用途に好適であるような様々な変更例とともに様々な実施形態について当業者が本発明を理解しうるように選択して記述した。
【００３４】
まとめとして以下の事項を開示する。
（１）
分割されたコンピュータ・システムの１つの区画から前記システムの少なくとも１つの区画にデータを転送する方法であって、
前記データが前記システムの少なくとも１つの区画に転送すべきものであるか否かを判断するステップと、
前記データが少なくとも１つの区画に転送すべきものである場合、前記データを前記システムのすべての区画がアクセス可能なメモリに格納するステップと、前記少なくとも１つの区画に前記メモリに読み取るべきデータがある旨を通知するステップと
を備えた
方法。
（２）
前記メモリに「読み取り専用」とマーク付けしたのち、前記少なくとも１つの区画に通知する、
上記（１）に記載の方法。
（３）  さらに、
前記メモリに別の区画が書き込むのを可能にする前に、すべての受信側区画が前記データを読み取ったか否かを判断するステップ
を備えた、
上記（１）に記載の方法。
（４）
前記メモリに別の区画が書き込むのを可能にする前に、すべての受信側区画が前記データを読み取ったか否かを判断する前記ステップが、
前記データを読み取った区画を追跡するステップ
を含んでいる、
上記（３）に記載の方法。
（５）
前記コンピュータ・システムの一片のファームウェアすなわちハードウェアが、前記少なくとも１つの区画へのデータの転送を調整する、
上記（４）に記載の方法。
（６）
分割されたコンピュータ・システムの１つの区画から前記システムの少なくとも１つの区画にデータを転送する、コンピュータ読み取り可能な媒体に記録されたコンピュータ・プログラム製品であって、
前記データが前記システムの少なくとも１つの区画に転送すべきものであるか否かを判断するコード手段と、
前記データが少なくとも１つの区画に転送すべきものである場合、前記データを前記システムのすべての区画がアクセス可能なメモリに格納するコード手段と、
前記少なくとも１つの区画に前記メモリに読み取るべきデータがある旨を通知するコード手段と
を備えた
コンピュータ・プログラム製品。
（７）
前記メモリに「読み取り専用」とマーク付けしたのち、前記少なくとも１つの区画に通知する、
上記（６）に記載のコンピュータ・プログラム製品。
（８）  さらに、
前記メモリに別の区画が書き込むのを可能にする前に、すべての受信側区画が前記データを読み取ったか否かを判断するコード手段
を備えた、
上記（７）に記載のコンピュータ・プログラム製品。
（９）
前記メモリに別の区画が書き込むのを可能にする前に、すべての受信側区画が前記データを読み取ったか否かを判断する前記コード手段が、
前記データを読み取った区画を追跡するコード手段
を含んでいる、
上記（８）に記載のコンピュータ・プログラム製品。
（１０）
前記コンピュータ・システムの一片のファームウェアすなわちハードウェアが、前記少なくとも１つの区画へのデータの転送を調整する、
上記（９）に記載のコンピュータ・プログラム製品。
（１１）
分割されたコンピュータ・システムの１つの区画から前記システムの少なくとも１つの区画にデータを転送する装置であって、
前記データが前記システムの少なくとも１つの区画に転送すべきものであるか否かを判断する手段と、
前記データが少なくとも１つの区画に転送すべきものである場合、前記データを前記システムのすべての区画がアクセス可能なメモリに格納する手段と、
前記少なくとも１つの区画に前記メモリに読み取るべきデータがある旨を通知する手段と
を備えた
装置。
（１２）
前記メモリに「読み取り専用」とマーク付けしたのち、前記少なくとも１つの区画に通知する、
上記（１１）に記載の装置。
（１３）  さらに、
前記メモリに別の区画が書き込むのを可能にする前に、すべての受信側区画が前記データを読み取ったか否かを判断する手段
を備えた、
上記（１２）に記載の装置。
（１４）
前記メモリに別の区画が書き込むのを可能にする前に、すべての受信側区画が前記データを読み取ったか否かを判断する前記手段が、
前記データを読み取った区画を追跡する手段
を含んでいる、
上記（１３）に記載の装置。
（１５）
前記コンピュータ・システムの一片のファームウェアすなわちハードウェアが、前記少なくとも１つの区画へのデータの転送を調整する、
上記（１４）に記載の装置。
（１６）
分割されたコンピュータ・システムの１つの区画から前記システムの少なくとも１つの区画にデータを転送するコード・データを含むコンピュータ・システムであって、
前記コード・データを格納する少なくとも１つの記憶装置と、
前記データが前記システムの少なくとも１つの区画に転送すべきものであるか否かを判断し、前記データが少なくとも１つの区画に転送すべきものである場合、前記データを前記システムのすべての区画がアクセス可能なメモリに格納し、前記少なくとも１つの区画に前記メモリに読み取るべきデータがある旨を通知するコード・データを処理する少なくとも１つのプロセッサと
を備えた、
コンピュータ・システム。
（１７）
前記メモリに「読み取り専用」とマーク付けしたのち、前記少なくとも１つの区画に通知する、
上記（１６）に記載のコンピュータ・システム。
（１８）
前記少なくとも１つのプロセッサが、さらに、前記メモリに別の区画が書き込むのを可能にする前に、すべての受信側区画が前記データを読み取ったか否かを判断することを含むコード・データを処理する、
上記（１７）に記載のコンピュータ・システム。
（１９）
前記メモリに別の区画が書き込むのを可能にする前に、すべての受信側区画が前記データを読み取ったか否かを判断する前記コード・データの処理が、
前記データを読み取った区画を追跡するコード・データの処理
を含んでいる、
上記（１８）に記載のコンピュータ・システム。
（２０）
前記コンピュータ・システムの一片のファームウェアすなわちハードウェアが、前記少なくとも１つの区画へのデータの転送を調整する、
上記（１９）に記載のコンピュータ・システム。
【図面の簡単な説明】
【図１】  本発明に係る分散データ処理システムを説明する典型的なブロック図である。
【図２】  本発明に係るサーバ装置の典型的なブロック図である。
【図３】  本発明に係るクライアント装置の典型的なブロック図である。
【図４】  コンピュータ・システムの複数の区画を論理的に示す図である。
【図５】  各区画に属す資源を登録するマッピング・テーブルを示す図である。
【図６】  区画とその識別情報（ＩＤ）のマッピング・テーブルを示す図である。
【図７】  グループＩＤとそれらが含むＩＤのマッピング・テーブルを示す図である。
【図８】  本発明とともに使用するプロセスのフローチャートを示す図である。
【符号の説明】
１００  ネットワーク・データ処理システム
１０２  ネットワーク
１０４  サーバ
１０６  記憶装置
１０８  クライアント
１１０  クライアント
１１２  クライアント
２００  データ処理システム
２０２  プロセッサ
２０４  プロセッサ
２０６  システム・バス
２０８  メモリ・コントローラ／キャッシュ
２０９  ローカル・メモリ
２１０  Ｉ／Ｏバス・ブリッジ
２１２  Ｉ／Ｏバス
２１４  ＰＣＩバス・ブリッジ
２１６  ＰＣＩローカル・バス
２１８  モデム
２２０  ネットワーク・アダプタ
２２２  ＰＣＩバス・ブリッジ
２２４  ＰＣＩバス・ブリッジ
２２６  ＰＣＩローカル・バス
２２８  ＰＣＩローカル・バス
２３０  グラフィックス・アダプタ
２３２  ハード・ディスク駆動装置
３００  データ処理システム
３０２  プロセッサ
３０４  メインメモリ
３０６  ＰＣＩローカル・バス
３０８  ＰＣＩブリッジ
３１０  ＬＡＮアダプタ
３１２  ＳＣＳＩホスト・バス・アダプタ
３１４  拡張バス・インタフェース
３１６  オーディオ・アダプタ
３１８  グラフィックス・アダプタ
３１９  オーディオ／ビデオ・アダプタ
３２０  キーボード／マウス・アダプタ
３２２  モデム
３２４  追加のメモリ
３２６  ハード・ディスク駆動装置
３２８  テープ駆動装置
３３０  ＣＤ−ＲＯＭ駆動装置
【図１】
0004452023.tif 000002
【図２】
0004452023.tif 000003
【図３】
0004452023.tif 000004
【図４】
0004452023.tif 000005
【図５】
0004452023.tif 000006
【図６】
0004452023.tif 000007
【図７】
0004452023.tif 000008
【図８】
0004452023.tif 000009