(57)【要約】【課題】  ロジカル・パーティションのメモリ・アフィニティを動的に改善するための装置および方法を提供することにある。【解決手段】  複数のノードと複数のロジカル・パーティションとを含むコンピュータ・システムにおいて、動的パーティション・マネージャは、ロジカル・パーティションの要求により現在のメモリ・アフィニティと潜在的なメモリ・アフィニティとを計算し、ノード間のリソースの再割振りによってそのロジカル・パーティションに関するメモリ・アフィニティを改善できるかどうかをそのロジカル・パーティションが判断するのを支援する。改善できる場合、ロジカル・パーティションに関するメモリ・アフィニティが改善されるように、ロジカル・パーティションは動的パーティション・マネージャによるリソースの再割振りを要求する。【選択図】  図１
2007193776.tif 000002
【特許請求の範囲】
【請求項１】
複数のノード上に定義された複数のロジカル・パーティションと、
前記複数のロジカル・パーティションに対する前記複数のノード上の複数のリソースの割振りを管理する動的パーティション・マネージャであって、選択されたロジカル・パーティションに関するメモリ・アフィニティを計算するメモリ・アフィニティ計算メカニズムを含む動的パーティション・マネージャと、
前記選択されたロジカル・パーティション内のメモリ・アフィニティ・エージェントであって、前記選択されたロジカル・パーティション内のリソースの現在の割振りに基づいて前記選択されたロジカル・パーティションに関する現在のメモリ・アフィニティを前記メモリ・アフィニティ計算メカニズムから決定し、前記選択されたロジカル・パーティション内のリソースの提案再割振りに基づいて前記選択されたロジカル・パーティションに関する潜在的なメモリ・アフィニティを前記メモリ・アフィニティ計算メカニズムから決定するメモリ・アフィニティ・エージェントと、
を含む、コンピュータ・システム。
【請求項２】
前記潜在的なメモリ・アフィニティが前記選択されたロジカル・パーティションに関する前記現在のメモリ・アフィニティより高い場合に、前記メモリ・アフィニティ・エージェントが、リソースの前記提案再割振りを実行するよう前記動的パーティション・マネージャに要求する、請求項１に記載のコンピュータ・システム。
【請求項３】
前記潜在的なメモリ・アフィニティが少なくとも１つの基準を満足する場合に、前記メモリ・アフィニティ・エージェントが、リソースの前記提案再割振りを実行するよう前記動的パーティション・マネージャに要求する、請求項１に記載のコンピュータ・システム。
【請求項４】
前記メモリ・アフィニティ計算メカニズムが、以下の式を使用して選択されたロジカル・パーティションに関するメモリ・アフィニティを計算し、
【数１】
2007193776.tif 000004
ここで、ｎ＝前記選択されたロジカル・パーティションによって使用されるノードの数
ＰＭｎ＝前記ノード上の前記選択されたロジカル・パーティションのメモリの比率（パーセント）
ＰＣｎ＝前記ノード上の前記選択されたロジカル・パーティションのプロセッサの比率（パーセント）
ＰＲｎ＝前記ノード上の前記選択されたロジカル・パーティションの全リソースの比率（パーセント）であって、（ＰＭｎ＋ＰＣｎ）／２に等しい、請求項１に記載のコンピュータ・システム。
【請求項５】
ＰＭｎがゼロであるかまたはＰＣｎがゼロである場合に、あるノードに関する前記メモリ・アフィニティがゼロになるように定義される、請求項４に記載のコンピュータ・システム。
【請求項６】
前記選択されたロジカル・パーティションに関する前記現在のメモリ・アフィニティが改善可能であるかどうかを判断するために、前記メモリ・アフィニティ・エージェントが所定の時間間隔で自動的に起動される、請求項１に記載のコンピュータ・システム。
【請求項７】
複数のノード上の複数のロジカル・パーティションを含むコンピュータ・システム内の選択されたロジカル・パーティションのメモリ・アフィニティを動的に改善するためのコンピュータによって実行される方法であって、前記方法が、
（Ａ）前記ロジカル・パーティション内のリソースの現在の割振りに基づいて前記選択されたロジカル・パーティションに関する現在のメモリ・アフィニティを決定するステップと、
（Ｂ）前記現在のメモリ・アフィニティを改善するために少なくとも１つのリソースが使用可能であるかどうかを判断するステップと、
（Ｃ）前記現在のメモリ・アフィニティを改善するために少なくとも１つのリソースが使用可能である場合に、
（Ｃ１）前記選択されたロジカル・パーティション内のリソースの提案再割振りに基づいて前記選択されたロジカル・パーティションに関する潜在的なメモリ・アフィニティを決定するステップと、
（Ｃ２）前記ステップ（Ｃ１）で決定した前記潜在的なメモリ・アフィニティが前記ステップ（Ａ）で決定した前記現在のメモリ・アフィニティより高い場合に、前記選択されたロジカル・パーティション内の少なくとも１つのリソースを動的に調整するステップと、
を実行するステップと、
を含む方法。
【請求項８】
前記ステップ（Ｃ２）で前記選択されたロジカル・パーティション内の少なくとも１つのリソースを動的に調整する前記ステップが、リソースの前記提案再割振りを実行するステップを含む、請求項７に記載の方法。
【請求項９】
前記ステップ（Ａ）が、以下の式を使用して選択されたロジカル・パーティションに関する前記現在のメモリ・アフィニティを決定し、
【数２】
2007193776.tif 000005
ここで、ｎ＝前記選択されたロジカル・パーティションによって使用されるノードの数
ＰＭｎ＝前記ノード上の前記選択されたロジカル・パーティションのメモリの比率（パーセント）
ＰＣｎ＝前記ノード上の前記選択されたロジカル・パーティションのプロセッサの比率（パーセント）
ＰＲｎ＝前記ノード上の前記選択されたロジカル・パーティションの全リソースの比率（パーセント）であって、（ＰＭｎ＋ＰＣｎ）／２に等しい、請求項７に記載の方法。
【請求項１０】
ＰＭｎがゼロであるかまたはＰＣｎがゼロである場合に、あるノードに関する前記現在のメモリ・アフィニティがゼロになるように定義される、請求項９に記載の方法。
【請求項１１】
前記ステップ（Ｃ１）が、以下の式を使用して選択されたロジカル・パーティションに関する前記潜在的なメモリ・アフィニティを決定し、
【数３】
2007193776.tif 000006
ここで、ｎ＝リソースの前記提案再割振りに基づく前記選択されたロジカル・パーティションによって使用されるノードの数
ＰＭｎ＝リソースの前記提案再割振りに基づく前記ノード上の前記選択されたロジカル・パーティションのメモリの比率（パーセント）
ＰＣｎ＝リソースの前記提案再割振りに基づく前記ノード上の前記選択されたロジカル・パーティションのプロセッサの比率（パーセント）
ＰＲｎ＝リソースの前記提案再割振りに基づく前記ノード上の前記選択されたロジカル・パーティションの全リソースの比率（パーセント）であって、（ＰＭｎ＋ＰＣｎ）／２に等しい、請求項７に記載の方法。
【請求項１２】
ＰＭｎがゼロであるかまたはＰＣｎがゼロである場合に、あるノードに関する前記潜在的なメモリ・アフィニティがゼロになるように定義される、請求項１１に記載の方法。
【請求項１３】
前記選択されたロジカル・パーティションに関する前記現在のメモリ・アフィニティが改善可能であるかどうかを判断するために、前記ステップ（Ａ）〜（Ｃ）が所定の時間間隔で自動的に実行される、請求項７に記載の方法。
【請求項１４】
（Ａ）複数のロジカル・パーティションに対する複数のノード上の複数のリソースの割振りを管理する動的パーティション・マネージャであって、選択されたロジカル・パーティションに関するメモリ・アフィニティを計算するメモリ・アフィニティ計算メカニズムを含む動的パーティション・マネージャと、
（Ｂ）前記選択されたロジカル・パーティション内のメモリ・アフィニティ・エージェントであって、前記選択されたロジカル・パーティション内のリソースの現在の割振りに基づいて前記選択されたロジカル・パーティションに関する現在のメモリ・アフィニティを前記メモリ・アフィニティ計算メカニズムから決定し、前記選択されたロジカル・パーティション内のリソースの提案再割振りに基づいて前記選択されたロジカル・パーティションに関する潜在的なメモリ・アフィニティを前記メモリ・アフィニティ計算メカニズムから決定するメモリ・アフィニティ・エージェントと、
（Ｃ）前記（Ａ）および（Ｂ）を担持する有形の信号伝送媒体と、
を含む、コンピュータ可読プログラム。
【請求項１５】
前記有形の信号伝送媒体が記録可能媒体を含む、請求項１４に記載のプログラム。
【請求項１６】
前記有形の信号伝送媒体が伝送媒体を含む、請求項１４に記載のプログラム。
【請求項１７】
前記潜在的なメモリ・アフィニティが前記選択されたロジカル・パーティションに関する前記現在のメモリ・アフィニティより高い場合に、前記メモリ・アフィニティ・エージェントが、リソースの前記提案再割振りを実行するよう前記動的パーティション・マネージャに要求する、請求項１４に記載のプログラム。
【請求項１８】
前記メモリ・アフィニティ計算メカニズムが、以下の式を使用して選択されたロジカル・パーティションに関するメモリ・アフィニティを計算し、
【数４】
2007193776.tif 000007
ここで、ｎ＝前記選択されたロジカル・パーティションによって使用されるノードの数
ＰＭｎ＝前記ノード上の前記選択されたロジカル・パーティションのメモリの比率（パーセント）
ＰＣｎ＝前記ノード上の前記選択されたロジカル・パーティションのプロセッサの比率（パーセント）
ＰＲｎ＝前記ノード上の前記選択されたロジカル・パーティションの全リソースの比率（パーセント）であって、（ＰＭｎ＋ＰＣｎ）／２に等しい、請求項１４に記載のプログラム。
【請求項１９】
ＰＭｎがゼロであるかまたはＰＣｎがゼロである場合に、あるノードに関する前記メモリ・アフィニティがゼロになるように定義される、請求項１８に記載のプログラム。
【請求項２０】
前記選択されたロジカル・パーティションに関する前記現在のメモリ・アフィニティが改善可能であるかどうかを判断するために、前記メモリ・アフィニティ・エージェントが所定の時間間隔で自動的に起動される、請求項１４に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、コンピュータ・システムに関し、より具体的には、複数のノード上の複数のロジカル・パーティションを含むコンピュータ・システムに関する。
【背景技術】
【０００２】
特定のコンピュータ・システム上のハードウェアとソフトウェアの組み合わせによってコンピューティング環境が定義される。したがって、異なるハードウェア・プラットフォームと異なるオペレーティング・システムによって異なるコンピューティング環境が提供される。近年、エンジニアは、コンピュータ・システム・リソースを種々のコンピューティング環境にロジカル・パーティショニングすることにより、同じ物理的コンピュータ・システム上に種々のコンピューティング環境を設けることが可能であることを認識している。ＩＢＭによって開発されたｉＳｅｒｉｅｓコンピュータ・システムは、ロジカル・パーティショニングをサポートするコンピュータ・システムの一例である。ｉＳｅｒｉｅｓコンピュータ・システム上のロジカル・パーティショニングが望ましい場合、同じプラットフォーム上で異なるコンピューティング環境の定義を可能にするパーティション・マネージャ・コードがインストールされる。パーティション・マネージャがインストールされると、種々のコンピューティング環境を定義するロジカル・パーティションを作成することができる。パーティション・マネージャは、ロジカル・パーティションによって定義される個別のコンピューティング環境を維持しながら、ロジカル・パーティションがコンピュータ・システム内で必要なリソースを共用できることを保証するようにロジカル・パーティションを管理する。
【０００３】
ロジカル・パーティショニングの分野におけるより最近の開発は、ロジカル・パーティションを実行しているときのリソースの動的割振りをサポートし、コンピュータ・システム内の複数ノードにわたるロジカル・パーティションの定義をサポートする。ロジカル・パーティションを実行しているときにリソースを動的に割り振ることができることにより、ロジカル・パーティション内のメモリ・アフィニティ（memory affinity）に関する問題が発生する。ロジカル・パーティションに関するメモリ・アフィニティは、ノードあたりのロジカル・パーティションの、プロセッサに対するノードあたりのロジカル・パーティションのメモリの割合であると本明細書では定義される。ノード内のロジカル・パーティション内のプロセッサによるアクセスは、異なるノード上のメモリに対するアクセスより同じノード上のメモリに対するアクセスの方がかなり高速になるので、ロジカル・パーティションが複数のノードにわたる可能性があるときに、メモリ・アフィニティは重要である。この理由により、ノード上の各プロセッサが対応するメモリを有することを保証する必要がある。これが可能であれば、完全なメモリ・アフィニティを達成することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ロジカル・パーティションを最初に始動すると、パーティション・マネージャは典型的には、各プロセッサが各ノード上に対応する量のメモリを有することを意味する完全なメモリ・アフィニティを備えたロジカル・パーティションを作成するか、または完全なメモリ・アフィニティを達成できない場合はすべてのロジカル・パーティションについて同様のメモリ・アフィニティを備えたロジカル・パーティションを作成する。しかし、リソースの動的再割振りは１つまたは複数のロジカル・パーティションのメモリ・アフィニティに否定的な影響を与える可能性があることに留意されたい。時間が経つにつれて、ロジカル・パーティションのメモリ・アフィニティはそのロジカル・パーティションのパフォーマンスに対する重大な否定的影響になる点まで劣化することが考えられる。ロジカル・パーティション内のメモリ・アフィニティを改善するためにリソース割振りを動的に調整する方法がない場合、リソースの動的割振りのためにメモリ・アフィニティが劣化した結果、ロジカル・パーティションが所望のパフォーマンスを持たなくなる可能性がある。
【課題を解決するための手段】
【０００５】
好ましい諸実施形態によれば、複数のノードと複数のロジカル・パーティションとを含むコンピュータ・システムにおいて、動的パーティション・マネージャは、ロジカル・パーティションの要求により現在のメモリ・アフィニティと潜在的なメモリ・アフィニティとを計算し、ノード間のリソースの再割振りによってそのロジカル・パーティションに関するメモリ・アフィニティを改善できるかどうかをそのロジカル・パーティションが判断するのを支援する。改善できる場合、ロジカル・パーティションに関するメモリ・アフィニティが改善されるように、ロジカル・パーティションは動的パーティション・マネージャによるリソースの再割振りを要求する。
【０００６】
本発明の上記その他の特徴および利点は、添付図面に例示されている通り、本発明の好ましい諸実施形態に関する以下のより詳細な説明から明らかになるであろう。
【０００７】
本発明の好ましい諸実施形態については添付図面に併せて以下に説明するが、添付図面では同様の名称は同様の要素を示している。
【発明を実施するための最良の形態】
【０００８】
好ましい諸実施形態では、あるロジカル・パーティションに関する現在のメモリ・アフィニティを評価し、リソースの提案再割振り（proposed reallocation）に基づいて潜在的なメモリ・アフィニティを評価し、潜在的なメモリ・アフィニティがそのロジカル・パーティション関する現在のメモリ・アフィニティより高い場合にリソースの提案再割振りを自動的に開始する。そのメモリ・アフィニティを動的に追跡し、調整を行うことにより、好ましい諸実施形態は、複数のロジカル・パーティション内のリソースの動的再割振りの結果として発生する可能性のあるメモリ・アフィニティの重大な劣化を回避する。
【０００９】
図１を参照すると、コンピュータ・システム１００は、本発明の好ましい諸実施形態による装置の適切な実現例の１つである。コンピュータ・システム１００は、ＩＢＭのｅＳｅｒｖｅｒ  ｉＳｅｒｉｅｓコンピュータ・システムである。しかし、当業者であれば、そのコンピュータ・システムが複雑なマルチユーザ・コンピューティング装置であるか、単一ユーザ・ワークステーションであるか、組込み制御システムであるかにかかわらず、ロジカル・パーティショニングの対象となりうるどのようなコンピュータ・システムにも本発明のメカニズムおよび装置が等しく適用されることが分かるであろう。図１に示す通り、コンピュータ・システム１００は、１つまたは複数のプロセッサ１１０と、メイン・メモリ１２０と、大容量記憶装置インターフェース１３０と、ディスプレイ・インターフェース１４０と、ネットワーク・インターフェース１５０とを含む。これらのシステム・コンポーネントは、システム・バス１６０の使用により相互接続されている。大容量記憶装置インターフェース１３０は、直接アクセス記憶装置１５５などの大容量記憶装置をコンピュータ・システム１００に接続するために使用される。１つの具体的なタイプの直接アクセス記憶装置１５５は読取り可能かつ書込み可能なＣＤ−ＲＷドライブであり、これはＣＤ−ＲＷ１９５にデータを記憶し、そこからデータを読み取ることができる。
【００１０】
好ましい諸実施形態によるメイン・メモリ１２０は、データ１２１と、動的パーティション・マネージャ１２２と、図１に１２４Ａ・・・１２４Ｎとして示されている複数のロジカル・パーティション１２４とを収容している。データ１２１は、コンピュータ・システム１００内の任意のプログラムへの入力またはそのプログラムからの出力として機能する任意のデータを表している。動的パーティション・マネージャ１２２は、コンピュータ・システム１００のリソースを管理するための低レベル・コードを含む高度なプログラムである。これらのリソースのうちのいくつかは、プロセッサ１１０、メイン・メモリ１２０、大容量記憶装置インターフェース１３０、ディスプレイ・インターフェース１４０、ネットワーク・インターフェース１５０、およびシステム・バス１６０である。動的パーティション・マネージャ１２２は、動的パーティション・マネージャ１２２がリソースの現在の割振りに基づいて現在のメモリ・アフィニティを計算し、リソースの提案再割振りに基づいて潜在的なメモリ・アフィニティを計算できるようにするメモリ・アフィニティ計算メカニズム１２３を含む。動的パーティション・マネージャ１２２は好ましくは、Ｎ個のロジカル・パーティション１２４を作成する。各ロジカル・パーティション１２４は好ましくは、オペレーティング・システム１２５Ａ〜１２５Ｎとして図１に示されている対応するオペレーティング・システムと、メモリ・アフィニティ・エージェント１２６Ａ〜１２６Ｎとして図１に示されている対応するメモリ・アフィニティ・エージェントとを含む。
【００１１】
各ロジカル・パーティション内のオペレーティング・システムは、ｉ５／ＯＳ、ＡＩＸ、またはＬｉｎｕｘなどのマルチタスク・オペレーティング・システムであるが、当業者であれば、本発明の概念および範囲は任意の１つのオペレーティング・システムに限定されないことが分かるであろう。適切なオペレーティング・システムであれば、どのようなオペレーティング・システムでも使用することができる。各ロジカル・パーティション内のオペレーティング・システムは、他のロジカル・パーティション内のオペレーティング・システムと同じである場合もあれば、完全に異なるオペレーティング・システムである場合もある。したがって、あるロジカル・パーティションがｉ５／ＯＳオペレーティング・システムを実行し、異なるロジカル・パーティションがｉ５／ＯＳの他のインスタンス、おそらく異なるリリースであるかまたは異なる環境設定（たとえば、時間帯または言語）を有するものを実行することができる。各ロジカル・パーティション内のオペレーティング・システムは、ハードウェアと互換性のあるものであれば、ｉ５／ＯＳ以外のもの（ＡＩＸまたはＬｉｎｕｘなど）にすることも可能である。このように、ロジカル・パーティションは、同じ物理的コンピュータ・システム上に完全に異なるコンピューティング環境を提供することができる。
【００１２】
ロジカル・パーティション１２５Ａ〜１２５Ｎは、メイン・メモリ１２０内に常駐するように図１に示されている。しかし、当業者であれば、ロジカル・パーティションはメモリ以外のリソースを含む論理構成体であることを認識するであろう。ロジカル・パーティションは典型的には、プロセッサ容量および他のシステム・リソースの割当てとともに、メモリの一部分を指定する。したがって、１つのロジカル・パーティションは、２つのプロセッサと、メモリ１２０の一部分とを含むように定義することができるであろう。その場合、他のロジカル・パーティションは、３つの他のプロセッサと、メモリ１２０の他の一部分とを含むように定義することができるであろう。このロジカル・パーティションは、ロジカル・パーティションを象徴的に表すように図１に示されており、コンピュータ・システム１００内のメモリ１２０の外側のシステム・リソースを含むことになるであろう。また、動的パーティション・マネージャ１２２は好ましくはロジカル・パーティションとは別個のメモリおよびハードウェア内に常駐し、ロジカル・パーティションにとって直接使用可能ではない機能およびメカニズムを含むことにも留意されたい。
【００１３】
各ロジカル・パーティションは、メモリ・アフィニティ・エージェント１２６Ａ〜１２６Ｎとして図１に示されている対応するメモリ・アフィニティ・エージェントを含む。各ロジカル・パーティション内のメモリ・アフィニティ・エージェントは、動的パーティション・マネージャ１２２がそのメモリ・アフィニティ計算メカニズム１２３を使用して、リソースの現在の割振りに基づいて現在のメモリ・アフィニティを決定し、リソースの提案再割振りに基づいて潜在的なメモリ・アフィニティを決定することを要求することができる。潜在的なメモリ・アフィニティが現在のメモリ・アフィニティより高い場合、ロジカル・パーティションは、リソースの提案再割振りを行うよう、動的パーティション・マネージャ１２２に要求することができる。このようにして、ロジカル・パーティションは、そのメモリ・アフィニティを動的にモニターすることができ、そのメモリ・アフィニティを改善するためにリソース割振りの調整を動的に行うことができる。
【００１４】
コンピュータ・システム１００は、コンピュータ・システム１００のプログラムが、メイン・メモリ１２０およびＤＡＳＤ装置１５５などの複数の小規模記憶エンティティにアクセスする代わりに、大規模な単一記憶エンティティにのみアクセスできるものとして動作できるようにする周知の仮想アドレス指定メカニズムを使用する。したがって、データ１２１、動的パーティション・マネージャ１２２、およびロジカル・パーティション１２４Ａ・・・１２４Ｎは、メイン・メモリ１２０内に常駐するものとして示されているが、当業者であれば、これらの項目が必ずしもすべて同時にメイン・メモリ１２０内に完全に収容される必要はないことを認識するであろう。また、「メモリ」という用語は、本明細書ではコンピュータ・システム１００の仮想メモリ全体を指すために総称的に使用されており、コンピュータ・システム１００に結合された他のコンピュータ・システムの仮想メモリを含むことができることにも留意されたい。
【００１５】
プロセッサ１１０は、１つまたは複数のマイクロプロセッサまたは集積回路あるいはその両方から構築することができる。プロセッサ１１０は、メイン・メモリ１２０に記憶されているプログラム命令を実行する。メイン・メモリ１２０は、プロセッサ１００がアクセスできるプログラムおよびデータを記憶する。コンピュータ・システム１００が始動すると、プロセッサ１１０は初めに、動的パーティション・マネージャ１２２を構成するプログラム命令を実行する。
【００１６】
コンピュータ・システム１００は単一のプロセッサおよび単一のシステム・バスのみを含むものとして示されているが、当業者であれば、本発明は複数のプロセッサまたは複数のバスあるいはその両方を有するコンピュータ・システムを使用して実施できることが分かるであろう。加えて、好ましい諸実施形態で使用されるインターフェースはそれぞれ、プロセッサ１１０から数値計算処理をオフロードするために使用される完全にプログラミングされた個別のマイクロプロセッサを含む。しかし、当業者であれば、同様の機能を実行するために入出力アダプタを単純に使用するコンピュータ・システムに対し本発明が等しく適用されることが分かるであろう。
【００１７】
ディスプレイ・インターフェース１４０は、１つまたは複数のディスプレイ１６５をコンピュータ・システム１００に直接接続するために使用される。これらのディスプレイ１６５は、非インテリジェント（すなわち、ダム）端末または完全にプログラマブルなワークステーションにすることができ、システム管理者およびユーザがコンピュータ・システム１００と通信できるようにするために使用される。しかし、ディスプレイ・インターフェース１４０は１つまたは複数のディスプレイ１６４との通信をサポートするために設けられているが、ユーザおよびその他のプロセスとの必要な対話はすべてネットワーク・インターフェース１５０を介して行うことができるので、コンピュータ・システム１００は必ずしもディスプレイ１６５を必要としないことに留意されたい。
【００１８】
ネットワーク・インターフェース１５０は、他のコンピュータ・システムまたはワークステーションあるいはその両方（たとえば、図１の１７５）をネットワーク１７０を越えてコンピュータ・システム１００に接続するために使用される。ネットワーク接続１７０が現代のアナログ技法またはデジタル技法あるいはその両方を使用して行われるか、または将来の何らかのネットワーキング・メカニズムを介して行われるかにかかわらず、コンピュータ・システム１００がどのように他のコンピュータ・システムまたはワークステーションあるいはその両方に接続できる場合でも、本発明は等しく適用される。加えて、ネットワークを実現するために、多種多様なネットワーク・プロトコルを使用することができる。これらのプロトコルは、コンピュータがネットワーク１７０を越えて通信できるようにする専門のコンピュータ・プログラムである。ＴＣＰ／ＩＰ（伝送制御プロトコル／インターネット・プロトコル）は適切なネットワーク・プロトコルの一例である。
【００１９】
ここで、留意すべき重要なこととして、完全に機能しうるコンピュータ・システムに関連してこれまで本発明を説明し、今後も説明し続けることになるが、当業者であれば、本発明は様々な形式のプログラム（program product）として配布可能であり、実際に配布を実行するために使用されるコンピュータ可読信号伝送媒体の特定のタイプにかかわらず、本発明が等しく適用されることが分かるであろう。適切なコンピュータ可読信号伝送媒体の例としては、フレキシブル・ディスクおよびＣＤ−ＲＷ（たとえば、図１の１９５）などの記録可能タイプの媒体ならびにデジタル通信リンクおよびアナログ通信リンクなどの伝送タイプの媒体を含む。好ましい信号伝送媒体は有形のものであることに留意されたい。
【００２０】
図２を参照すると、４つのノード２００Ａ、２００Ｂ、２００Ｃ、および２００Ｄを含むサンプル・コンピュータ・システム２００が示されている。各ノードは４つのプロセッサと４ギガバイトのメモリとを含む。したがって、ノード２００Ａは４つのプロセッサ２１０Ａと４ギガバイトのメモリ２２０Ａとを含み、ノード２００Ｂは４つのプロセッサ２１０Ｂと４ギガバイトのメモリ２２０Ｂとを含み、ノード２００Ｃは４つのプロセッサ２１０Ｃと４ギガバイトのメモリ２２０Ｃとを含み、ノード２００Ｄは４つのプロセッサ２１０Ｄと４ギガバイトのメモリ２２０Ｄとを含む。
【００２１】
次に、図２に示すハードウェアは図３の表３００に応じてロジカル・パーティションに割り振る必要があるものと想定する。ロジカル・パーティション１（ＬＰ１）は８つのプロセッサと８ＧＢのメモリとを含むように定義され、ＬＰ２は４つのプロセッサと４ＧＢのメモリとを含むように定義され、ＬＰ３は２つのプロセッサと２ＧＢのメモリとを含むように定義され、ＬＰ４は２つのプロセッサと２ＧＢのメモリとを含むように定義される。
【００２２】
図２のノードの１つが図１に示す動的パーティション・マネージャ１２２を含み、コンピュータ・システム２００に最初に電源投入したときに、その動的パーティション・マネージャ１２２がロジカル・パーティションを初期設定するものと想定する。この例のため、ノードの１つに含まれる動的パーティション・マネージャ１２２が図４のコンピュータ・システム４００内に示されているようにロジカル・パーティションを構成するものと想定する。各ノード内の４つのプロセッサがロジカル・パーティションの１つに割り当てられ、各ノード内の４ＧＢのメモリも分割されてロジカル・パーティションに割り振られることに留意されたい。メモリは典型的には、本明細書で論理メモリ・ブロックというブロック内のロジカル・パーティションに割り振られることに留意されたい。従来技術のパーティション・マネージャでは、システム管理者は各論理メモリ・ブロックのサイズを指定することができる。この例の場合、論理メモリ・ブロックのサイズが２５６ＭＢであるものと想定し、これは、１ギガバイトのメモリに匹敵するために４つの論理メモリ・ブロックを要することを意味する。図４に示すメモリ・チャンク（memory chunk）は同図における便宜上、１ギガバイトのブロックであり、これは、図４の各メモリ・ブロックが４つの論理メモリ・ブロックを含むことを意味する。
【００２３】
再度、図４を参照すると、ノード２００Ａ上の４つのプロセッサのうちの３つ、すなわち、プロセッサ４１２Ａ、４１４Ａ、および４１６ＡがＬＰ１に割り振られている。同様に、メモリ・ブロック４２２Ａ、４２４Ａ、および４２６ＡがＬＰ１に割り振られている。第４のプロセッサ４１８Ａは、第４のメモリ・ブロック４２８Ａのように、ＬＰ２に割り振られている。ノード２００Ｂ上では、プロセッサのうちの２つ、すなわち、プロセッサ４１２Ｂおよび４１４ＢがＬＰ１に割り振られ、１つのプロセッサ４１６ＢがＬＰ２に割り振られ、１つのプロセッサ４１８ＢがＬＰ３に割り振られている。同様に、メモリ・ブロック４２２Ｂおよび４２４ＢがＬＰ１に割り振られ、メモリ・ブロック４２６ＢがＬＰ２に割り振られ、メモリ・ブロック４２８ＢがＬＰ３に割り振られている。
【００２４】
ノード２００Ｃ上では、１つのプロセッサ４１２ＣがＬＰ１に割り振られ、２つのプロセッサ４１４Ｃおよび４１６ＣがＬＰ２に割り振られ、１つのプロセッサ４１８ＣがＬＰ３に割り振られている。同様に、メモリ・ブロック４２２ＣがＬＰ１に割り振られ、メモリ・ブロック４２４Ｃおよび４２６ＣがＬＰ２に割り振られ、メモリ・ブロック４２８ＣがＬＰ３に割り振られている。ノード２００Ｄ上では、２つのプロセッサ４１２Ｄおよび４１４ＤがＬＰ１に割り振られ、２つのプロセッサ４１６Ｄおよび４１８ＤがＬＰ４に割り振られている。同様に、メモリ・ブロック４２２Ｄおよび４２４ＤがＬＰ１に割り振られ、メモリ・ブロック４２６Ｄおよび４２８ＤがＬＰ４に割り振られている。
【００２５】
ロジカル・パーティションに関するメモリ・アフィニティは、ノードあたりのロジカル・パーティションのプロセッサに対するノードあたりのロジカル・パーティションのメモリの割合であるので、図４に示す割振りから、どのロジカル・パーティションについても各ノード上の各プロセッサごとに対応する１ＧＢのメモリ・ブロックが同じノード上に存在するので、各ロジカル・パーティションが完全な（すなわち、１００％の）メモリ・アフィニティを有することが分かる。図４に示すコンピュータ・システム４００の構成は、初期プログラム・ロード（ＩＰＬ：initial program load）の直後など、特定の時点におけるプロセッサおよびメモリ割振りの状態になるものと想定されていることに留意されたい。
【００２６】
コンピュータ・システム４００は、ノードの１つで図１に示す動的パーティション・マネージャ１２２を含むので、コンピュータ・システム４００内のメモリおよびプロセッサの割振りが時間の経過につれて変化し、それにより、１つまたは複数のロジカル・パーティションに関するメモリ・アフィニティに否定的な影響を与えることが考えられる。これは、図５に示すコンピュータ・システム５００の構成の場合であり、同図は、ノード２００Ｃ内のプロセッサ４１２Ｃの周りの太い囲み線によって示す通り、そのプロセッサ４１２ＣがＬＰ１の代わりにＬＰ４に再割振りされていることを示している。図５の他のプロセッサまたはメモリ割振りはいずれも変化しておらず、図４に示すものと同じである。その結果、ＬＰ１およびＬＰ４内のプロセッサおよびメモリ間に不一致が存在し、図５に示す再割振りのためにＬＰ１およびＬＰ４内のメモリ・アフィニティの低減を引き起こす。
【００２７】
動的パーティション・マネージャ１２２は、以下の式を使用してロジカル・パーティションに関するメモリ・アフィニティを計算するメモリ・アフィニティ計算メカニズム１２３を含む。
【数１】
2007193776.tif 000003
ここで、ｎ＝選択されたロジカル・パーティションによって使用されるノードの数
ＰＭｎ＝ノード上の選択されたロジカル・パーティションのメモリの比率（パーセント）
ＰＣｎ＝ノード上の選択されたロジカル・パーティションのプロセッサの比率（パーセント）
ＰＲｎ＝ノード上の選択されたロジカル・パーティションの全リソースの比率（パーセント）であって、（ＰＭｎ＋ＰＣｎ）／２に等しい
【００２８】
この式は、ロジカル・パーティションに関するメモリ・アフィニティの百分率またはスコアを示す０〜１００の数字を返すために使用される。次に、この式を使用すると、図６に示すようにＬＰ１のメモリ・アフィニティ・スコアを計算することができる。あるノードのプロセッサが関心のあるロジカル・パーティションにまったく割り振られていない場合またはあるノードの１つまたは複数のプロセッサが関心のあるロジカル・パーティションに割り振られているが、そのノードのメモリがまったく割り振られていない場合、そのノードに関するアフィニティ・スコアがゼロになるよう定義されることに留意されたい。したがって、ノード２（２００Ｃ）上のプロセッサのいずれもＬＰ１に割り振られないので、図６に示すように、ＬＰ１に関するノード２のアフィニティ・スコアはゼロになる。メモリ・アフィニティは各ノードに関する計算の合計であり、その結果、図５に示す割振りに基づく全体的なメモリ・アフィニティ・スコアはＬＰ１の場合に９１．３８になる。次に、同じ式を使用して、図７に示すＬＰ４の場合のメモリ・アフィニティ・スコアを計算すると、その結果、全体的なメモリ・アフィニティ・スコアはＬＰ４の場合に５５．６１になる。ＬＰ１およびＬＰ４に関するメモリ・アフィニティ・スコアは１００未満であるが、すべてのプロセッサおよびメモリ・ブロックが割り振られているので、これらのロジカル・パーティションのいずれかがそのメモリ・アフィニティを増加させるために実行できることは何もない。その結果、ＬＰ１またはＬＰ４に割り振られる可能性のあるリソースが使用可能になるまで、いかなる変更も行うことができない。
【００２９】
次に、ＬＰ３が除去され、その結果、ＬＰ３に関するプロセッサおよびメモリが解放され、残りの３つのロジカル・パーティションの１つへの割振りのために使用可能になるものと想定する。これは、ノード２００Ｂ内のプロセッサ４１８Ｂおよびメモリ４２８Ｂに「未割振り」を表す「Ｕ」のマークを付け、ノード２００Ｃ内のプロセッサ４１８Ｃおよびメモリ４２８Ｃに「Ｕ」のマークを付けることによって図８のコンピュータ・システム８００に示されている。使用可能なリソースが存在するので、ロジカル・パーティションは、リソースのうちの１つまたは複数をそのロジカル・パーティションに割り振ることにより、そのロジカル・パーティションのメモリ・アフィニティを増加することになるかどうかを判断することができる。
【００３０】
ここで、ＬＰ１は、ノード２（２００Ｃ）上のＬＰ１に割り振られたメモリ・ブロック４２２Ｃをノード１（２００Ｂ）上の未割振りメモリ・ブロック４１８Ｂとスワップすることにより、そのメモリ・アフィニティを改善できることを認識できるであろう。また、ＬＰ４は、ノード３（２００Ｄ）上のメモリ・ブロック４２８Ｄからそのメモリの一部をノード２（２００Ｃ）上の未割当てメモリ・ブロック４２８Ｄの一部と交換することにより、そのメモリ・アフィニティを改善できるであろう。したがって、リソースの提案再割振りとして考えられるものの１つが図９のコンピュータ・システム９００に示されている。この提案再割振りでは１ＧＢのブロック４２８Ｃの半分をＬＰ４に割り振るだけであり、残り半分は未割振りになっていることに留意されたい。同様に、ノード２００Ｄの場合、１ＧＢのブロック４２８Ｄの半分がＬＰ４に割り振られ、残り半分は未割振りになっている。図９に示す１ＧＢの各メモリ・ブロックが４つの２５６ＭＢの論理メモリ・ブロックから構成されるので、この分割割振りは可能である。これにより、１ＧＢのブロック４２８Ｃ内の４つの論理メモリ・ブロックのうちの２つをＬＰ４に割り振ることができ、１ＧＢのブロック４２８Ｃ内の残りの２つの論理メモリ・ブロックは未割振りになる。ノード２００Ｄ内のブロック４２８Ｄについても同様である。次に、上記と同じ式を使用して、リソースの提案再割振りの場合のＬＰ１およびＬＰ４に関するメモリ・アフィニティ・スコアを計算し、リソースを再割振りすることによってメモリ・アフィニティが改善されるかどうかを確認することができる。
【００３１】
図９に示すリソースの提案再割振りの場合のＬＰ１のメモリ・アフィニティ・スコアは図１０に示されており、その結果、全体的なメモリ・アフィニティ・スコアはＬＰ１の場合に９４．９６になる。図９に示すリソースの提案再割振りの場合のＬＰ４のメモリ・アフィニティ・スコアは図１１に示されており、その結果、全体的なメモリ・アフィニティ・スコアはＬＰ４の場合に８９．４２になる。図９のリソースの提案再割振りについて図１０に示すＬＰ１の場合の９４．９６の方が図６に示すリソースの現在の割振りの場合の９１．３８より高いので、動的パーティション・マネージャが図９に示すＬＰ１に関するリソースの再割振りを実行することをＬＰ１が要求できる可能性があることが分かる。同様に、図９のリソースの提案再割振りについて図１１に示すＬＰ４の場合の８９．４２の方が図７に示すリソースの現在の割振りの場合の５５．６１より高いので、動的パーティション・マネージャが図９に示すＬＰ４に関するリソースの再割振りを実行することをＬＰ２が要求できる可能性があることが分かる。
【００３２】
図１２を参照すると、好ましい諸実施形態による第１の方法１２００は、ロジカル・パーティション内のメモリ・アフィニティを改善するためにリソースを動的に再割振りするためのステップを示している。方法１２００は、選択されたロジカル・パーティションに関する現在のメモリ・アフィニティ・スコアを決定することから始まる（ステップ１２１０）。選択されたロジカル・パーティションのメモリ・アフィニティを改善するために使用可能なリソースがまったく存在しない場合（ステップ１２２０＝ＮＯ）、方法１２００は完了する。選択されたロジカル・パーティションのメモリ・アフィニティを改善可能な１つまたは複数のリソースが存在する場合（ステップ１２２０＝ＹＥＳ）、選択されたロジカル・パーティションに関する潜在的なメモリ・アフィニティ・スコアが決定される（ステップ１２３０）。次に、ステップ１２４０では、ステップ１２１０で決定された現在のメモリ・アフィニティ・スコアとステップ１２３０で決定された潜在的なメモリ・アフィニティ・スコアが比較される。選択されたロジカル・パーティションに関する潜在的なメモリ・アフィニティ・スコアが現在のメモリ・アフィニティ・スコアより高くない場合（ステップ１２４０＝ＮＯ）、この方法１２００は完了する。選択されたロジカル・パーティションに関する潜在的なメモリ・アフィニティ・スコアが現在のメモリ・アフィニティ・スコアより高い場合（ステップ１２４０＝ＹＥＳ）、選択されたロジカル・パーティションに関するメモリ・アフィニティの改善を達成するために、選択されたロジカル・パーティション内のリソースが動的に調整される（ステップ１２５０）。ステップ１２５０におけるリソースの調整としては、１つまたは複数のリソースの適切な追加あるいは選択されたロジカル・パーティションからの１つまたは複数のリソースの除去を含む場合があることに留意されたい。
【００３３】
図１３を参照すると、好ましい諸実施形態による第２の方法１３００は、各ロジカル・パーティションがメモリ・アフィニティ計算メカニズム１２３によるメモリ・アフィニティ・スコアの計算を要求するメモリ・アフィニティ・エージェント（たとえば、図１の１２６Ａ）を含む、より具体的な一例で実行されるステップを示している。この例については、そのメモリ・アフィニティを改善できるかどうかを確認するためにロジカル・パーティション内のメモリ・アフィニティ・エージェントが非常に頻繁に、たとえば、５分おきにウェイクアップするものと想定する。したがって、図１３の方法１３００は、選択されたロジカル・パーティション内のメモリ・アフィニティ・エージェントがウェイクアップしたときに始まる（ステップ１３１０）。あるロジカル・パーティション（図１３ではＬＰという）に関するメモリ・アフィニティ・エージェント（図１３ではＭＡエージェントという）は、選択されたロジカル・パーティションに関する現在のメモリ・アフィニティ・スコアを計算するために動的パーティション・マネージャに照会する（ステップ１３２０）。選択されたロジカル・パーティションのメモリ・アフィニティを改善するために使用可能なリソースがまったく存在しない場合（ステップ１３３０＝ＮＯ）、この方法１３００は完了する。ロジカル・パーティションのメモリ・アフィニティを改善することができる使用可能な１つまたは複数のリソースが存在する場合（ステップ１３３０＝ＹＥＳ）、選択されたロジカル・パーティションは、そのロジカル・パーティションのメモリ・アフィニティを改善しようとしてリソースの提案再割振りを決定する（ステップ１３４０）。選択されたロジカル・パーティション内のメモリ・アフィニティ・エージェントは、ステップ１３４０で決定された提案再割振りに基づいて潜在的なメモリ・アフィニティ・スコアに関して動的パーティション・マネージャに照会する（ステップ１３５０）。潜在的なメモリ・アフィニティ・スコアが現在のメモリ・アフィニティ・スコアより高くない場合（ステップ１３６０＝ＮＯ）、方法１３００は完了する。潜在的なメモリ・アフィニティ・スコアが現在のメモリ・アフィニティ・スコアより高い場合（ステップ１３６０＝ＹＥＳ）、そのロジカル・パーティションは、リソースの提案再割振りを実行するよう動的パーティション・マネージャに要求する（ステップ１３７０）。「リソースの再割振り」という用語は選択されたロジカル・パーティションへのリソース割振りの変更を広く意味するために使用されることに留意されたい。たとえば、未割振りメモリ・ブロックは初期プログラム・ロード後に使用可能になるものと想定すると、選択されたロジカル・パーティションは、未割振りメモリ・ブロックをそれ自体に割り振らせることにより、そのメモリ・アフィニティを改善できることを発見する。この未割振りメモリ・ブロックを選択されたロジカル・パーティションに割り振ることは、そのロジカル・パーティションに割り振られているメモリ・ブロックが前に異なるロジカル・パーティションに割り振られていたためではなく、選択されたロジカル・パーティション内の全リソースが変化したという意味で「再割振り」になる。
【００３４】
上記で論じた好ましい諸実施形態では、ロジカル・パーティションが最終的にリソースの再割振りを制御しているものと想定していることに留意されたい。これは、メモリ・アフィニティを改善するためにリソースの再割振りを要求すべきかどうかならびにいつ要求すべきかを判断する能力を各ロジカル・パーティションに与えるので、重要な特徴である。代替一実施形態では、動的パーティション・マネージャは、すべてのロジカル・パーティションのメモリ・アフィニティをモニターし、リソースの提案再割振りを決定し、リソースの提案再割振りが１つまたは複数のロジカル・パーティションにおいてメモリ・アフィニティの正味の増加をもたらすかどうかを判断することができるであろう。この手法により、動的パーティション・マネージャはトレードオフを行うこともできる。たとえば、動的パーティション・マネージャは、リソースの提案再割振りにより、あるロジカル・パーティションに関するメモリ・アフィニティを３０だけ増加し、異なるロジカル・パーティションのメモリ・アフィニティを３だけ低減することを決定できるであろう。次に、動的パーティション・マネージャは、他のロジカル・パーティション内のメモリ・アフィニティの増加が大きいためにメモリ・アフィニティのわずかな低減をもたらす場合でも、提案再割振りを実行することを決定できるであろう。また、パーティション・マネージャは、ロジカル・パーティションをランク付けすることもできるが、そのメモリ・アフィニティが３だけ低減されることになるロジカル・パーティションがそのメモリ・アフィニティが３０だけ増加されることになるロジカル・パーティションより高いランクである場合にリソースの提案再割振りを実行できないことに留意されたい。当然のことながら、その他の適切な基準またはヒューリスティック（発見的手法）も使用できるであろう。好ましい諸実施形態は明白に、複数のロジカル・パーティションを含むマルチノード・コンピュータ・システム上の１つまたは複数のリソースを動的に再割振りして、そのうちの１つまたは複数のロジカル・パーティションのメモリ・アフィニティを改善するための任意のメカニズムまたは方法に及ぶものである。
【００３５】
好ましい諸実施形態は、ロジカル・パーティションが時間の経過につれてそのメモリ・アフィニティをモニターするための方法を提供する。リソースの割振りの変更によってそのメモリ・アフィニティが低減されると、ロジカル・パーティションは、メモリ・アフィニティを改善すると予想されるリソースの提案再割振りを決定する。次に、リソースの現在の割振りに関する現在のメモリ・アフィニティ・スコアとリソースの提案再割振りに関する潜在的なメモリ・アフィニティ・スコアが比較される。潜在的なメモリ・アフィニティ・スコアが現在のメモリ・アフィニティ・スコアより高い場合、ロジカル・パーティションは、ロジカル・パーティションのメモリ・アフィニティを改善するためにリソースの再割振りを開始することができる。メモリ・アフィニティを動的に追跡し、リソースの割振りを調整して、時間の経過につれてメモリ・アフィニティを改善することにより、時間の経過につれて進化するコンピュータ・システムは、複数のノード上に複数のロジカル・パーティションを含むコンピュータ・システム上でリソースが動的に再割振りされたときに、依然として良好なメモリ・アフィニティを提供できることになる。
【００３６】
当業者であれば、本発明の範囲内で多くの変形が可能であることが分かるであろう。したがって、その好ましい諸実施形態に関して本発明を詳細に示し説明してきたが、当業者であれば、本発明の精神および範囲を逸脱せずに、形式および詳細における上記その他の変更が可能であることを理解するであろう。たとえば、上記で論じた好ましい諸実施形態は、潜在的なメモリ・アフィニティ・スコアが現在のメモリ・アフィニティ・スコアより高い場合にリソースの動的再割振りを実行するが、好ましい諸実施形態は、潜在的なメモリ・アフィニティ・スコアと現在のメモリ・アフィニティ・スコアとの間の任意の適切なヒューリスティックまたは関係を明白に含むものである。たとえば、リソースの提案再割振りを実行するという決定は、潜在的なメモリ・アフィニティ・スコアが１０などの何らかの量だけ現在のメモリ・アフィニティ・スコアを超える場合にのみ、実行できる可能性がある。当業者であれば、ロジカル・パーティションのメモリ・アフィニティを改善するためにいつリソースを再割振りするべきかを判断するための任意の適切な基準またはヒューリスティックが好ましい諸実施形態の範囲内であることを認識するであろう。
【図面の簡単な説明】
【００３７】
【図１】好ましい諸実施形態による装置のブロック図である。
【図２】ロジカル・パーティショニング前のサンプル・コンピュータ・システムのブロック図である。
【図３】４つの異なるロジカル・パーティションに対する図２に示すリソースのサンプル割振りを示す表である。
【図４】図３に示すロジカル・パーティショニング後の図２のコンピュータ・システムの適切なサンプル構成の１つを示すブロック図である。
【図５】結果的に２つのロジカル・パーティションに関するメモリ・アフィニティが完全なものより低くなるリソースの再割振り後の図４のコンピュータ・システムを示すブロック図である。
【図６】図５に示す構成に基づいてＬＰ１に関する現在のメモリ・アフィニティ・スコアを計算するための式を示す図である。
【図７】図５に示す構成に基づいてＬＰ４に関する現在のメモリ・アフィニティ・スコアを計算するための式を示す図である。
【図８】ＬＰ３が除去された後の図５のコンピュータ・システムを示す図である。
【図９】ＬＰ１およびＬＰ４のメモリ・アフィニティを改善しようとして図８のコンピュータ・システム内のリソースの提案再割振りを示す図である。
【図１０】図９に示すリソースの提案再割振りに基づいてＬＰ１に関する潜在的なメモリ・アフィニティ・スコアを計算するための式を示す図である。
【図１１】図９に示すリソースの提案再割振りに基づいてＬＰ４に関する潜在的なメモリ・アフィニティ・スコアを計算するための式を示す図である。
【図１２】好ましい諸実施形態による第１の方法の流れ図である。
【図１３】好ましい諸実施形態による第２の方法の流れ図である。
【符号の説明】
【００３８】
１００：コンピュータ・システム
１１０：プロセッサ
１２０：メイン・メモリ
１２１：データ
１２２：動的パーティション・マネージャ
１２３：メモリ・アフィニティ計算メカニズム
１２４Ａ：ロジカル・パーティション＃１
１２４Ｎ：ロジカル・パーティション＃Ｎ
１２５Ａ：オペレーティング・システム＃１
１２５Ｎ：オペレーティング・システム＃Ｎ
１２６Ａ：メモリ・アフィニティ・エージェント＃１
１２６Ｎ：メモリ・アフィニティ・エージェント＃Ｎ
１３０：大容量記憶装置インターフェース
１４０：ディスプレイ・インターフェース
１５０：ネットワーク・インターフェース
１５５：直接アクセス記憶装置（ＤＡＳＤ）
１６５：ディスプレイ
１７０：ネットワーク
１７５：他のコンピュータ・システムまたはワークステーション
１９５：ＣＤ−ＲＷ
【図１】
2007193776.tif 000008
【図２】
2007193776.tif 000009
【図３】
2007193776.tif 000010
【図４】
2007193776.tif 000011
【図５】
2007193776.tif 000012
【図６】
2007193776.tif 000013
【図７】
2007193776.tif 000014
【図８】
2007193776.tif 000015
【図９】
2007193776.tif 000016
【図１０】
2007193776.tif 000017
【図１１】
2007193776.tif 000018
【図１２】
2007193776.tif 000019
【図１３】
2007193776.tif 000020