(57)【特許請求の範囲】
【請求項１】
複数のユニットとロジカル・パーティショニング・テスト・システムとを含むロジカル・パーティション・データ・システムにおいてロジカル・パーティショニングの実施をテストする方法であって、
前記テスト・システムが、ロジカル・パーティション・データ・システム内のユニットの呼び出しを生成するステップと、
前記テスト・システムが、前記呼び出しを前記ユニットに送信し、前記ユニットからの応答を受け取るステップと、
前記テスト・システムが、前記応答を予期された応答と比較するステップと、
前記テスト・システムが、前記応答と前記予期された応答の不一致に応じて、ユーザに問題を知らせる通知を生成するステップと
を含み、前記ユニットは、ロジカル・パーティショニング実施ソフトウェア・ユニットであり、前記呼び出しは、前記ロジカル・パーティショニング実施ソフトウェア・ユニットのインターフェース・ルーチンの呼び出しを生成するステップを含み、前記インタフェース・ルーチンの呼出しを生成するステップは、
有効インターフェース・ルーチンと無効インターフェース・ルーチンの１つをランダムに選択するステップと、
有効インターフェース・ルーチンの選択に応じて、有効インターフェースの引き数値をランダムに生成するステップと、
無効インターフェース・ルーチンの選択に応じて、無効インターフェースの引き数値をランダムに生成するステップと、
生成されたインターフェースの引き数値を使って前記インターフェース・ルーチンを呼び出すステップとを含む、方法。
【請求項２】
前記ユニットは、前記ユニットの呼び出しが生成されるパーティションと異なるパーティション内にある請求項１に記載の方法。
【請求項３】
前記ユニットは、プロセッサ、メモリ、Ｉ／Ｏアダプタ、ストレージから選択されるハードウエア装置である請求項１に記載の方法。
【請求項４】
請求項１に記載の方法であって、ランダムに選択するステップは、擬似ランダムに選択をするステップを含む方法。
【請求項５】
請求項１に記載の方法であって、有効インターフェースの引き数値をランダムに生成するステップは、有効インターフェースの引き数値を擬似ランダムに生成するステップを含む方法。
【請求項６】
請求項１に記載の方法であって、無効インターフェースの引き数値をランダムに生成するステップは、無効インターフェースの引き数値を擬似ランダムに生成するステップを含む方法。
【請求項７】
請求項１〜６のロジカル・パーティション・データ・システムにおいてロジカル・パーティショニングの実施をテストするための方法をコンピュータに実行させるためのプログラムが記録された記録媒体。
【請求項８】
ロジカル・パーティション・データ・システムにおいてロジカル・パーティショニングの実施をテストするためのロジカル・パーティショニング・テスト・システムであって、
ロジカル・パーティション・データ・システム内のユニットの呼び出しを生成する呼び出し生成ユニットと、
前記ユニットからの応答を受け取るレシーバと、
前記応答を予期された応答と比較する比較ユニットと、
前記応答と前記予期された応答の不一致に応じて、ユーザに問題を知らせる通知を生成する通知ユニットとを含み、前記ユニットは、ロジカル・パーティショニング実施ソフトウェア・ユニットであり、前記呼び出しは、前記ロジカル・パーティショニング実施ソフトウェア・ユニットのインターフェース・ルーチンの呼び出しであって、前記呼出しが、有効インターフェース・ルーチンと無効インターフェース・ルーチンの１つをランダムに選択し、有効インターフェース・ルーチンの選択に応じて、有効インターフェースの引き数値をランダムに生成し、無効インターフェース・ルーチンの選択に応じて、無効インターフェースの引き数値をランダムに生成し、生成されたインターフェースの引き数値を使って前記インターフェース・ルーチンを呼び出すことにより実行される、システム。
【請求項９】
前記ユニットは、前記ユニットの呼び出しが生成されるパーティションと異なるパーティション内にある請求項８に記載のシステム。
【請求項１０】
前記ユニットは、プロセッサ、メモリ、Ｉ／Ｏアダプタ、ストレージから選択されるハードウエア装置である請求項８に記載のシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は一般にコンピュータ・ソフトウエア関し、より詳細にはデータ処理システムのロジカル・パーティショニング機構にストレスを与えてテストすることに関する。
【０００２】
【従来の技術】
データ処理システム内のロジカル・パーティショニング（ＬＡＰＲ）は、単一のオペレーティング・システム（ＯＳ）の複数のコピー又は複数の異種のオペレーティング・システムが同時に１つのデータ処理システム・プラットフォーム上で稼動することを可能にする。１つのオペレーティング・システム・イメージが稼動するパーティションには、プラットフォームの資源の重複のないサブ・セットが割り当てられる。プラットフォームが割り当てることのできるそれらの資源は、１つ以上の、割り込み管理エリアをもった体系的に異なるプロセッサ、システム・メモリの領域、及び入出力（Ｉ／Ｏ）アダプタ・バス・スロットを含む。プラットフォームの資源は、ＯＳイメージに対しそれ自身のＬＰＡＲファームウエア・デバイス・ツリーによって表される。
【０００３】
プラットフォーム内で稼動する各異なるＯＳ又はＯＳイメージは、互いに保護されているので、１つのロジカル・パーティション上のソフトウエア・エラーが他のパーティションの正確な操作に影響を及ぼすことはない。これは各ＯＳイメージによって直接管理されるよう１組の別個のプラットフォーム資源を割り当てること、及びその様々なイメージが自身に割り当てられていない資源を制御できないようにすることによって提供される。更に、１つのＯＳに割り当てられた資源の制御におけるソフトウエア・エラーは、他のイメージの資源に影響を及ぼさない。このようにＯＳのイメージ（又は異なるＯＳの各々）の各々は、プラットフォーム内の１組の割り当て可能な資源を直接制御する。
【０００４】
【発明が解決しようとする課題】
パーティショニングの管理はハードウエアの種類に応じて変えることができる。パーティショニングはハードウエアで実行される部分と、監視モードよりも高い特権レベルで起動するファームウエアで実行される部分とを含む。パーティショニングの管理における１つの挑戦は、ロジカル・パーティショニングの分離と隔離が厳しく実施されていることを確認するためのテストにある。このパーティションの分離が失敗に終わるとユーザにとって非常に高くつく。更に、実動レベルのオペレーティング・システムと全てのカスタマー・アプリケーションをもつカスタマー環境におけるこの失敗のデバッグは、かなり退屈で高くつく。それゆえＬＰＡＲシステムの失敗の前に、パーテーションの分離と隔離が安全であることを保証するため悪質なアプリケーションに対してハードウエア及びファームウエアをテストし、ストレスを与える方法、システム及び装置を提供することは有利なことである。
【０００５】
【課題を解決するための手段】
本発明はデータ処理システムにおいてロジカル・パーティショニングの実施をテストする方法、システム及びコンピュータ可読記録媒体を提供する。１つの実施例においては、ロジカル・パーティショニング実施ソフトウエア・ユニットのインターフェース・ルーチンの呼び出しが生成され、ロジカル・パーティショニング実施ソフトウエア・ユニットに送られる。応答がロジカル・パーティショニング実施ソフトウエア・ユニットから受け取られ、期待される応答と比較される。応答と期待される応答の不一致に応答して、ユーザは問題を知らされる。このようにしてユーザがその問題を正すために適切な行動をとることを認める。
【０００６】
【発明の実施の形態】
図１は本発明が実装されるデータ処理システムのブロック図が示されている。データ処理システム１００はシステム・バス１０６に接続された複数のプロセッサ１０１，１０２、１０３及び１０４を含む対称型マルチプロセッサ（ＳＭＰ）である。例えば、データ処理システム１００はネットワーク内でサーバとして実装される、ニューヨーク州、アーモンクにあるインターナショナル・ビジネス・マシーンズ・コーポレーションのＩＢＭ  ＲＳ／６０００である。代替としてシングル・プロセッサ・システムを採用することもできる。またシステム・バス１０６に接続されたメモリー・コントローラ/キャッシュは複数のローカル・メモリ１６０−１６３とのインターフェースを提供する。Ｉ/Ｏバス・ブリッジ１１０はシステム・バス１０６に接続され、Ｉ/Ｏバス１１２とのインターフェースを提供する。メモリー・コントローラ/キャッシュ１０８とＩ/Ｏバス・ブリッジ１１０は図示のように統合可能である。
【０００７】
データ処理システム１００は論理的に区画化されたデータ処理システムである。したがってデータ処理システム１００は、同時に稼動する複数の異なるオペレーティング・システム（又は単一のオペレーティング・システムの複数のインスタンス）をもつ。これら複数のオペレーティング・システムの各々はその中で実行する任意の数のソフトウエア・プログラムをもつ。データ処理システム１００は論理的に区画化され、その結果異なるロジカル・パーティションには異なるＩ/Ｏアダプタ１２０−１２１、１２８−１２９、１３６及び１４８−１４９が割り当てられる。
【０００８】
このように、例えばデータ処理システム１００が３つのロジカル・パーティションＰ１、Ｐ２及びＰ３に分けられたとする。Ｉ/Ｏアダプタ１２０−１２１、１２８−１２９、１３６及び１４８−１４９の各々、プロセッサ１０１−１０４の各々、ローカル・メモリ１６０−１６４の各々はその３つのパーティションの内の１つに割り当てられる。例えばプロセッサ１０１、メモリ１６０並びにＩ/Ｏアダプタ１２０、１２８及び１２９はロジカル・パーティションＰ１に割り当てられる。プロセッサ１０２−１０３、メモリ１６１並びにＩ/Ｏアダプタ１２１及び１３６はパーティションＰ２に割り当てられる。そしてプロセッサ１０４、メモリ１６２−１６３並びにＩ/Ｏアダプタ１４８−１４９はロジカル・パーティションＰ３に割り当てられる。
【０００９】
データ処理システム１００内で実行する各オペレーティング・システムは異なるロジカル・パーティションに割り当てられる。したがって、データ処理システム１００内で稼動するオペレーティング・システムの各々は、そのロジカル・パーティション内にあるＩ/Ｏ装置にのみアクセスすることができる。このように、例えば拡張対話式エグゼクティブ （ＡＩＸ）オペレーティング・システムの１つのインスタンスをパーティションＰ１内で、そのＡＩＸオペレーティング・システムの第２のインスタンス（イメージ）をパーティションＰ２内で、そして、Windows（R)２０００オペレーティング・システムをロジカル・パーティションＰ３内で実行可能である。Windows（R)２０００はワシントン州、レッドモンドのマイクロソフト・コーポレーションの製品であり登録商標である。
【００１０】
Ｉ/Ｏバス１１２に接続されたＰＣＩホスト・ブリッジ１１４は、ＰＣＩローカル・バス１１５のインターフェースを提供する。複数のＩ/Ｏアダプタ１２０−１２１がＰＣＩバス１１５に接続される。典型的なＰＣＩバスの実装は４ないし８つのＩ/Ｏアダプタ（例えばアドイン・コネクタ用の拡張スロット）をサポートする。各Ｉ/Ｏアダプタ１２０−１２１は、データ処理システム１００と、例えばデータ処理システム１００に対するクライアントである他のネットワーク・コンピュータなどの入出力装置との間のインターフェースを提供する。
【００１１】
追加のＰＣＩホスト・ブリッジ１２２は、追加のＰＣＩバス１２３に対するインターフェースを提供する。ＰＣＩバス１２３はＰＣＩバス１２６−１２７によって複数のＰＣＩＩ/Ｏアダプタ１２８−１２９に接続される。このように、例えばモデム又はネットワーク・アダプタなどの追加のＩ/Ｏ装置がＰＣＩＩ/Ｏアダプタ１２８−１２９の各々を通してサポートされる。このやり方でデータ処理システム１００は複数のネットワーク・コンピュータへの接続を可能にしている。
【００１２】
メモリマップ式グラフィックス・アダプタ１４８は、図示のようにＰＣＩバス１４１及び１４４、並びにＰＣＩホスト・ブリッジ１４０及びブリッジ１４２（ＰＣＩ−ＰＣＩブリッジ）を介してＩ/Ｏバス１１２に接続される。また、ハードディスク１５０は、図示のようにＰＣＩバス１４１及び１４５並びにＰＣＩホスト・ブリッジ１４０及びブリッジ１４２を介してＩ/Ｏバス１１２に接続される。
【００１３】
ＰＣＩホスト・ブリッジ１３０は、ＰＣＩバス１３１をＩ/Ｏバス１１２に接続するためのインターフェースを提供する。ＰＣＩバス１３１は、ＰＣＩホスト・ブリッジ１３０をサービス・プロセッサ・メールボックス・インターフェース/ＩＳＡバス・アクセス・パスースルー・ロジック１９４及びブリッジ１３２に接続する。ＩＳＡバス・アクセス・パスースルー・ロジック１９４はＰＣＩ/ＩＳＡブリッジ１９３へ向かうＰＣＩアクセスを転送する。ＮＶＲＡＭ１９２はＩＳＡバス１９６に接続される。サービス・プロセッサ１３５はそのローカル・ＰＣＩバス１９５を通してサービス・プロセッサ・メールボックス・インターフェース１９４に結合される。サービス・プロセッサ１３５はまた複数のＪＴＡＧ/Ｉ２Ｃバス１３４を介してプロセッサ１０１−１０４に接続される。ＪＴＡＧ/Ｉ２Ｃバス１３４はＪＴＡＧ/スキャン・バス（IEEE 1149.1）とPhillipsＩ２Ｃバスのコンビネーションである。しかしながら、代替として、ＪＴＡＧ/Ｉ２Ｃバス１３４はPhillipsＩ２Ｃバスのみ又はＪＴＡＧ/スキャン・バスのみによって置き換えることもできる。ホスト・プロセッサ１０１、１０２、１０３及び１０４の全てのＡＴＴＮ（アンテンション）信号はサービス・プロセッサの割り込み入力信号に一緒に接続される。サービス・プロセッサ１３５はそれ自身のローカル・メモリ１９１を有し、ハードウエアＯＰパネル１９０にアクセスできる。
【００１４】
データ処理システム１００が起動されたとき、サービス・プロセッサ１３５はＪＴＡＧ/スキャン・バス１３４を使用してシステム（ホスト）・プロセッサ１０１−１０４、メモリ・コントローラー１０８及びＩ/Ｏブリッジ１１０に問い合わせを行う。このステップが完了したとき、サービス・プロセッサ１３５はデータ処理システム１００のインベントリ及びトポロジを認識する。サービス・プロセッサ１３５はまた、システム・プロセッサ１０１−１０４、メモリ・コントローラー１０８及びＩ/Ｏブリッジ１１０の問い合わせによって見つかった全ての要素に関して、組み込み自己テスト（ＢＩＳＴ）、基本検証テスト （ＢＡＴ）及びメモリー・テストを実行する。ＢＩＳＴ、ＢＡＴ及びメモリー・テストで見つかった失敗に関するどのようなエラー情報もサービス・プロセッサ１３５によって集められ報告される。
【００１５】
もしＢＩＳＴ、ＢＡＴ及びメモリー・テストで見つかった欠陥要素を取り除いた後もシステム資源の意味のある有効な構成がまだ可能であるならば、データ処理システム１００は、実行可能なコードをローカル（ホスト）メモリ１６０−１６３にロードするために処理を進めることを許される。サービス・プロセッサ１３５はその後、ホスト・メモリ１６０−１６３へロードされたコードの実行のためにホスト・プロセッサ１０１−１０４をリリースする。ホスト・プロセッサ１０１−１０４はデータ処理システム１００内の各々のオペレーティング・システムからのコードを実行する一方、サービス・プロセッサ１３５はエラーの監視及び報告のモードに入る。サービス・プロセッサによって監視される項目は、例えば、冷却ファンのスピード及び動作、温度センサ、電源調節装置並びにプロセッサ１０１−１０４、メモリ１６０−１６３、及びバス・ブリッジ・コントローラ１１０によって報告された回復可能エラー及び回復不能エラーを含む。
【００１６】
サービス・プロセッサ１３５はデータ処理システム１００内の全ての監視項目に関連するエラー情報を保存し報告する責任がある。サービス・プロセッサ１３５はまたエラーのタイプと定義された閾値に基づくアクションをとる。例えば、サービス・プロセッサ１３５はプロセッサのキャッシュ・メモリに関する過度の回復可能エラーの記録をとり、これがハード・エラーの兆候であると決定することができる。この決定に基づき、サービス・プロセッサ１３５は現在の実行セッション及び将来の初期プログラム・ロード (IPL)の間の構成解除のためにその資源をマークすることができる。IPLは「ブート」または「ブート・ストラップ」とも呼ばれる。
【００１７】
当業者は図１に示されたハードウエアは変更可能であることを理解するであろう。例えば、光ディスク装置のような他の周辺装置もまた図示されたハードウエアに追加して、又は置き換えて使用することができる。図示した例は本発明に関して構造上の制限を意味するものではない。
【００１８】
次に図２を参照すると本発明を実施し得る代表的なロジカル・パーティション・プラットフォームのブロック図が示されている。ロジカル・パーティション・プラットフォーム２００におけるハードウエアは例えば図１のサーバ１００として実装することができる。ロジカル・パーティション (LPAR)・プラットフォーム２００は区画化されたハードウエア２３０、ＬＰＡＲファームウエア（ＬＦ）２１０及びオペレーティング・システム２０２−２０８を含む。オペレーティング・システム２０２−２０８は、プラットフォーム２００上で同時に稼動する単一のオペレーティング・システムの複数のコピー又は複数の異なるオペレーティング・システムである。オペレーティング・システム２０２−２０８の少なくとも一つはテスト・ナノ・カーネル（ＴｎＫ）オペレーティング・システムである。ＴｎＫはストレス・エクササイザを容易にかつスピード、バリエーション及び失敗の再現に対する柔軟性をもって書くことができる環境を作り出すことを特に目的としたＯＳである。ＴｎＫ ＯＳはプログラマーが他のＯＳ、例えばＡＩＸ又はＬｉｎｕｘなどが稼動する他の区画に対して制御可能なやり方で、ソフトウエア及びハードウエアの刺激（irritation）を作るのを認める。
【００１９】
区画化されたハードウエア２３０は複数のプロセッサ２３２−２３８、複数のシステム・メモリ２４０−２４６、複数の入出力（Ｉ/Ｏ）アダプタ２４８−２６２及びストレージ２７０を含む。プロセッサ２４２−２４８、メモリ２４０−２４６、ＮＶＲＡＭ２９８及びＩ/Ｏアダプタ２４８−２６２の各々はロジカル・パーティション・プラットフォーム２００内の複数のパーティションの１つに割り当てられる。そしてその各々のパーティションはオペレーティング・システム２０２−２０８の１つに対応する。
【００２０】
ＬＦ２１０は、オペレーティング・システム２０２−２０８がロジカル・パーティション・プラットフォーム２００のパーティショニングを実施できるように複数の機能及びサービスを実行する。ファームウエアは例えば、読み取り専用メモリー （ＲＯＭ）、プログラマブル読取専用メモリー（ＰＲＯＭ）、消去可能プログラマブル読み取り専用メモリー（ＥＰＲＯＭ）、電気的消去可能プログラマブル読み取り専用メモリー（ＥＥＰＲＯＭ）及び不揮発性ランダム・アクセス・メモリー（ＮＶＲＡＭ）などのように電力がなくてもその中身を保持できるメモリー・チップに保存されたソフトウエアである。
【００２１】
ＬＦ２１０はその基礎ハードウエアに等しい、ファームウエアで実装された仮想マシンである。したがって、ＬＦ２１０は独立したＯＳ２０２−２０８の同時実行を、ロジカル・パーティション・プラットフォーム２００の全てのハードウエア資源を仮想化することによって可能にしている。ＬＦ２１０は、ＯＳ２０２−２０８のうちの１つによる使用のための排他的モードで、Ｉ/Ｏ装置をＩ/Ｏアダプタ２４８−２６２を通して単一仮想マシンに接続することができる。
【００２２】
ＯＳ２０２−２０８はＬＰＡＲテスト・ユニット２２２−２２８を含む。ＬＰＡＲテスト・ユニット２２２−２２８は要求を生成してＬＰＡＲハードウエア及びＬＦ２１０へ送信し、異なるパーティションへ割り当てられた資源へのアクセスを試みる。これら要求は、システムにストレスをかけて、システムに問題が存在しないかどうかを判断するためにＬＰＡＲテスト・ユニット２２２−２２８によってできる限り早く生成され、送信される。その問題とはＬＰＡＲハードウエア又はＬＦ２１０の欠陥であり、その欠陥はパーティションへの無許可アクセスを可能とするものである。このように、ＬＰＡＲテスト・ユニット２２２−２２８は、ＬＰＡＲの分離と隔離の違反がＬＰＡＲハードウエアや悪質なアプリケーションによってなされていないことをストレスの下で確認し、それにより、ＬＰＡＲハードウエアが認められていない資源へのアクセスを許可しないことを保証する。ＬＰＡＲテスト・ユニット２２２−２２８はまた、ストレスの下、ＬＦ２１０が悪質なアプリケーションによる認められていない資源へのアクセスを許可しないことを確認する。もし無許可アクセスがＬＦ２１０によって許可されると、このことは識別して修正しなければならないソフトウエア・バグがあることを示す。それゆえもしＬＰＡＲハードウエアまたはＬＦ１２０が無許可アクセスを許すと、ユーザ又はデバッグ・ルーチンはシステムのロジカル・パーティショニングに関する問題があることを知らされる。ユーザまたはデバッグ・ルーチンはその後修正のためにその問題を識別することを試みる。
【００２３】
ＯＳ２０２−２０８は、もし必要ならば、ＬＰＡＲシステムの下で稼動して、全てのＬＦ２１０モードのファシリティを解放し、代わりにシステム・コールをＬＦ２１０に対して行い以下のファシリティにアクセスし又は管理するように、変更される：ハードウエア依存レジスタ（ＨＩＤ）、ロジカル・パーティション定義レジスタ、サポート・プロセッサ通信レジスタ、汎用の特殊目的レジスタ、タイム・ベース・レジスタ、データ・アドレス・ブレイクポイント・レジスタ、アドレス・スペース・レジスタ、マシン状態レジスタ（ＭＳＲ）内のマシン・チェック・イネイブル・ビット、ＭＳＲ内のＬＦモード・イネイブル・ビット及びページ・テーブル・ポインタ・レジスタ。１つの代表的なパーティション・モードにおいて、ベクトル化システム・コール（ＳＣＶ）を除く全ての割り込みはＬＦ２１０へ送られる。他の代表的なパーティション・モードにおいては、マシン・チェック、リセット及びビット２０がオンのシステム・コールを除く全ての割り込みはＬＰＡＲベクトルへ送られる。ＬＰＡＲベクトルはパーティションの割り込みベクトルである。ＯＳ２０２−２０８は、１つのパーティション内でブートして、ＬＦ２１０を通して以下のファシリティを管理することを許される：ページ・テーブル・エントリ、サポート・プロセッサ通信レジスタ、汎用の特殊目的レジスタ、タイム・ベース・レジスタ、データ・アドレス・ブレイクポイント・レジスタ、アドレス・スペース・レジスタ、及びＬＦ２１０が管理するマシン・ステート状態レジスタ・ビット。
【００２４】
幾つかの実施例においては、ＯＳ２０２−２０８の１つはＴｎＫであり、他は他のタイプのＯＳ、例えば一般に商用アプリケーションに対して使用される、ＡＩＸ又はＬｉｎｕｘである。ＴｎＫは多くの他のタイプのＯＳが作れない実行されるべきアクションを作ることができ、したがってシステムに大きなストレスをかけて、ロジカル・パーティショニングが厳格にＬＦ２１０及びハードウエアによって実施されるかを決定することができる。
【００２５】
当業者は図２に示されたハードウエアは変更できることを理解するであろう。例えばパーティションのＯＳの各々にＬＰＡＲテスト・ユニットが図示されているが、実施例によっては、ＬＰＡＲテスト・ユニットを全パーティションのうちのいくつかに対してのみ実装することも可能である。更に、実施例によっては、他のハードウエア又は図２に示されたのとは異なるハードウエアを含むこともでき、また区画化されないハードウエアを含むこともできる。図示の例は本発明に関して構造的な制限を意味するものではない。
【００２６】
次に図３を参照すると、ＬＰＡＲテスト・ユニットを例示したブロック図が本発明にしたがって示されている。ＬＰＡＲテスト・ユニット３００は例えば図２の任意のＬＰＡＲテスト・ユニット２２２−２２８として実装することがでる。ＬＰＡＲテスト・ユニット３００は、ストレージ・モデル用テスト（ＴＰＳＭ）エクササイザ３０２、キャッシュ・ストレス・エクササイザ３０４（キャッシュ・チップに対する系統的なストレス・テスト）、ブランチ・エクササイザ３０６（ブランチ・ユニットに対する系統的なストレス・テスト）、ＩＦＵエクササイザ３０８（命令取り出しユニット（ＩＦＵ）に対する系統的なストレス・テスト）、モンティ（Ｍｏｎｔｙ）エクササイザ３１０（ＣＥＣに関係するＩＯサブシステムに対するストレス・テスト）及びＤＡＢＲエクササイザ３１２（データ・アクセス・ブレイクポイント・レジスタに対する系統的なストレス・テスト）を含む。ＬＰＡＲテスト・ユニット３００はまたスペシャル・エクササイザ３１４を含む。
【００２７】
更に、パーティションの外に行くよう特別に設計された他のエクササイザ３１６−３２０がある。Ｔｘｅクラッシュ・エクササイザ３１６は、そのパーティションの外部への無効なアクセスに、擬似ランダムにストレスをかける。Ｔｘｅ有効アドレス・エクササイザ３１８は、そのパーティションの外への無効なアクセスに、系統的にストレスをかける。ＴｘｅＩＯクラッシュ・エクササイザ３２０はパーティション内の不正なＩＯカードの動きのストレス・テストを行う。
【００２８】
これらエクササイザ３０２−３２０の全ては同時に稼動し、図２内のＬＦ２１０などのようにロジカル・パーティショニングを管理するＬＰＡＲファームウエア上に大量のストレスを生み出す。その同じＬＰＡＲファームウエアは、同時にロジカル・パーティション・システム内の他のパーティション内の他のＯＳによって使用される。この異機種環境内におけるストレスの量とＬＰＡＲファームウエアへのパスのバリエーションは、ＬＰＡＲテスト・ユニット３００及びそのエクササイザ３０２−３２０の存在によりかなり増加する。
【００２９】
ＬＰＡＲテスト・ユニット３００が稼動するＯＳは、エクササイザ３０２−３２０がそれら自身の環境を作り出すことを次のようにして認める。すなわち各エクササイザ３０２−３２０は、変換タイプとしてＲＳ６０００仮想又はＡＳ４００ＰＬＳ/ＳＬＳを選択し、データや命令を変換し、監視モードまたは問題モードを選択し、ＭＳＲにおいて３２ビットモード又は６４ビットモードを選択し、ＬＰＡＲファームウエアを使ってページ・テーブル・エントリを作成し、ＬＰＡＲファームウエアを通してハードウエア実装依存資源へアクセスし、必要に応じてセグメント・レジスタ、セグメント・ルックアサイド・バッファまたはセグメント・テーブルを操作し、それ自身の割り込みベクトルを定義する。オペレーティング・システムＴｎＫは本質的にこの機能を提供する。各エクササイザ３０２−３１２にそれ自身の環境を作ることを認めることによって、各エクササイザ３０２−３１２は、任意の境界条件をもった任意のメモリを多くの異なる命令シーケンスで操作し、メモリ・アクセスまたは他の資源のいかなるＬＰＡＲルールも侵していないことをチェックすることができる。これらのアクセスはハードウエアを通して直接することもできるし、ロジカル・パーティショニングのソフトウエア制御局面を管理するＬＰＡＲファームウエアを通して行うこともできる。
【００３０】
ＬＰＡＲファームウエア・インターフェースに更にストレスをかけるため、ＬＰＡＲテスト・ユニット３００は、エクササイザ３０２−３１２と共同して使用されるスペシャル・エクササイザ３１４を含む。スペシャル・エクササイザ３１４は、次のようにして全てのドキュメント化された及びドキュメント化されていないＬＰＡＲファームウエア・インターフェース・コールを呼び出す。
（１）まず有効擬似乱数値でインターフェース・ルーチンを呼び出す。（２）次に無効擬似乱数値でインターフェース・ルーチンを呼び出す。（３）そして全ての無効な又は存在しないインターフェース・ルーチンの呼び出しを擬似ランダムに試みる。インターフェース・ルーチンは、レジスタ内の渡された値の正しさによって、ＬＰＡＲファームウエアによって識別される。ある幾つかの値のみが有効である。他は無効または存在しないインターフェース・ルーチンである。ルーチンが有効あるいは無効な値で呼び出されたかどうか又は無効ルーチンを呼び出す試みがなされたかどうかが擬似ランダムに決定される。他のパーティションからのＯＳによっても使用されるＬＰＡＲファームウエア上に十分なストレスがかかることを保証するため、これらのルーチン呼び出しの全ては非常に効率的にかつ迅速になされる。しかしながらその生成の速度は実装に依存し、例えば使用されるプロセッサのスピードに依存してして変わる。
【００３１】
図３に示されている構成要素は変更可能である。それゆえ図示の例は本発明に関して構造上の制限を暗示するものではない。
【００３２】
次に図４を参照すると、本発明に従った代表的なエクササイザを表したブロック図が示されている。エクササイザ４００は例えば図３の任意のエクササイザ３０２−３２０として実装可能である。エクササイザ４００は擬似乱数値生成器４０２、呼び出し先ルーチン決定ユニット４０４、インターフェース・ルーチン呼び出しユニット４０６、比較ユニット４０８、レシーバ４１０及び通知ユニット４１２を含む。
【００３３】
呼び出し先ルーチン決定ユニット４０４は、無効な/存在しない若しくは有効なＬＰＡＲファームウエア・インターフェース又は他のソフトウエア若しくはハードウエア・ルーチンが呼び出されるかどうか擬似ランダムに決定する。無効ルーチンが選択された場合は、呼び出し先ルーチン決定ユニット４０４は呼び出されるべきルーチン名及び値を生成する。有効ルーチンが選択された場合には、呼び出し先ルーチン決定ユニット４０４は、そのルーチンの呼び出しに有効値が使用されるのか又は無効値が使用されるのか擬似ランダムに決定する。
【００３４】
擬似乱数値生成器４０２は、呼び出し先ルーチン決定ユニット４０４によってなされる選択に依存して、ルーチンの呼び出しに使用されるべき、有効値又は無値を生成する。インターフェース・ルーチン呼び出しユニット４０６は、選択された有効又は無効インターフェース・ルーチンをＬＰＡＲファームウエアＬＰＡＲハードウエア又は他のＬＰＡＲソフトウエアから呼び出す。レシーバ４１０は、呼び出されたユニット又は他の関連するユニットからの結果を受け取る。比較ユニット４０８は、その結果を期待値と比較する。通知ユニット４１２は起こった全ての問題をＬＰＡＲテスト・ユニットに知らせる。
【００３５】
例えば比較ユニット４０８が、その結果が他のパーティションに割り当てられたあるパーティションへのアクセスが認められたことを表していると判断した場合は、通知ユニット４１２は、ＬＰＡＲテスト・ユニットに通知を送って、ロジカル・パーティショニングの実施における違反を示す。通知には、起こった問題のタイプの記述子を含まれてもよい。例えば問題は、ＬＰＡＲファームウエアが許可すべきファシリティへのアクセスを拒否し、拒否すべきファシリティへのアクセスを許可し、又は無効ルーチンへの呼び出しが存在する場合にファシリティへのアクセスを許可することである。一旦問題が認識され、おそらく問題の性質が認識されると、管理者はＬＰＡＲファームウエア内のソフトウエア問題の場所を突き止める又は不調なＬＰＡＲハードウエア・ユニットに関する問題を突き止めるデバッグ・ルーチンを利用することができる。
【００３６】
図４に示された構成要素は変更可能である。図示の例は本発明に関し構造上の制限を暗示するものではない。
【００３７】
次に図５を参照すると、本発明に従って、ＬＰＡＲシステムにストレスをかけテストするための処理の流れとプログラム機能が示されている。図５に示された処理及び機能は、例えば図４に示されたエクササイザ４００内で実装される。初めにエクササイザは、ＬＰＡＲユニットの呼び出しに有効インターフェース・ルーチンを使うのか、無効インターフェース・ルーチンを使うのかを擬似ランダムに決定する（ステップ５０２）。無効ルーチンが選択された場合、無効インターフェース・ルーチン名及び引き数値が生成される（ステップ５２０）。エクササイザはその後ＬＰＡＲユニットを無効ルーチン名を使って呼び出す（ステップ５１０）。
【００３８】
有効ルーチンが選択された場合、エクササイザは呼び出されるべき有効インターフェース・ルーチン名を擬似ランダムに選択する（ステップ５０４）。次にそのインターフェース・ルーチンの引き数として有効値を使用するか又は無効値を使用するかを決定する（ステップ５０６）。インターフェース・ルーチンの引き数として有効値が選択された場合、エクササイザは有効値を擬似ランダムに生成する（ステップ５０８）。無効値が選択された場合、無効引き数値を擬似ランダムに生成する。（ステップ５１０）。一旦引き数値が生成されると、選択されたＬＰＡＲシステム・ルーチン又はハードウエアはその選択された引き数値を使って呼び出される（ステップ５１０）。
【００３９】
スペシャル・エクササイザはその後待機し呼び出されたＬＰＡＲユニット又は関連するＬＰＡＲユニットからの結果を受け取る（ステップ５１２）。これらの結果は予期された結果と比較される（ステップ５１４）。例えば、エクササイザが異なるパーティションに属する資源にアクセスを試みた場合、アクセスが拒否されることが期待される。受け取った結果が期待された結果と一致した場合（ステップ５１６）、それ以上のアクションは取られず、エクササイザは改めてステップ５０２を開始し、ＬＰＡＲファームウエアにストレスをかけテストし続ける。しかしながら受け取られた結果が期待した結果と異なる場合（ステップ５１６）、ＬＰＡＲテスト・ユニットは問題を知らされ（ステップ５１８）、取るべき正しいアクションを決める。図５に示された処理は、ＬＰＡＲファームウエア、ＬＰＡＲハードウエア又は他のＬＰＡＲ資源へのストレスを増加しまたは最大にして、どのような弱点も決定するために、できるだけ迅速に繰り返し実行される。その処理はユーザ又は他のソフトウエアが十分なＬＰＡＲファームウエアのテストが実行されたと決定するまで続く。
【００４０】
以上、完全に機能するデータ処理システムを前提にして本発明を説明したが、本発明のプロセスは、コンピュータ可読媒体の形で、また様々な形式で配布でき、更に本発明は、配布するために実際に用いられる信号担持媒体の如何にかかわらず、等しく適用される。コンピュータ可読媒体は、フロッピー（R)・ディスク、ハード・ディスク・ドライブ、ＲＡＭ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録可能な媒体、更に、ＲＦ伝送や光波伝送等の伝送形式を使ったデジタル及びアナログ通信リンク、有線又は無線通信リンク等の伝送媒体等である。コンピュータ可読媒体は、特定のデータ処理システムにおける実際の使用の際にはデコードされるコード化された形式を取ることもできる。
【００４１】
本発明の説明は例示の目的でなされたものであり、発明を開示された形式に制限するものではない。多くの修正や変形例が考えられることは当業者に明らかであろう。実施例は、本発明の原理及び実際の応用を説明するのに最も適したものとして、更に当業者が本発明を理解して、様々な修正が加えら得た多くの実施例を構築できるように、選ばれ説明された。
【００４２】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００４３】
（１）ロジカル・パーティション・データ・システムにおいてロジカル・パーティショニングの実施をテストする方法であって、ロジカル・パーティション・データ・システム内のユニットの呼び出しを生成するステップと、ユニットからの応答を受け取るステップと、応答を予期された応答と比較するステップと、応答と予期された応答の不一致に応じて、ユーザに問題を知らせるステップとを含む方法。
（２）前記ユニットは、ロジカル・パーティショニング実施ソフトウェア・ユニットのインターフェース・ルーチンである（１）に記載の方法。
（３）前記ユニットは、前記ユニットの呼び出しが生成されるパーティションと異なるパーティション内にある（１）に記載の方法。
（４）  前記ユニットは、ハードウエア装置である（１）に記載の方法。
（５）（２）に記載の方法であって、インターフェース・ルーチンの呼び出しを生成するステップは、有効インターフェース・ルーチンと無効インターフェース・ルーチンのうちの１つをランダムに選択するステップと、選択されたインターフェース・ルーチンの呼び出しを生成するステップとを含む方法。
（６）（５）に記載の方法であって、ランダムに選択するステップは、擬似ランダムに選択をするステップを含む方法。
（７）（２）に記載の方法であって、インターフェース・ルーチンの呼び出しを生成するステップは、有効インターフェース・ルーチンの引き数値と無効インターフェース・ルーチンの引き数値の１つをランダムに選択するステップと、有効インターフェース・ルーチンの引き数値の選択に応じて、有効インターフェース引き数値をランダムに生成するステップと、  無効インターフェース・ルーチンの引き数値の選択に応じて、無効インターフェース引き数値をランダムに生成するステップと、生成されたインターフェース引き数値を使って前記インターフェース・ルーチンを呼び出すステップとを含む方法。
（８）（７）に記載の方法であって、ランダムに選択するステップは、擬似ランダムに選択をするステップを含む方法。
（９）（７）に記載の方法であって、有効インターフェース引き数値をランダムに生成するステップは、有効インターフェース引き数値を擬似ランダムに生成するステップを含む方法。
（１０）（７）に記載の方法であって、無効インターフェース引き数値をランダムに生成するステップは、無効インターフェース引き数値を擬似ランダムに生成するステップを含む方法。
（１１）ロジカル・パーティション・データ・システムにおいてロジカル・パーティショニングの実施をテストする方法であって、ロジカル・パーティション・データ・システム内の１つ以上のユニットの呼び出しを繰り返し生成するステップと、１つ以上のユニットからの応答を受け取るステップと、１つ以上の応答が予期された応答と一致しない場合に警告を生成するステップとを含む方法。
（１２）ロジカル・パーティション・データ・システムにおいてロジカル・パーティショニングの実施をテストするための方法をコンピュータに実行させるためのプログラムを記録したコンピュータ可読記録媒体であって、前記方法は、  ロジカル・パーティション・データ・システム内のユニットの呼び出しを生成するステップと、ユニットからの応答を受け取るステップと、応答を予期された応答と比較するステップと、応答と前記予期された応答の不一致に応じて、ユーザに問題を知らせるステップとを含む方法である記録媒体。
（１３）前記ユニットは、ロジカル・パーティショニング実施ソフトウェア・ユニットのインターフェース・ルーチンである請求項１２に記載の記録媒体。
（１４）前記ユニットは、前記ユニットの呼び出しが生成されるパーティションと異なるパーティション内にある請求項１２に記載の記録媒体。
（１５）（１２）に記載の記録媒体であって、前記インターフェース・ルーチンの呼び出しを生成するステップは、有効インターフェース・ルーチンと無効インターフェース・ルーチンのうちの１つをランダムに選択するステップと、選択されたインターフェース・ルーチンの呼び出しを生成するステップとを含む記録媒体。
（１６）（１５）に記載の記録媒体であって、前記ランダムに選択するステップは、擬似ランダムに選択するステップである記録媒体。
（１７）（１２）に記載の記録媒体であって、前記生成するステップは、有効インターフェース・ルーチンの引き数値と無効インターフェース・ルーチンの引き数値の１つをランダムに選択するステップと、有効インターフェース・ルーチンの引き数値の選択に応じて、有効インターフェース引き数値をランダムに生成するステップと、無効インターフェース・ルーチンの引き数値の選択に応じて、無効インターフェース引き数値をランダムに生成するステップと、生成されたインターフェース引き数値を使って前記インターフェース・ルーチンを呼び出すステップとを含む記録媒体。
（１８）（１７）に記載の記録媒体であって、前記ランダムに選択するステッ  プは、擬似ランダムに選択するステップを含む記録媒体。
（１９）（１７）に記載の記録媒体であって、有効インターフェース引き数値をランダムに生成する前記ステップは、有効インターフェース引き数値を擬似ランダムに生成するステップを含む記録媒体。
（２０）（１７）に記載の記録媒体であって、無効インターフェース引き数値をランダムに生成する前記ステップは、無効インターフェース引き数値を擬似ランダムに生成するステップを含む記録媒体。
（２１）ロジカル・パーティション・データ・システムにおいてロジカル・パーティショニングの実施をテストするための方法をコンピュータに実行させるためのプログラムを記録したコンピュータ可読記録媒体であって、前記方法は、ロジカル・パーティション・データ・システム内の１つ以上のユニットの呼び出しを繰り返し生成するステップと、前記１つ以上のユニットからの応答を受け取るステップと    、１つ以上の応答が予期された応答と一致しない場合に警告を生成するステップとを含む記録媒体。
（２２）ロジカル・パーティション・データ・システムにおいてロジカル・パーティショニングの実施をテストするためのロジカル・パーティショニング・テスト・システムであって、ロジカル・パーティション・データ・システム内のユニットの呼び出しを生成する呼び出し生成ユニットと、ユニットからの応答を受け取るレシーバと、応答を予期された応答と比較する比較ユニットと、応答と前記予期された応答の不一致に応じて、ユーザに問題を知らせる通知ユニットとを含
（２３）前記ユニットは、ロジカル・パーティショニング実施ソフトウェア・ユニットのインターフェース・ルーチンである請求項２２に記載のシステム。
（２４）前記ユニットは、前記ユニットの呼び出しが生成されるパーティションと異なるパーティション内にある請求項２２に記載のシステム。
（２５）前記ユニットは、ハードウエア装置である請求項２２に記載のシステム。（２６）ロジカル・パーティション・データ・システムにおいてロジカル・パーティショニングの実施をテストするためのロジカル・パーティショニング・テスト・システムであって、ロジカル・パーティション・データ・システム内の１つ以上のユニットの呼び出しを繰り返し生成する呼び出し生成ユニットと、１つ以上のユニットからの応答を受け取るレシーバと、１つ以上の応答が予期された応答と一致しない場合に警告を生成する警告生成ユニットとを含むシステム。
【図面の簡単な説明】
【図１】本発明が実装されるデータ処理システムを示すブロック図である
【図２】本発明が実装される代表的なロジカル・パーティション・プラットフォームを示すブロック図である。
【図３】本発明にしたがったＬＰＡＲテスト・ユニットを示すブロック図である。
【図４】本発明にしたがった代表的なエクササイザを示すブロック図である。
【図５】本発明にしたがってＬＰＡＲシステムにストレスをかけテストを行うためのプロセスの流れとプログラム機能を示す図である。
【符号の説明】
１００  データ処理システム
２００  ロジカル・パーティション・プラットフォーム
２１０  ＬＰＡＲファームウエア・プラットフォーム
２２２−２２８  ＬＰＡＲテスト・ユニット
２３０  区画化されたハードウエア
３００  ＬＰＡＲテスト・ユニット
４００  エクササイザ
【図１】
0003943998.tif 000002
【図２】
0003943998.tif 000003
【図３】
0003943998.tif 000004
【図４】
0003943998.tif 000005
【図５】
0003943998.tif 000006