(57)【要約】【課題】遠隔データ処理システムを構築するための、コンピュータによる実施方法、装置、およびコンピュータ使用可能なプログラム・コードを提供する。【解決手段】遠隔データ処理システムに関する構成を識別し、識別された構成を形成する。遠隔データ処理システムに関するハードウェアを構築する。遠隔データ処理システム内のハードウェアが構築された後に、導入アプリケーションを通信リンクを介して遠隔データ処理システムへ送信する。導入アプリケーションは、遠隔データ処理システムを構築するために遠隔データ処理システム上で実行する。導入ファイルを通信リンクを介して遠隔データ処理システム上で実行中の導入アプリケーションへ送信する。導入アプリケーションは、導入ファイルを使用して、オペレーティング・システムのセットを構築導入し、アプリケーションを導入し、遠隔データ処理システム上にソフトウェアを構築する。【選択図】図１
2009509255.tif 000002
【特許請求の範囲】
【請求項１】
遠隔データ処理システムを構築するためのコンピュータによる実施方法であって、当該コンピュータによる実施方法は、
前記遠隔データ処理システムに関する構成を識別して、該識別された構成を形成するするステップと、
前記遠隔データ処理システムに関するハードウェアを構築するステップと、
前記遠隔データ処理システム内の前記ハードウェアが構築された後に、導入アプリケーションを通信リンクを介して前記遠隔データ処理システムへ送信するステップであって、前記導入アプリケーションは、前記遠隔データ処理システムを構築するために前記遠隔データ処理システム上で実行する、ステップと、
導入ファイルを前記通信リンクを介して前記遠隔データ処理システム上で実行中の前記導入アプリケーションへ送信するステップであって、前記導入アプリケーションは、前記導入ファイルを使用して、オペレーティング・システムのセットを構築導入し、アプリケーションを導入し、前記遠隔データ処理システム上にソフトウェアを構築する、ステップと
を含む、方法。
【請求項２】
前記送信ステップは、サーバ・データ処理システムにおいて実施される、請求項１に記載のコンピュータによる実施方法。
【請求項３】
前記識別ステップは、
複数の構成からの前記構成の選択を受信するステップを含む、請求項１に記載のコンピュータによる実施方法。
【請求項４】
前記遠隔データ処理システムは、従前の構成から、前記遠隔データ処理システムに関して識別された前記構成へ再構築される、請求項１に記載のコンピュータによる実施方法。
【請求項５】
前記導入ファイルは、オペレーティング・システム・ファイルと、アプリケーション・ファイルと、ソフトウェア構成情報とを備える、請求項１に記載のコンピュータによる実施方法。
【請求項６】
前記遠隔データ処理システムは、論理パーティション化データ処理システムとして構築される、請求項１に記載のコンピュータによる実施方法。
【請求項７】
前記構築ステップは、
前記識別された構成に基づいてハードウェア構成情報を識別し、識別されたハードウェア構成情報を形成するステップと、
前記識別されたハードウェア構成情報を通信リンクを介してハードウェア構築システムへ送信するステップであって、前記ハードウェア構築システムは、前記識別されたハードウェア構成情報を使用して、前記遠隔データ処理システムのための前記ハードウェアを構築する、ステップと
を含む、請求項１に記載のコンピュータによる実施方法。
【請求項８】
前記ハードウェア構築システムは、コンピュータ組み立て設備である、請求項７に記載のコンピュータによる実施方法。
【請求項９】
前記ハードウェア構築システムは、前記遠隔データ処理システム内のハードウェアを複数のパーティションに割り当てるために使用されるハードウェアおよびソフトウェアを備える、請求項７に記載のコンピュータによる実施方法。
【請求項１０】
遠隔データ処理システムを構築するためのコンピュータによる実施方法であって、当該コンピュータによる実施方法は、
前記遠隔データ処理システムに関する構成を識別し、識別された構成を形成するステップと、
前記識別された構成に基づいてハードウェア構成情報を選択し、選択されたハードウェア構成情報を形成するステップと、
前記識別された構成に基づいて、前記選択されたハードウェア構成情報を通信リンクを介して、前記データ処理システム上で実行中の導入アプリケーションへ送信するステップであって、前記導入アプリケーションは、前記選択されたハードウェア構成情報を使用してパーティションのセットを形成するために、前記データ処理システム上でハードウェア・リソースを構築する、ステップと、
前記識別された構成に基づいて、前記遠隔データ処理システムのためのオペレーティング・システム・ファイルを選択し、選択されたオペレーティング・システム・ファイルを形成するステップと、
前記選択されたオペレーティング・システム・ファイルを前記データ処理システム上で実行中の導入アプリケーションへ送信するステップであって、前記導入アプリケーションは、前記選択されたオペレーティング・システム・ファイルを使用して、前記データ処理システム上のパーティションのセットのためのオペレーティング・システムのセットを構築する、ステップと、
前記識別された構成に基づいてアプリケーション・ファイルを選択し、選択されたアプリケーション・ファイルを形成するステップと、
前記選択されたアプリケーション・ファイルを前記データ処理システム上で実行中の導入アプリケーションへ送信するステップであって、前記導入アプリケーションは、前記選択されたアプリケーション・ファイルを使用して、前記データ処理システム上にアプリケーションを導入する、ステップと、
前記識別された構成に基づいてソフトウェア構成情報を選択し、選択されたソフトウェア構成情報を形成するステップと、
前記選択されたソフトウェア構成情報を前記データ処理システム上で実行中の導入アプリケーションへ送信するステップであって、前記導入アプリケーションは、前記選択されたソフトウェア構成情報を使用して、前記データ処理システム上にソフトウェアを構築し、構築されたデータ処理システムを形成するステップと
を含む、方法。
【請求項１１】
前記導入アプリケーションを前記通信リンクを介して前記遠隔データ処理システムへ送信するステップをさらに含む、請求項１０に記載のコンピュータによる実施方法。
【請求項１２】
前記構築されたデータ処理システムは、論理パーティション化データ処理システムとして構築される、請求項１０に記載のコンピュータによる実施方法。
【請求項１３】
前記通信リンクを通じて、前記データ処理システム上のエージェントから前記導入アプリケーションに対する要求を受信するステップをさらに含む、請求項１０に記載のコンピュータによる実施方法。
【請求項１４】
前記コンピュータによる実施方法は、サーバ・データ処理システムにおいて実施される、請求項１０に記載のコンピュータによる実施方法。
【請求項１５】
前記識別ステップは、
複数の構成からの前記構成の選択を受信するステップを含む、請求項１０に記載のコンピュータによる実施方法。
【請求項１６】
遠隔データ処理システムを構築するためのコンピュータ使用可能なプログラム・コードを有するコンピュータ使用可能媒体を備えるコンピュータ・プログラム製品であって、請求項１から１５のいずれかに記載のステップを実行するためにコンピュータ上で実行可能な、コンピュータ使用可能プログラム・コードを含む、コンピュータ・プログラム製品。
【請求項１７】
データ処理システムであって、
バスと、
前記バスに接続された通信ユニットと、
前記バスに接続されたメモリであって、コンピュータ使用可能なプログラム・コードのセットを含む、メモリと、
前記バスに接続されたプロセッサ・ユニットであって、請求項１から１５のいずれかに記載のステップを実行するために前記コンピュータ使用可能なプログラム・コードのセットを実行する、プロセッサ・ユニットと
を備える、データ処理システム。
【請求項１８】
顧客のためにクライアント・データ処理システムを構築するためのサービスであって、
識別された構成を形成するために、クライアント・データ処理システムのための構成を受信するステップと、
前記クライアント・データ処理システムのためのハードウェア・リソースを構築し、完全なクライアント・データ処理システムを形成するステップと、
導入アプリケーションを通信リンクを介して前記完全なクライアント・データ処理システムへ送信するステップであって、前記導入アプリケーションは、前記クライアント・データ処理システムを構築するために、前記クライアント・データ処理システム上で実行する、ステップと、
導入ファイルを前記通信リンクを介して、前記完全なクライアント・データ処理システム上で実行中の前記導入アプリケーションへ送信するステップであって、前記導入アプリケーションは、前記導入ファイルを使用して、オペレーティング・システムのセットを構築導入し、アプリケーションを導入し、前記データ処理システム上にソフトウェアを構築する、ステップと
を含む、方法。
【請求項１９】
前記受信ステップは、
前記識別された構成を形成するために、前記顧客からの前記構成の選択か、前記顧客によって生成された構成データのうちの１つを受信するステップを含む、請求項１８に記載のサービス。
【請求項２０】
前記構築ステップは、
識別されたハードウェア構成情報を通信リンクを介してハードウェア構築システムへ送信するステップであって、前記ハードウェア構築システムは、前記識別されたハードウェア構成情報を使用して、前記クライアント・データ処理システムのためのハードウェアを構築する、ステップを含む、請求項１８に記載のサービス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、改良されたデータ処理システムに関し、特に、データ処理システムを管理するための、コンピュータによる実施方法および装置に関する。さらにより特定的には、本発明は、ネットワークにおけるデータ処理システムを主に管理するための、コンピュータによる実施方法、装置、およびコンピュータ使用可能なプログラム・コードに関する。
【背景技術】
【０００２】
今日のコンピューティング環境において、仮想化はますます一般的になってきている。仮想化は、リソースの物理的な性質および境界をユーザに対して覆い隠すようなやり方で情報技術リソースをプールすることを伴う。この種の環境には、１つのサーバが２つ以上の独立したサーバであるかのように動作させるための論理パーティショニングが含まれる。ユーザは、単一の物理的なマシンを２つ以上の独立したサーバであるとみなすことになる。サーバに対して論理的にパーティションを切る場合、リソースは、論理パーティションと称されるサブセットに分割される。プロセッサ、メモリ、および入出力装置は、論理パーティションに割り当てられるであろうリソースの例である。プロセッサ、メモリ、入出力装置がパーティションに割り当てられた状態で、各論理パーティションが独立したサーバとして動作するように、オペレーティング・システムがディスク・ドライブに導入してもよい。
【０００３】
現在、動的にカスタマイズ可能なハードウェア・リソースを伴うこのような種類のコンピュータ・システムを構築するには、システム管理者は、これらの構成を構築かつ保持する必要がある。論理パーティション化（ＬＰＡＲ）システムを構築する要素には、ネットワーク・情報、物理的または仮想的であってもよいディスク量、およびイーサネット（登録商標）アダプタが含まれるが、これらに限定されない。ネットワーク構築情報には、例えば、インターネット・プロトコル（ＩＰ）アドレス、サブネット・マスク、およびデフォルト・ゲートウェイが含まれる。イーサネット（登録商標）アダプタは、地震の構成情報を含む入出力装置の例であって、例えば、自身が属する仮想ローカル・エリア・ネットワーク（ＶＬＡＮ）の一部などである。これらの要素のうちのあるものの構築は、ダイナミック・ホスト構築プロトコル（ＤＨＣＰ）サーバ、ＩＰ構成、またはオペレーティング・システムのネットワーク・インストレーション、遠隔ソフトウェア・カスタマイゼーション、およびシステム管理のためのネットワーク・インストレーション・マネージャ（ＮＩＭ）などの、何らかの現在利用可能なツールによってより容易に行われる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
これらのツールは、現在、管理者に対して、ハードウェア管理コンソール（ＨＭＣ）を介して構築中または管理中のシステムへ接続することを要求する。ハードウェア管理コンソールは、サーバのファームウェアに接続するハードウェア器具である。この端末によって、管理者は、ハードウェアの構築と、オペレーティング・システムおよびアプリケーションの導入と、ＬＰＡＲデータ処理システムのためのソフトウェアの構築を行うことができる。さらに、これらの遠隔ツールが利用可能であるので、これらのツールは、構築を制御する際に管理者を助けることができる場合もあるが、本質的に互いに異なるものであり、互いに容易には相互運用可能ではない。その結果、これらのＬＰＡＲデータ処理システムおよび他のシステムをカスタマイズ可能なハードウェア・リソースと共に構築するためにシステム管理者が習熟する必要のある数多くのツールがある。その結果、これらのシステムの構築および管理の複雑性が増す。
【課題を解決するための手段】
【０００５】
本発明は、遠隔データ処理システムを構築するための、コンピュータによる実施方法、装置、およびコンピュータ使用可能なプログラム・コードを提供する。遠隔データ処理システムに関する構成を識別し、識別された構成を形成する。遠隔データ処理システムに関するハードウェアを構築する。遠隔データ処理システム内のハードウェアが構築された後に、導入アプリケーションを通信リンクを介して遠隔データ処理システムへ送信する。導入アプリケーションは、遠隔データ処理システムを構築するために遠隔データ処理システム上で実行する。導入ファイルを通信リンクを介して遠隔データ処理システム上で実行中の導入アプリケーションへ送信する。導入アプリケーションは、導入ファイルを使用して、オペレーティング・システムのセットを構築して導入し、アプリケーションを導入し、遠隔データ処理システム上にソフトウェアを構築する。
【０００６】
導入ファイルは、オペレーティング・システム・ファイルと、アプリケーション・ファイルと、ソフトウェア構成情報とを含む。また、遠隔データ処理システムは、論理パーティション化データ処理装置として構築されてもよい。
【０００７】
導入アプリケーションおよび導入ファイルを送るためのステップは、サーバ・データ処理システム内において実施されてもよい。構成は、複数の構成からの構成の選択を受信することによって識別されてもよい。本発明の一局面において、遠隔データ処理システムは、従前の構成から、遠隔データ処理システムに関して識別された構成へ再構築される。
【０００８】
本発明の他の局面において、ハードウェアは、識別されたハードウェア構成を形成するために、識別された構成に基づいて、ハードウェア構成情報を識別し、識別されたハードウェア構成情報を通信リンクを介してハードウェア構築システムへ送信することによって構築されてもよい。ハードウェア構築システムは、識別されたハードウェア構成情報を使用して、遠隔データ処理システムのためのハードウェアを構築する。ハードウェア構成情報は、例えば、コンピュータ組み立て設備であってもよい。本発明のさらに他の局目において、ハードウェア構築システムは、遠隔データ処理システム内のハードウェアを複数のパーティションに割り当てるために使用されるハードウェアおよびソフトウェアを備える。
【０００９】
本発明の特徴的と思われる新規の特徴を添付の請求項において述べる。本発明自体は、添付の図面と共に例示的な実施の形態の以下の詳細な説明を参照すれば最もよく理解されるだろう。
【発明を実施するための最良の形態】
【００１０】
図１〜２は、本発明の実施の形態がが実施されるであろうデータ処理環境を例示する図として提供されている。図１〜２は例示に過ぎず、本発明の局面または実施の形態が実施されるであろう環境に対する制約をなんら表明するものでも暗示するものでもない。図示の環境に対する数多くの変形が、本発明の精神および範囲を逸脱せずに行われてもよい。
【００１１】
図を参照すると、図１は、本発明の局面が実施されるであろうデータ処理システムのネットワークの実態図である。ネットワーク・データ処理システム１００は、本発明の実施の形態が実施されるであろうコンピュータのネットワークである。ネットワーク・データ処理システム１００は、ネットワーク１０２を含み、これは、ネットワーク・データ処理システム１００内で互いに接続された様々な装置とコンピュータとの間の通信リンクを提供するために使用される媒体である。ネットワーク１０２は、有線、無線通信リンク、または光ファイバ・ケーブルなどの接続を含んでもよい。
【００１２】
図示の例において、サーバ１０４およびサーバ１０６が、ストレージ・ユニット１０８とともにネットワーク１０２に接続している。加えて、クライアント１１０，１１２，および１１４がネットワーク１０２に接続している。これらのクライアント１１０，１１２，および１１４は、例えば、パーソナル・コンピュータまたはネットワーク・コンピュータであってもよい。図示の例において、サーバ１０４が、ブート・ファイル、オペレーティング・システム画像、およびクライアント１１０，１１２，および１１４に対するアプリケーションなどのデータを提供する。クライアント１１０，１１２，および１１４は、本例において、サーバ１０４に対するクライアントである。ネットワーク・データ処理システム１００は、さらにサーバ、クライアント、および他の図示しない装置を含んでもよい。
【００１３】
図示の例において、ネットワーク・データ処理システム１００はインターネットであって、ネットワーク１０２は、互いに通信するためのプロトコルの伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）スイートを使用するネットワークおよびゲートウェイの世界的な集まりを表す。インターネットの中心には、主要ノードまたはホスト・コンピュータ間高速データ通信線のバックボーンがあり、データおよびメッセージを送る数千の商用、行政、教育、および他のコンピュータ・システムからなる。当然ながら、ネットワーク・データ処理システム１００は、例えばイントラネット、ローカル・エリア・ネットワーク（ＬＡＮ）、またはワイド・エリア・ネットワーク（ＷＡＮ）などの数多くの互いに異なるネットワークとして実施されてもよい。図１は一例としてのものであり、本発明の異なる実施の形態に対する構造的な制約としてのものではない。
【００１４】
次に図２を参照すると、本発明の局面が実施されるであろうデータ処理システムのブロック図が示されている。データ処理システム２００は、図１におけるサーバ１０４またはクライアント１１０などのコンピュータの一例であって、そこには、本発明の実施の形態のための処理を実施するコンピュータ使用可能なコードまたは命令が配置されている。
【００１５】
図示の例において、データ処理システム２００は、ノース・ブリッジおよびメモリ・コントローラ・ハブ（ＭＣＨ）２０２と、サウス・ブリッジおよび入出力（Ｉ／Ｏ）コントローラ・ハブ（ＩＣＨ）２０４とを含むハブ・アーキテクチャを使用している。処理ユニット２０６、メイン・メモリ２０８、およびグラフィックス・プロセッサ２１０は、アクセラレィティッド・グラフィックス・ポート（ＡＧＰ）を通じてノース・ブリッジおよびメモリ・コントローラ・ハブ２０２に接続されてもよい。
【００１６】
図示の例において、ローカル・エリア・ネットワーク（ＬＡＮ）アダプタ２１２は、サウス・ブリッジおよびＩ／Ｏコントローラ・ハブ２０４に接続している。オーディオ・アダプタ２１６、キーボードおよびマウス・アダプタ２２０、モデム２２２、読み出し専用メモリ（ＲＯＭ）２２４、ハード・ディスク・ドライブ（ＨＤＤ）２２６、ＣＤ‐ＲＯＭドライブ２３０、ユニバーサル・シリアル・バス（ＵＳＢ）ポートおよび他の通信ポート２３２、およびＰＣＩ／ＰＣＩｅ装置２３４は、バス２３８およびバス２４０を通じてサウス・ブリッジおよびＩ／Ｏコントローラ・ハブ２０４に接続している。ＰＣＩ／ＰＣＩｅ装置は、例えば、イーサネット（登録商標）アダプタ、アドイン・カード、およびノート型コンピュータ用のＰＣカードを含んでもよい。ＰＣＩは、カード・バス・コントローラを使用するが、ＰＣＩｅは使用しない。ＲＯＭ２２４は、例えば、フラッシュ・バイナリ入出力システム（ＢＩＯＳ）であってもよい。
【００１７】
ハード・ディスク・ドライブ２２６およびＣＤ‐ＲＯＭドライブ２３０は、バス２４０を通じてサウス・ブリッジおよびＩ／Ｏコントローラ・ハブ２０４に接続している。ハード・ディスク・ドライブ２２６およびＣＤ‐ＲＯＭドライブ２３０は、例えば、統合ドライブ・エレクトロニクス（ＩＤＥ）またはシリアル・アドバンスト・テクノロジー・アタッチメント（ＳＡＴＡ）インターフェースを使用してもよい。スーパーＩ／Ｏ（ＳＩＯ）装置２３６がサウス・ブリッジおよびＩ／Ｏコントローラ・ハブ２０４に接続していてもよい。
【００１８】
オペレーティング・システムが処理ユニット２０６上で動作し、図２のデータ処理システム２００内の様々な要素を調整して制御を行う。クライアントとして、オペレーティング・システムは、マイクロソフト（Ｒ）ウィンドウズ（Ｒ）ＸＰ（マイクロソフトおよびウィンドウズは米国、他の国々、またその両者におけるマイクロソフト社の商標である）などの市販のオペレーティング・システムであってもよい。Ｊａｖａ（Ｒ）プログラミング・システムなどのオブジェクト指向のプログラミング・システムが、当該オペレーティング・システムと共に動作してもよく、データ処理システム２００上で実行するＪａｖａプログラムまたはアプリケーションからオペレーティング・システムへの呼び出しを行う（Ｊａｖａは米国、他の国々、またその両者におけるサン・マイクロシステムズ社の商標である）。
【００１９】
サーバとして、データ処理システム２００は、アドバンスト・インタラクティブ・エグゼキュティブ（ＡＩＸ（登録商標））オペレーティング・システムまたはＬＩＮＵＸオペレーティング・システム（ｅＳｅｒｖｅｒ、ｐＳｅｒｉｅｓ、およびＡＩＸは米国、他の国々、またその両者におけるインターナショナル・ビジネス・マシーンズ社の商標であり、Ｌｉｎｕｘは米国、他の国々、またその両者におけるリーナス・トーバルズ（Ｌｉｎｕｓ  Ｔｏｒｖａｌｄｓ）氏の商標である）を実行する、例えばＩＢＭのｅＳｅｒｖｅｒ（商標）ｐＳｅｒｉｅｓ（登録商標）コンピュータ・システムであってもよい。データ処理システム２００は、処理ユニット２０６内に複数のプロセッサを含むシンメトリック・マルチプロセッサ（ＳＭＰ）システムであってもよい。代わりに、単一のプロセッサ・システムを使用してもよい。
【００２０】
オペレーティング・システム、オブジェクト指向プログラミング・システムに対する命令、およびアプリケーションまたはプログラムは、ハード・ディスク・ドライブ２２６などのストレージ装置上にあり、処理ユニット２０６によって実行されるためにメイン・メモリ２０８にロードされてもよい。本発明の実施の形態のための処理は、コンピュータ使用可能なプログラム・コードを処理ユニット２０６が使用して行われ、当該プログラム・コードは、例えばメイン・メモリ２０８、読み出し専用メモリ２２４、または１つ以上の周辺装置２２６および２３０などのメモリにあってもよい。
【００２１】
図１〜２におけるハードウェアは実施によって様々であってもよいことを当業者は理解するだろう。フラッシュ・メモリ、対応不揮発性メモリ、または光ディスクドライブなどの他の内部ハードウェアおよび周辺装置を、図１〜２に示すハードウェアに加えてまたはそれらに変えて使用してもよい。また、本発明の処理は、マルチプロセッサ・データ処理システムに適用されてもよい。
【００２２】
説明のためのある例において、データ処理システム２００は、携帯情報端末（ＰＤＡ）であってもよく、これは、オペレーティング・システム・ファイルまたはユーザ生成データもしくはその両方を記憶するための不揮発性メモリを提供するためにフラッシュ・メモリとともに構成される。
【００２３】
バス・システムは、図２に示すようなバス２３８またはバス２４０などの１つ以上のバスを備えてもよい。当然ながら、任意の種類の通信ファブリックまたはアーキテクチャであって、当該ファブリックまたはアーキテクチャに付随する互いに異なる要素または装置間でのデータ転送を提供するものを使用して、バス・システムは実施されてもよい。通信ユニットは、図２のモデム２２２またはネットワーク・アダプタ２１２などの、データを送受信するために使用される１つ以上の装置を含んでもよい。メモリは、例えばメイン・メモリ２０８、読み出し専用メモリ２２４、または図２のノース・ブリッジおよびメモリ・コントローラ・ハブ２０２において見受けられるようなキャッシュであってもよい。図１〜２の図示の例および上述の例は、アーキテクチャ上の制約を暗示するものではない。例えば、データ処理システム２００は、タブレット・コンピュータ、ラップトップ・コンピュータ、または電話装置、加えてＰＤＡの形態を取るものであってもよい。
【００２４】
図３を参照すると、本発明が実施されるであろうデータ処理システムのブロック図が示されている。データ処理システム３００は、システム・バス３０６へ接続する複数のプロセッサ３０１，３０２，３０３，３０４を含むシンメトリック・マルチプロセッサ（ＳＭＰ）システムであってもよい。例えば、データ処理システム３００は、ネットワーク内のサーバとして実施される、ニューヨーク州アーモンクのインターナショナル・ビジネス・マシーンズ社の製品であるＩＢＭ  ｅＳｅｒｖｅｒ（ＩＢＭ社の商標）であってもよい。
【００２５】
代わりに、単一のプロセッサ・システムが使用されてもよい。同じくシステム・バス３０６に接続されているのは、メモリ・コントローラ／キャッシュ３０８であり、複数のローカル・メモリ３６０〜３６３に対するインターフェースを提供する。Ｉ／Ｏブリッジ３１０がシステム・バス３０６に接続しており、Ｉ／Ｏバス３１２に対するインターフェースを提供する。メモリ・コントローラ／キャッシュ３０８およびＩ／Ｏブリッジ３１０は、図示のように統合されていてもよい。
【００２６】
データ処理システム３００は、論理パーティション化（ＬＰＡＲ）データ処理システムである。よって、データ処理システム３００は、同時に動作する複数の異機種のオペレーティング・システム（または、単一のオペレーティング・システムの複数のインスタンス）を有してもよい。これらの複数のオペレーティング・システムは、それぞれ、内部で実行するソフトウェア・プログラムをいくつ有していてもよい。データ処理システム３００は、互いに異なるＰＣＩ  Ｉ／Ｏアダプタ３２０〜３２１，３２８〜３２９，および３３６、グラフィックス・アダプタ３４８、およびハード・ディスク・アダプタ３４９が互いに異なる論理パーティションに割り当てられてもよいように、論理的にパーティションが切られている。この場合、グラフィックス・アダプタ３４８は、表示装置（図示せず）に接続し、ハード・ディスク・アダプタ３４９は、ハード・ディスク３５０に接続してそれを制御する。
【００２７】
よって、例えば、データ処理システム３００が３つの論理パーティションＰ１，Ｐ２，およびＰ３に分割されたとする。ＰＣＩ  Ｉ／Ｏアダプタ３２０〜３２１，３２８〜３２９，３３６、グラフィックス・アダプタ３４８、ハード・ディスク・アダプタ３４９、各ホスト・プロセッサ３０１〜３０４、およびローカル・メモリ３６０〜３６３からのメモリは、それぞれ、３つのパーティションそれぞれに割り当てられる。これらの例において、ローカル・メモリ３６０〜３６３は、デュアル・インライン・メモリ・モジュール（ＤＩＭＭ）の形態を取ってもよい。ＤＩＭＭは、通常、各ＤＩＭＭベースではパーティションに割り当てられない。代わりに、パーティションは、プラットフォームによって見られるメモリ全体の一部を得ることになる。例えば、プロセッサ３０１と、ローカル・メモリ３６０〜３６３からのメモリのある部分と、Ｉ／Ｏアダプタ３２０，３２８，および３２９とは、論理パーティションＰ１に割り当てられてもよく、ローカル・メモリ３６０〜３６３からのメモリのある部分と、ＰＣＩ  Ｉ／Ｏアダプタ３２１および３３６とは、パーティションＰ２に割り当てられてもよく、ローカル・メモリ３６０〜３６３からのメモリのある部分と、グラフィックス・アダプタ３４８と、ハード・ディスク・アダプタ３４９とは、論理パーティションＰ３に割り当てられてもよい。
【００２８】
データ処理システム３００内で実行する各オペレーティング・システムは、互いに異なる論理パーティションに割り当てられる。よって、データ処理システム３００内で実行する各オペレーティング・システムは、その論理パーティション内のＩ／Ｏユニットのみにアクセスしてもよい。よって、例えば、アドバンスト・インタラクティブ・エグゼキュティブ（ＡＩＸ）オペレーティング・システムの１つのインスタンスがパーティションＰ１内で実行していてもよく、ＡＩＸ（登録商標）オペレーティング・システムの第２のインスタンス（画像）がパーティションＰ２内で実行していてもよく、ＬｉｎｕｘまたはＯＳ／４００（登録商標）オペレーティング・システムが論理パーティションＰ３内で動作していてもよい。
【００２９】
Ｉ／Ｏバス３１２に接続された周辺要素相互接続（ＰＣＩ）ホスト・ブリッジ３１４が、ＰＣＩローカル・バス３１５に対するインターフェースを提供する。数多くのＰＣＩ入出力アダプタ３２０〜３２１が、ＰＣＩ間ブリッジ３１６、ＰＣＩバス３１８、ＰＣＩバス３１９、Ｉ／Ｏスロット３７０、およびＩ／Ｏスロット３７１に接続している。ＰＣＩ間ブリッジ３１６は、ＰＣＩバス３１８およびＰＣＩバス３１９に対するインターフェースを提供する。ＰＣＩ  Ｉ／Ｏアダプタ３２０および３２１は、Ｉ／Ｏスロット３７０および３７１にそれぞれ設置される。典型的なＰＣＩバスの実施によって、４つおよび８つのＩ／Ｏアダプタ（すなわち、アドイン・コネクタ用の拡張スロット）間をサポートする。各ＰＣＩ  Ｉ／Ｏアダプタ３２０〜３２１は、データ処理システム３００と、例えばデータ処理システム３００に対するクライアントである他のネットワーク・コンピュータなどの入出力装置との間のインターフェースを提供する。
【００３０】
さらなるＰＣＩホスト・ブリッジ３２２が、さらなるＰＣＩバス３２３のためのインターフェースを提供する。ＰＣＩバス３２３は、複数のＰＣＩ  Ｉ／Ｏアダプタ３２８〜３２９に接続している。ＰＣＩ  Ｉ／Ｏアダプタ３２８〜３２９は、ＰＣＩ間ブリッジ３２４、ＰＣＩバス３２６、ＰＣＩバス３２７、Ｉ／Ｏスロット３７２、およびＩ／Ｏスロット３７３を通じてＰＣＩバス３２３に接続している。ＰＣＩ間ブリッジ３２４は、ＰＣＩバス３２６およびＰＣＩバス３２７に対するインターフェースを提供する。ＰＣＩ  Ｉ／Ｏアダプタ３２８〜３２９は、Ｉ／Ｏスロット３７２および３７３にそれぞれ設置される。このように、例えばモデムまたはネットワーク・アダプタなどの追加のＩ／Ｏ装置は、ＰＣＩ  Ｉ／Ｏアダプタ３２８〜３２９を通じてサポートされてもよい。その結果、データ処理システム３００は、複数のネットワーク・コンピュータに対する接続が可能となる。
【００３１】
メモリ・マッピングされたグラフィックス・アダプタ３４８が、Ｉ／Ｏスロット３７４に挿入されて、ＰＣＩバス３４４、ＰＣＩ間ブリッジ３４２、ＰＣＩバス３４１、およびＰＣＩホスト・ブリッジ３４０を通じてＩ／Ｏバス３１２に接続している。ハード・ディスク・アダプタ３４９が、ＰＣＩバス３４５に接続しているＩ／Ｏスロット３７５に設置されてもよい。次に、このバスはＰＣＩ間ブリッジ３４２に接続しており、ＰＣＩ間ブリッジ３４２は、ＰＣＩバス３４１によってＰＣＩホスト・ブリッジ３４０に接続している。
【００３２】
ＰＣＩホスト・ブリッジ３３０は、Ｉ／Ｏバス３１２に接続するためにＰＣＩバス３３１に対するインターフェースを提供する。ＰＣＩ  Ｉ／Ｏアダプタ３３６は、Ｉ／Ｏスロット３７６に接続し、これは、ＰＣＩバス３３３によってＰＣＩ間ブリッジ３３２に接続する。ＰＣＩ間ブリッジ３３２は、ＰＣＩバス３３１に接続している。このＰＣＩバスは、ＰＣＩホスト・ブリッジ３３０をサービス・プロセッサ・メールボックス・インターフェースおよびＩＳＡバス・アクセス・パススルー論理３９４と、ＰＣＩ間ブリッジ３３２とにも接続している。サービス・プロセッサ・メールボックス・インターフェースおよびＩＳＡバス・アクセス・パススルー論理３９４は、ＰＣＩ／ＩＳＡブリッジ３９３宛てのＰＣＩアクセスを転送する。ＮＶＲＡＭストレージ３９２は、ＩＳＡバス３９６に接続している。サービス・プロセッサ３３５は、そのローカルＰＣＩバス３９５を通じてサービス・プロセッサ・メールボックス・インターフェースおよびＩＳＡバス・アクセス・パススルー論理３９４に接続している。サービス・プロセッサ３３５は、複数のＪＴＡＧ／Ｉ２Ｃバス３３４を介してプロセッサ３０１〜３０４にも接続している。ＪＴＡＧ／Ｉ２Ｃバス３３４は、ＪＴＡＧ／スキャン・バス（ＩＥＥＥ１１４９．１参照）と、フィリップスのＩ２Ｃバスとの組み合わせである。しかしながら、代わりに、ＪＴＡＧ／Ｉ２Ｃバス３３４は、フィリップスのＩ２Ｃバス単体またはＪＴＡＧ／スキャン・バス単体に取って代わられてもよい。ホスト・プロセッサ３０１，３０２，３０３，および３０４のすべてのＳＰ‐ＡＴＴＮ信号は、共にサービス・プロセッサ３３５の割り込み入力信号に結合する。サービス・プロセッサ３３５は、自身のローカル・メモリ３９１を有し、ハードウェアＯＰパネル３９０に対するアクセス権を有する。
【００３３】
データ処理システム３００に最初に電源が投入されると、サービス・プロセッサ３３５は、ＪＴＡＧ／Ｉ２Ｃバス３３４を使用して、システム（ホスト）プロセッサ３０１〜３０４、メモリ・コントローラ／キャッシュ３０８、およびＩ／Ｏブリッジ３１０に対して問い合わせを行う。このステップが完了すると、サービス・プロセッサ３３５は、データ処理システム３００の在庫および接続形態を理解する。さらに、サービス・プロセッサ３３５は、ホスト・プロセッサ３０１〜３０４、メモリ・コントローラ／キャッシュ１０８、およびＩ／Ｏブリッジ３１０に対して問い合わせを行うことによってわかるすべての要素に対して、組み込み自己診断テスト（Ｂｕｉｌｔ‐Ｉｎ‐Ｓｅｌｆ  Ｔｅｓｔｓ（ＢＩＳＴ））、基本検証テスト（Ｂａｓｉｃ  Ａｓｓｕｒａｎｃｅ  Ｔｅｓｔ（ＢＡＴ））、およびメモリ・テストを実行する。ＢＩＳＴ、ＢＡＴ、およびメモリ・テスト中に検出された障害に関するあらゆるエラー情報は、サービス・プロセッサ３３５によって収集およびレポートされる。
【００３４】
ＢＩＳＴ、ＢＡＴ、およびメモリ・テスト中に障害があるとわかった要素を取り除いた後でも、システム・リソースの有意な／有効な構成が依然として可能である場合、データ処理システム３００は、実行可能なコードをローカル（ホスト）メモリ３６０〜３６３へ引き続きロードすることができる。その後、サービス・プロセッサ３３５は、ホスト・プロセッサ３０１〜３０４を解放して、ローカル・メモリ３６０〜３６３へロードされたコードを実行する。ホスト・プロセッサ３０１〜３０４がデータ処理システム３００内の各オペレーティング・システムからコードを実行している間に、サービス・プロセッサ３３５は、エラーを監視およびレポートするモードに入る。サービス・プロセッサ３３５によって監視される項目の種類には、例えば、冷却ファンの速度および動作、温度センサ、電源調整器、ならびに、プロセッサ３０１〜３０４、ローカル・メモリ３６０〜３６３、およびＩ／Ｏブリッジ３１０によってレポートされた回復可能および回復不可能なエラーが含まれる。
【００３５】
サービス・プロセッサ３３５は、データ処理システム３００において監視されたすべての項目に関連したエラー情報を保管及びレポートする。さらに、サービス・プロセッサ３３５は、エラーの種類および定義された閾値に基づいてアクションを取る。例えば、サービス・プロセッサ３３５は、プロセッサのキャッシュ・メモリに関する過剰な回復可能エラーに注目し、これが深刻な障害の前兆であると判断してもよい。この判断に基づいて、サービス・プロセッサ３３５は、現在実行中のセッションおよび将来の初期プログラム・ロード（Ｉｎｉｔｉａｌ  Ｐｒｏｇｒａｍ  Ｌｏａｄ（ＩＰＬ））中のデコンフィグレーション（ｄｅｃｏｎｆｉｇｕｒａｔｉｏｎ）のために、当該リソースをマーク付けしてもよい。ＩＰＬは、「ブート」又は「ブートストラップ」と称されることもある。
【００３６】
データ処理システム３００は、様々な市販のコンピュータ・システムを使用して実施されてもよい。例えば、データ処理システム３００は、インターナショナル・ビジネス・マシーンズ社から入手可能なＩＢＭ  ｅＳｅｒｖｅｒ  ｉＳｅｒｉｅｓ（商標）  Ｍｏｄｅｌ  ８４０システムを使用して実施されてもよい。そのようなシステムは、同じくインターナショナル・ビジネス・マシーンズ社から入手可能なＯＳ／４００（登録商標）オペレーティング・システムを使用して、論理パーティショニングをサポートしてもよい。
【００３７】
図３に示されたハードウェアが変更可能であることを当業者は理解するだろう。例えば、光ディスク・ドライブなどの他の周辺装置も、図示のハードウェアに加えて、またはそれに代えて使用されてもよい。図示の例は、本発明に対するアーキテクチャ上の制限を暗示するものではない。
【００３８】
次に、図４を参照すると、本発明が実施されるであろう例示の論理パーティション化プラットフォームのブロック図が示されている。論理パーティション化プラットフォーム４００におけるハードウェアは、例えば、図３におけるデータ処理システム３００として実施されてもよい。論理パーティション化プラットフォーム４００は、パーティション化されたハードウェア４３０、オペレーティング・システム４０２，４０４，４０６，４０８およびパーティション管理ファームウェア４１０を含む。オペレーティング・システム４０２，４０４，４０６，および４０８は、単一のオペレーティング・システムの複数のコピーまたは複数の異機種オペレーティング・システムであってもよく、それらは論理パーティション化プラットフォーム４００において同時に実行される。これらのオペレーティング・システムは、ハイパーバイザなどのパーティション管理ファームウェアとインターフェースをとるように設計されたＯＳ／４００を使用して実施されてもよい。ＯＳ／４００（登録商標）は、これらの例示の実施の形態において一例として使用される。
【００３９】
当然ながら、特定の実施によっては、ＡＩＸ（登録商標）およびＬｉｎｕｘなどの他の種類のオペレーティング・システムを使用してもよい。オペレーティング・システム４０２，４０４，４０６，および４０８は、パーティション４０３，４０５，４０７および４０９にある。
【００４０】
ハイパーバイザ・ソフトウェアは、パーティション管理ファームウェア４１０を実施するために使用されてもよいソフトウェアの一例であり、インターナショナル・ビジネス・マシーンズ社から入手可能である。ファームウェアは、例えば、読み出し専用メモリ（ＲＯＭ）、プログラム可能ＲＯＭ（ＰＲＯＭ）、消去可能プログラム可能ＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラム可能ＲＯＭ（ＥＥＰＲＯＭ）、および不揮発性ランダム・アクセス・メモリ（不揮発性ＲＡＭ）などの、無電力でも内容を保持するメモリ・チップに記憶された「ソフトウェア」である。
【００４１】
加えて、これらのパーティションは、パーティション・ファームウェア４１１，４１３，４１５，および４１７も含む。パーティション・ファームウェア４１１，４１３，４１５，および４１７は、初期ブート・ストラップ・コード、ＩＥＥＥ‐１２７５規格オープン・ファームウェア、およびインターナショナル・ビジネス・マシーンズ社から入手可能であるランタイム・アブストラクション・ソフトウェア（ＲＴＡＳ）を使用して実施されてもよい。パーティション４０３，４０５，４０７，および４０９がインスタンス化されると、パーティション管理ファームウェア４１０によってブート・ストラップ・コードのコピーがパーティション４０３，４０５，４０７，および４０９にロードされる。その後、制御はブート・ストラップ・コードへ転送され、続いて、ブート・ストラップ・コードは、オープン・ファームウェアおよびＲＴＡＳをロードする。その後、パーティションに関連または割り当てられたプロセッサは、パーティションのメモリへディスパッチされて、パーティション・ファームウェアを実行する。
【００４２】
パーティション化されたハードウェア４３０は、複数のプロセッサ４３２〜４３８と、複数のシステム・メモリ・ユニット４４０〜４４６と、複数の入出力（Ｉ／Ｏ）アダプタ４４８〜４６２と、ストレージ・ユニット４７０とを含む。プロセッサ４３２〜４３８、メモリ・ユニット４４０〜４４６、ＮＶＲＡＭストレージ４９８、およびＩ／Ｏアダプタ４４８〜４６２は、それぞれ、論理パーティション化プラットフォーム４００内の複数のパーティションのうちの１つに割り当てられてもよく、それは、オペレーティング・システム４０２，４０４，４０６，および４０８に対応する。
【００４３】
パーティション管理ファームウェア４１０は、パーティション４０３，４０５，４０７，および４０９のための数多くの機能およびサービスを行って、論理パーティション化プラットフォーム４００のパーティショニングを作成および強化する。パーティション管理ファームウェア４１０は、基礎となるハードウェアと同一の、ファームウェアが実施する仮想マシンである。よって、パーティション管理ファームウェア４１０は、論理パーティション化プラットフォーム４００のすべてのハードウェア・リソースを仮想化することによって、独立したオペレーティング・システム画像４０２，４０４，４０６，および４０８を同時に実行することができる。
【００４４】
サービス・プロセッサ４９０を使用して、パーティションのプラットフォーム・エラーの処理などの様々なサービスを提供してもよい。さらに、これらのサービスは、サービス・エージェントとして機能して、インターナショナル・ビジネス・マシーンズ社などのベンダーにエラーをレポートしてもよい。互いに異なるパーティションの動作を、ハードウェア管理コンソール４８０などのハードウェア管理コンソールを通じて制御してもよい。ハードウェア管理コンソール４８０は、互いに異なるパーティションに対するリソースの再割り当てを含む様々な機能をシステム管理者が行いうる、独立したデータ処理システムである。
【００４５】
本発明の局面は、クライアント・データ処理システムを主に構築および管理するための、コンピュータによる実施方法、装置、およびコンピュータ使用可能なプログラム・コードを提供する。特に、本発明の局面は、ネットワーク・サーバを使用して、構成情報を機能させる必要がある、動的にカスタマイズ可能なコンピュータ・システムに対して、均一の構成を与えるものである。この均一な構成は、例えば、ＩＰ構成などといった、ハードウェア・リソースの物理的および仮想および他のオペレーティング・システム固有の構成の詳細を含む、クライアントについての一切を定義する。説明のための例において、ネットワーク・サーバを使用して、構成を統一して構成をネットワークに分配可能なようにすることによって、管理システムが複雑になることを緩和する。このように、クライアントは、適切なハードウェア、オペレーティング・システム、およびシステム固有のアプリケーションおよび構成情報と共に自動的に構築される。
【００４６】
次に図５を参照すると、本発明の例示的な一実施の形態に係る、クライアントを構成する際に使用される要素が示されている。本例において、サーバ５００を使用して、クライアント・データ処理システム５０２を構成する。本例において、サーバ５００は、図２のデータ処理システム２００を使用して実施されてもよい。
【００４７】
クライアント・データ処理システム５０２は、図３のデータ処理システム３００を使用して実施されてもよい。サーバ５００は、クライアント・データ処理システム５０２のためのハードウェアおよびソフトウェア構築を行うために使用される数多くのリソースを含む。これらのリソースには、クライアント構成ファイル５０４と、エージェント５０６と、導入アプリケーション５０８と、ハードウェア構成データベース５１０と、ソフトウェア構成データベース５１２と、アプリケーション５１４と、オペレーティング・システム５１６とが含まれる。クライアント・データ処理システム５０２の実際のハードウェア構築は、ハードウェア構築システム５１８を使用して行われる。
【００４８】
ユーザがデータ処理システムを構築したい場合には、データ処理システムについての特定の構成、そのようなクライアント・データ処理システム５０２は、プロファイル内か、またはクライアント構成ファイル・データベース５０４内の他のファイル内で指定されていてもよい。これらのクライアント構成ファイルは、クライアント・データ処理システム５０２についての特定のハードウェア、オペレーティング・システム、およびソフトウェア構成を指定している。これらのクライアント構成ファイルは、当該処理システム用に具体的に定義されてもよいし、標準化された構成ファイルが、最小限のリソースを有するデータ処理システム用に設定されてもよい。ユーザは、クライアント構成ファイルをクライアント構成ファイル・データベース５０４から選択するか、またはクライアント構成ファイル・データベース５０４内にそれを作成して、サーバ５００がクライアント・データ処理システム５０２を構築するのに使用してもよい。
【００４９】
クライアント構成ファイル・データベース５０４から特定のクライアント構成ファイルが選択される場合には、サーバ５００は、ハードウェア構成データベース５１０からのハードウェア構成ファイルを使用してハードウェア構築を開始する。このデータベース内の情報を使用して、本例のクライアント・データ処理システム５０２に含まれるべきハードウェアを指定する。このハードウェアの指定は、数多くの異なるやり方で、クライアント・データ処理システム５０２内のハードウェアを構築するために使用されてもよい。
【００５０】
例えば、この情報をハードウェア構築システム５１８へ送って、利用可能なハードウェア・リソースのプールからクライアント・データ処理システム５０２用のハードウェアを設定してもよい。ハードウェア構築システム５１８は、例えば、サーバ５００から離れた場所にあるコンピュータ組み立て設備であってもよい。この組み立て設備へ送られた情報によって、ハードウェア構成データベース５１０からのハードウェア構成ファイルで指定されたハードウェアと共に、データ処理システムが組み立てられて、クライアント・データ処理システム５０２が形成される。そのような実施は、既存のシステムが存在しない場合には有用である。クライアント・データ処理システム５０２が既存のデータ処理システムである場合には、ハードウェア構成データベース５１０からのハードウェア構成情報をハードウェア構築システム５１８へ送って、論理パーティションを設定するなどして、このハードウェアを使用のために構築してもよい。この種の実施によって、ハードウェア構築は、クライアント・データ処理システム５０２内のハードウェアにパーティションを切ること、または当該ハードウェアを互いに異なるパーティションに割り当てることを伴う。この種の実施において、ハードウェア構築システム５１８は、ハードウェア管理コンソールによって通常行われる動作を行うのに必要なハードウェアおよびソフトウェアを含む。このように、ハードウェア構築システム５１８は、クライアント・データ処理システム５０２と通信して、ハードウェアを互いに異なるパーティションに割り当てる。
【００５１】
この種の実施において、ハードウェア構築システム５１８は、サーバ５００の一部に接続されるか、またはサーバ５００の一部であってもよく、または、このデータ処理システムから離れた場所にあってもよい。
【００５２】
さらに、クライアント・データ処理システム５０２のハードウェア構築には、クライアント・データ処理システム５０２の初期化の際に、このクライアント・データ処理システムを修正して、エージェント５０６からエージェント５２０をロードすることを伴う。例えば、ブートストラップ・プロトコル（ＢＯＯＴＰ）によって、ホストは、システムがブートされるときにファイルをロードすることができる。これらの例において、ファイルはクライアント・データ処理システム５０２のためのものである。エージェント５２０がサーバ５００から取り出され、サーバ５００はエージェント５０６をクライアント・データ処理システムへのダウンロード用に保持する。特定の実施によっては、エージェント５２０はクライアント・データ処理システム５０２内のローカル・ストレージ装置上にある場合もある。サーバ５００から取り出されると、エージェント５３０は、簡易ファイル転送プロトコル（ＴＦＴＰ）を使用して転送されてもよい。
【００５３】
これらの図示の例において、エージェント５２０は、１０メガバイトなどといった小さなファイルである。エージェント５２０は、サーバ５００上の導入アプリケーション５２２から導入アプリケーションをダウンロードするための環境を確立するのに必要なコードを含む。エージェント５２０によって提供されるこの環境には、導入アプリケーション５２２を取り出すことができ、かつ、このアプリケーションが他のファイルを取り出してこれらのファイルをクライアント・データ処理システム５０２上に導入および構築できるのに充分な装置を伴う基本オペレーティング・システムが含まれる。エージェント５２０は、導入アプリケーション５２２のためのオペレーティング環境を確立して、クライアント・データ処理システム５０２のためにオペレーティング・システムおよびアプリケーションの構築を行う。エージェント５０２は、オペレーティング・システム・カーネル・バイナリ画像およびいくつかのデバイス・ドライバを含む。これらの要素は、導入されるべきオペレーティング・システムをブートするのに必要なソフトウェアの最小限のセットを表す。また、エージェントは、任意の他の必要な命令を含んでもよい。これらの説明のための例において、エージェント５２０は、ネットワーク導入を行うために必要な環境を構築するための命令をも含む。代わりに、エージェント５２０を使用して、シン・クライアント（ｔｈｉｎ  ｃｌｉｅｎｔ）としてマシンをブートしてもよい。この種の実施において、クライアントは、ディスク上に常駐する導入なしで、ネットワーク・オペレーティング・システムと共にブートされる。
【００５４】
これらの例において、単一のエージェントおよび導入アプリケーションのみが示されている。クライアント・データ処理システム５０２が論理パーティション化データ処理システムの形態を取る場合には、エージェントを各パーティションにダウンロードする。加えて、各エージェントは、導入アプリケーションをダウンロードする。各パーティションにダウンロードされたエージェントは、特定のパーティション上で実行することになっているオペレーティング・システムによって異なってもよい。
【００５５】
導入アプリケーション５２２は、クライアント・データ処理システム５０２にダウンロードされる。導入アプリケーション５２２がクライアント・データ処理システム５０２で一旦実行すると、サーバ５００は、導入アプリケーション５２２を使用して、ファイルのダウンロードをクライアント・データ処理システム５０２へ向ける。ダウンロードされた特定のファイルは、クライアント構成ファイル・データベース５０４によって指定される。サーバ５００は、当該ソフトウェアにとって適切なオペレーティング・システム、アプリケーション、および構成を、クライアント構成ファイルを使用して選択する。これらの例において、これらのファイルは、サーバ５００上にあってもよいし、サーバ５００によってアクセス可能なデータ処理システム上にあってもよい。
【００５６】
導入アプリケーション５２２は、オペレーティング・システム・ファイルをオペレーティング・システム・データベース５１６から受信する。これらのオペレーティング・システム・ファイルは、オペレーティング・システム・データベース５１６が、オペレーティング・システムをクライアント・データ処理システム５０２上に導入するために使用される。クライアント・データ処理システム５０２が論理パーティション化データ処理システムである場合には、導入アプリケーション５２２は、本アプリケーションが実行するパーティション用に指定されたオペレーティング・システムを導入する。他の導入アプリケーションは、他のパーティション上で実行し、当該パーティション用に指定された特定のオペレーティング・システム用のオペレーティング・システム・ファイルをダウンロードする。
【００５７】
オペレーティング・システムが導入された後、導入アプリケーション５２２は、アプリケーション・データベース５１４からアプリケーション・ファイルを受信する。これらのアプリケーション・ファイルを使用して、クライアント・データ処理システム５０２用のソフトウェア・アプリケーションを導入する。このシステム上で使用するための特定のアプリケーションは、クライアント・データ処理システム５０２用のクライアント構成ファイルにおいて指定されている。アプリケーションが導入された後、導入アプリケーション５２２は、ソフトウェア構成データベース５１２からソフトウェア構成ファイルを受信する。この構成ファイル内の情報を使用して、クライアント・データ処理システム５０２上にソフトウェアを構築する。ソフトウェアの構築には、例えば、クライアント・データ処理システム５０２上に導入されたオペレーティング・システムおよび互いに異なるアプリケーションが必要とするあらゆる設定を変更することが含まれる。例えば、オペレーティング・システムで使用するデフォルトまたは主要言語を、クライアント構成ファイル５０４における仕様によっては変更する場合もある。これらの特定の変更は、サーバ５００から受信されたソフトウェア構成情報内で指定されている。
【００５８】
構築が完了した後、導入アプリケーション５２２は、行ったアクションおよびアクションの成功を詳述するレポートをサーバ５００へ送る。さらに、クライアント・データ処理システム５０２の導入および構築中に、導入アプリケーション５２２は、サーバ５００へ更新および他のステータス情報を送ってもよい。このように、管理者は、サーバ５００に接続して、クライアント・データ処理システム５０２の現在のステータスをその構築中に閲覧してもよい。
【００５９】
クライアント・データ処理システム５０２を構築するのに使用されるこの特定の処理を使用して、ネットワーク内で構成可能なハードウェアを伴う任意のデータ処理システムを構築してもよい。さらに、この構築は、他のクライアント・データ処理システムの構築と同時に生じてもよい。このシステムは、クライアント・データ処理システムへ全画像を送るものではない。その結果、特定のデータ処理システム毎のカスタマイズされた画像が今度は必要となる。代わりに、互いに異なるファイルが組み合わされて、管理者またはユーザによって定義されたクライアント構成ファイルに基づいて構成が選択される。特定のクライアント・データ処理システムを構築する際に、管理者は、先に定義したクライアント構成ファイルを選択してもよい。管理者は、クライアント・データ処理システム上において、ハードウェア・リソースと一致するクライアント構成ファイルを見つける。この処理は、既に組み立てたクライアント・データ処理システムを構成しようとする場合に使用されてもよい。
【００６０】
次に図６を参照すると、本発明の例示的な一実施の形態に係る、クライアント・データ処理システムのためのクライアント構成ファイルを選択するための処理のフローチャートが示されている。図６に示す処理は、図５のサーバ５００などのサーバにおいて実施されてもよい。サーバ５００は、これらの例においてデータ処理システム上で実行する処理である。
【００６１】
処理は、クライアント・データ処理システム上のハードウェア・リソースを識別することによって開始する（ステップ６００）。このステップは、数多くの互いに異なるやり方で実施されてもよい。例えば、システム管理者または他のユーザが、データ処理システム上にあるハードウェア・リソースに入ってもよい。代わりに、クライアント・データ処理システム上のエージェントまたは処理が、データ処理システムに問い合わせて存在するハードウェアを識別し、当該情報をサーバへ返してもよい。次に、処理は、クライアント構成ファイルを選択する（ステップ６０２）。クライアント・データ処理システム上で識別されたハードウェアとクライアント構成ファイルとの間に一致が存在するかどうかについて判断がなされる（ステップ６０４）。一致が存在する場合には、クライアント構成ファイルは、クライアント構成ファイルのリストに追加される（ステップ６０６）。
【００６２】
このステップ６０２，６０４，および６０６の検索によって、特定のクライアント・データ処理システム用に使用可能な任意のクライアント構成ファイルを識別する。その結果、クライアント・データ処理システム上に現在存在するよりも少ないハードウェア・リソースを必要とするクライアント構成を使用してもよい。例えば、特定のクライアント・データ処理システムが８つのプロセッサを含み、６つのプロセッサを使用するクライアント構成ファイルがある場合には、そのクライアント構成ファイルを、クライアント・データ処理システムを構築するために使用してもよいものとして識別する。
【００６３】
その後、さらに未処理のクライアント構成ファイルが存在するかどうかについての判断がなされる（ステップ６０８）。さらに未処理のクライアント構成ファイルが存在する場合には、処理はステップ６０２へ戻る。そうでない場合には、処理は、識別されたクライアント構成ファイルのリストを提示する（ステップ６１０）。提示されるクライアント構成ファイルのリストの選択が受信される（ステップ６１２）。選択されたクライアント構成ファイルは、クライアント・データ処理システムに関連付けられ（ステップ６１４）、その後、処理は終了する。
【００６４】
ステップ６０４で一致が存在しない場合には、処理はステップ６０８へ進み、さらに未処理のクライアント構成ファイルが存在するかどうかについての判断もなされる。この処理により、ユーザは、特定のクライアント・データ処理システムを構築するために使用することができるクライアント構成ファイルのセットまたはデータベースから、クライアント構成ファイルを選択することができる。代わりに、ユーザがクライアント・データ処理システム用に所望の特定の構成を定義してもよい。この定義によって、本発明の局面は、ユーザの介入をさらに必要とすることなく、クライアント・データ処理システムの構築を主に管理する。
【００６５】
このように、クライアント・データ処理システムを構成するために、ユーザは、クライアント・データ処理システムに物理的に存在することも、ハードウェア管理コンソールを使用することも必要ない。よって、ユーザは、クライアント・データ処理システム上のリソースのすべての導入および構築を監視および監督しなければならないことを回避する。
【００６６】
次に図７を参照すると、本発明の例示的な一実施の形態に係る、クライアント・データ処理システムを構築するための処理のフローチャートが示されている。図７に示す処理は、図５のサーバ５００などのサーバ処理において実施されてもよい。
【００６７】
処理は、エージェントに対する要求を検出することによって開始する（ステップ７００）。この要求は、最初に初期化する際にデータ処理システムによって生成される。エージェントを使用して、クライアント・データ処理システム上でのソフトウェアの導入および構築を可能にする環境を設定する。クライアント・データ処理システムの構成が識別される（ステップ７０２）。これらの例において、クライアントは、いずれかのＩＰアドレスによって識別される。代わりに、クライアント・データ処理システムは、ＢＯＯＴＰプロトコルにおいて識別されたようなハードウェア・アドレスに基づいて識別されてもよい。その後、エージェントが、エージェントのセットから選択される（ステップ７０４）。特定のエージェントは、これらの例におけるクライアント・データ処理システム上に導入されるべきオペレーティング・システムに左右される。その後、エージェントは、クライアント・データ処理システムへ送られる（ステップ７０６）。このエージェントは、簡易ファイル転送プロトコルを使用して送られる。その後、処理は、クライアント・データ処理システムの導入アプリケーションに対する要求を検出する（ステップ７０８）。次に、導入アプリケーションがクライアント・データ処理システムからダウンロードされる（ステップ７１０）。
【００６８】
その後、オペレーティング・システム・ファイルが導入アプリケーションへ送られる（ステップ７１２）。これらのオペレーティング・システム・ファイルは、クライアント・データ処理システム用の構成によっては、より多くのオペレーティング・システムのうちの１つのためのものであってもよい。宛先によって選択された特定のオペレーティング・システム・ファイルは、クライアント構成ファイル内で作成される。次に、オペレーティング・システムがクライアント・データ処理システムにうまく導入されたかどうかについての判断がなされる（ステップ７１４）。オペレーティング・システムがうまく導入されていれば、アプリケーション・ファイルが導入アプリケーションへ送られる（ステップ７１６）。
【００６９】
アプリケーションがうまく導入されたかどうかについての判断がなされる（ステップ７１８）。アプリケーションがうまく導入されていれば、ソフトウェア構成ファイルが導入アプリケーションへ送られて、ソフトウェアおよび他の設定が構築される（ステップ７２０）。その後、ソフトウェアがうまく構築されたかどうかについての判断がなされる（ステップ７２２）。ソフトウェアがうまく構成されていれば、作成された互いに異なる構成を詳述するレポートが生成され（ステップ７２４）、その後、処理は終了する。
【００７０】
ステップ７１４，７１８，および７２２を再び参照すると、ある時点で導入がうまくいかないか、または構築がうまくいかない場合には、エラー・レポートが作成され（ステップ７２４）、その後、処理は終了する。
【００７１】
図８を参照すると、本発明の例示的な一実施の形態に係る、クライアント・データ処理システムを構築するための処理のフローチャートが示されている。図８に示す処理は、図５の導入アプリケーション５２２などの導入アプリケーションにおいて実施されてもよい。データ処理システムが論理パーティション化データ処理システムである場合には、各パーティションは、当該パーティション用の特定のオペレーティング・システムおよびアプリケーションを構築するための導入アプリケーションのインスタンスを有する。
【００７２】
処理は、クライアント・データ処理システムの識別をサーバへ送ることによって開始する（ステップ８００）。その後、パーティションに関するオペレーティング・システム・ファイルが受信される（ステップ８０２）。オペレーティング・システムが、クライアント・データ処理システム上に導入される（ステップ８０４）。次に、オペレーティング・システムがうまく導入されたかどうかについての判断がなされる（ステップ８０６）。オペレーティング・システムの導入が成功した場合には、処理は、成功の肯定応答をサーバへ送る（ステップ８０８）。
【００７３】
その後、処理は、アプリケーション・ファイルをサーバから受信する（ステップ８１０）。その後、処理は、パーティション上にアプリケーションを導入する（ステップ８１２）。アプリケーションの導入が成功したかどうかについての判断がなされる（ステップ８１４）。導入が成功した場合には、成功の肯定応答がサーバへ送られて（ステップ８１６）、ソフトウェア構成ファイルが受信される（ステップ８１８）。その後、クライアント・データ処理システム上のパーティション上にソフトウェアが構築される（ステップ８２０）。パーティションに対するこの構築には、パーティションに対して導入されたオペレーティング・システムまたはアプリケーションもしくはその両方に対する変更などの変更が含まれる。その後、クライアント・データ処理システム上のソフトウェアの構築が成功したかどうかについての判断がなされる（ステップ８２２）。構築が成功すれば、成功の肯定応答がサーバへ送られ（ステップ８２４）、その後、処理は終了する。これらの説明のための例において、ソフトウェアの構築は、ソフトウェアのカスタマイズである。ソフトウェアの構築は、オペレーティング・システム内またはアプリケーション内に存在するデフォルト設定をカスタマイズまたは変更してもよい。例えば、ウェブ・サーバ・アプリケーションがステップ８１２において導入されると、ユーザは、ウェブ・サーバ・アプリケーションがこの特定のクライアント・システム用の要件に従って所望の機能を行うように、予め配置した構成を本アプリケーションに対して与えたいと思う場合がある。
【００７４】
他の例として、ステップ８０４において導入されたオペレーティング・システムが英語の一次ユーザ・インターフェースを有している場合、ソフトウェア構成ファイルは、ユーザ・インターフェースに対してスペイン語で実行するように要求する場合がある。その結果、ソフトウェアのカスタマイズがステップ８２６において開始されて、この変更をオペレーティング・システムに対して行う。他の例として、導入されたオペレーティング・システムがネットワークの導入を行うために使用されるのとは異なるネットワーク・インターフェイスを有する場合、システムは、選択されたＴＣＰ／ＩＰ設定と共に構築されてもよい。
【００７５】
ステップ８０６，８１４，および８２２を再び参照して、構築または導入のいずれかが不成功だった場合には、エラーがサーバへ返されて（ステップ８２６）、その後、処理は終了する。
【００７６】
よって、本発明の局面は、クライアント・データ処理システムを構築するための改良されたコンピュータ実行方法、装置、およびコンピュータ使用可能なプログラム・コードを提供する。本発明の局面は、クライアント・データ処理システムを集中した場所から構築する機能を提供する。本発明の異なる処理によって、クライアント・データ処理システムにユーザが物理的に存在する必要性を回避する。加えて、ユーザは、クライアント・データ処理システム上にリソースを構築導入する必要がない。さらに、本発明の局面は、複数のクライアント・データ処理システムを管理および構築するための単一点を許容するものである。
【００７７】
図示の例は、複数の論理パーティションが存在するクライアント・データ処理システムの構築を示す。本発明の異なる局面を、単なる論理パーティション化データ処理システム以外の他の種類のデータ処理システムに適用してもよい。例えば、本発明の異なる局面を、ハードウェア型、アーキテクチャ、オペレーティング・システム型、およびソフトウェアなどの予め構築されたカスタマイズ可能なオプションを有する、予め作成されたデータ処理システムと共に使用してもよい。その結果、パーティション化されていないデータ処理システムが、論理パーティション化データ処理システムを使用してもよい。このように、本発明の局面は、ハードウェアおよびソフトウェアに関して、数多くの異なる種類のデータ処理システムのカスタマイズを提供する。
【００７８】
加えて、本発明の局面は、顧客に対するサービスとして提供されてもよい。サービスとして、サービス・プロバイダは、顧客用のクライアント・データ処理システムを構築するために、ハードウェア構成情報をハードウェア構築システムへ送ってもよい。その後、サービス・プロバイダは、クライアント・データ処理システムへ導入アプリケーションを送って、顧客によって選択または定義された構成に基づいて、クライアント・データ処理システムの構築を完了させる。導入アプリケーションの送信の開始は、顧客がクライアント・データ処理システムをネットワークに接続して、クライアント・データ処理システムに電源を投入することで生じる。サービス・プロバイダは、この種のサービスを有料で、もしくは顧客との販売または管理保守契約の一部として提供してもよい。
【００７９】
本発明は、完全にハードウェアによる実施の形態、完全にソフトウェアによる実施の形態、またはハードウェアおよびソフトウェア要素を両方含む実施の形態という形式を取ることができる。好ましい一実施の形態において、本発明はソフトウェアで実施され、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むが、これらに限定されない。
【００８０】
さらに、本発明は、コンピュータまたは任意の命令実行システムによって、またはこれと関連して使用するプログラム・コードを提供する、コンピュータ使用可能な、またはコンピュータ読み出し可能な媒体からアクセス可能なコンピュータ・プログラム製品の形式を取ることができる。本説明の目的のために、コンピュータ使用可能な、またはコンピュータ読み出し可能な媒体は、命令実行システム、装置、または機器によって、またはこれと関連して使用するプログラムを包含、記憶、通信、伝播、または搬送可能な任意の具体的な装置であってもよい。
【００８１】
本媒体は、電子的、磁気的、工学的、電磁的、赤外線、または半導体システム（または装置または機器）、もしくは伝播媒体であってもよい。コンピュータ読み出し可能な媒体の例には、半導体または固体メモリ、磁気テープ、着脱可能なコンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、固定磁気ディスク、および光学ディスクが含まれる。光学ディスクの現存の例には、コンパクト・ディスク‐読み出し専用メモリ（ＣＤ‐ＲＯＭ）、コンパクト・ディスク‐読み出し／書き込み（ＣＤ‐Ｒ／Ｗ）、およびＤＶＤが含まれる。
【００８２】
プログラム・コードを記憶または実行もしくはその両方を行うのに適したデータ処理システムは、システム・バスを通じて直接または間接にメモリ要素と結合される、少なくとも１つのプロセッサを含むことになる。メモリ要素は、プログラム・コードを実際に実行している間に使用されるローカル・メモリ、大容量ストレージ、および、実行中に大容量ストレージからコードを取り出さなければならない回数を減らすために何らかのプログラム・コードの一時的なストレージを提供するキャッシュ・メモリを含むことができる。
【００８３】
入出力またはＩ／Ｏ装置（キーボード、ディスプレイ、ポインティング・デバイスなどを含むが、それらに限定されない）が、直接または介在Ｉ／Ｏコントローラを通じて、システムに結合されてもよい。
【００８４】
ネットワーク・アダプタがシステムに結合されて、データ処理システムが、介在専用または公衆ネットワークを通じて他のデータ処理システムまたはリモート・プリンタまたはストレージ装置に結合されるようにしてもよい。モデム、ケーブル・モデム、およびイーサネット（登録商標）カードは、ネットワーク・アダプタの現在入手可能な種類のうちのいくつかに過ぎない。
【００８５】
本発明の説明は、例示および説明の目的のために提示したものであり、網羅的でもなく、開示された形式における本発明に限定するものでもない。数多くの変形および変更が問う業者にとって明らかだろう。本実施の形態は、本発明の原則、実際の適用を最もよく説明するため、また、予期される特定の使用に適切なように様々に修正を施した様々な実施の形態について本発明を当業者が理解できるように、選ばれかつ説明されたものである。
【図面の簡単な説明】
【００８６】
【図１】本発明の局面が実施されるであろうデータ処理システムのネットワークの実態図である。
【図２】本発明の局面が実施されるであろうデータ処理システムのブロック図である。
【図３】本発明が実施されるであろうデータ処理システムのブロック図である。
【図４】本発明の局面が実施されるであろう論理パーティション化プラットフォーム例のブロック図である。
【図５】本発明の例示的な一実施の形態に係る、クライアントを構成する際に使用される要素を示す図である。
【図６】本発明の例示的な一実施の形態に係る、クライアント・データ処理システムのためのクライアント構成ファイルを選択するための処理のフローチャートである。
【図７】本発明の例示的な一実施の形態に係る、クライアント・データ処理システムを構築するための処理のフローチャートである。
【図８】本発明の例示的な一実施の形態に係る、クライアント・データ処理システムを構築するための処理のフローチャートである。
【図１】
2009509255.tif 000003
【図２】
2009509255.tif 000004
【図３】
2009509255.tif 000005
【図４】
2009509255.tif 000006
【図５】
2009509255.tif 000007
【図６】
2009509255.tif 000008
【図７】
2009509255.tif 000009
【図８】
2009509255.tif 000010
【国際調査報告】
2009509255.tif 000011
2009509255.tif 000012
2009509255.tif 000013