(57)【特許請求の範囲】
【請求項１】
サーバにおける制御装置であって、前記サーバは少なくとも２つの中央処理ユニットＣＰＵ及び少なくとも２つのプラットフォーム・コントローラ・ハブＰＣＨを有し、前記ＰＣＨのそれぞれは前記ＣＰＵの少なくとも１つに接続され、当該制御装置は、
前記ＣＰＵのラベルを配置し、前記ＣＰＵの１つをマスタＣＰＵとしてマーク付けし、前記サーバが異常にスタートすると、正常なＣＰＵ又はマスタＣＰＵとして正常なＰＣＨに接続されるＣＰＵを配置するよう構成される配置ユニットであって、前記サーバが異常にスタートすることは、前記マスタＣＰＵ、前記マスタＣＰＵに接続されるＰＣＨ又は前記マスタＣＰＵに接続される前記ＰＣＨに接続されるＦｌａｓｈの例外により生じるベーシック・インプット／アウトプット・システムＢＩＯＳのスタートアップ例外を含む、配置ユニットと、
前記サーバが異常にスタートすると、前記サーバが再スタートすることをトリガし、前記正常なＣＰＵ又は前記マスタＣＰＵとして前記正常なＰＣＨに接続される前記ＣＰＵを配置するよう前記配置ユニットをトリガするよう構成される再スタートユニットと、
を有する制御装置。
【請求項２】
前記配置ユニットは、
前記少なくとも２つのＣＰＵのピンを配置し、前記ピンの値を配置することによって前記マスタＣＰＵとして前記ＣＰＵの１つを配置するよう構成されるピン配置ユニットと、
前記サーバのスタートアップ例外に関し、前記再スタートユニットにより送信された情報を受信し、前記正常なＣＰＵ又は前記マスタＣＰＵとして前記正常なＰＣＨに接続される前記ＣＰＵを配置するよう前記ピン配置ユニットをトリガするよう構成される情報受信ユニットと、
を有する、請求項１記載のサーバにおける制御装置。
【請求項３】
前記再スタートユニットは、
前記サーバが所定の時間内に異常にスタートしたか判断するよう構成される判断ユニットと、
前記サーバが異常にスタートしたと前記判断ユニットが判断すると、再スタートするよう前記サーバをトリガし、前記正常なＣＰＵ又は前記マスタＣＰＵとして前記正常なＰＣＨに接続される前記ＣＰＵを配置するよう前記配置ユニットをトリガするよう構成されるトリガユニットと、
を有する、請求項１又は２記載のサーバにおける制御装置。
【請求項４】
前記トリガユニットは、
前記サーバが異常にスタートすると、前記ＢＩＯＳに予め設定されるレジスタを利用することによって、再スタートするよう前記サーバをトリガするよう構成される第１トリガユニットと、
前記サーバの再スタート処理において、前記サーバを異常にスタートさせる例外情報が存在するか判断し、前記例外情報が存在するとき、前記正常なＣＰＵ又は前記マスタＣＰＵとして前記正常なＰＣＨに接続される前記ＣＰＵを配置するよう前記配置ユニットをトリガするよう構成される第２トリガユニットであって、前記例外情報は、前記ＢＩＯＳによって前記サーバが再スタートする前に記録されることがトリガされる情報である、第２トリガユニットと、
を有する、請求項３記載のサーバにおける制御装置。
【請求項５】
前記サーバは、ハードパーティショニング機能をサポートするサーバであり、
前記サーバにおける前記ＣＰＵのピンは、当該制御装置に接続される、請求項１乃至４何れか一項記載のサーバにおける制御装置。
【請求項６】
当該制御装置は、前記サーバのコンプレクス・プログラマブル・ロジカル・デバイスＣＰＬＤ又はフィールド・プログラマブル・ゲート・アレイＦＰＧＡにおいて実現される、請求項１乃至５何れか一項記載のサーバにおける制御装置。
【請求項７】
サーバ制御方法であって、当該方法はサーバに適用され、前記サーバは、少なくとも２つの中央処理ユニットＣＰＵ及び少なくとも２つのプラットフォーム・コントローラ・ハブＰＣＨを有し、前記ＰＣＨのそれぞれは前記ＣＰＵの少なくとも１つに接続され、当該方法は、
前記ＣＰＵのラベルを配置し、前記ＣＰＵの１つをマスタＣＰＵとしてマーク付けするステップと、
前記サーバが異常にスタートしたか判断し、前記サーバが異常にスタートした場合、例外情報を記録し、再スタートするよう前記サーバをトリガするステップであって、前記例外情報は、前記マスタＣＰＵ、前記マスタＣＰＵに接続されるＰＣＨ又は前記マスタＣＰＵに接続される前記ＰＣＨに接続されるＦｌａｓｈの例外により生じるベーシック・インプット／アウトプット・システムＢＩＯＳのスタートアップ例外を含む、トリガするステップと、
前記サーバの再スタート処理において、前記記録された例外情報に従って正常なＣＰＵ又は前記マスタＣＰＵとして正常なＰＣＨに接続されるＣＰＵを配置するステップと、
を有するサーバ制御方法。
【請求項８】
前記ＣＰＵのラベルを配置するステップは、前記ＣＰＵのピンを配置し、
前記マスタＣＰＵとして前記ＣＰＵの１つをマーク付けするステップは、前記ピンの値を配置することによって前記マスタＣＰＵとして前記ＣＰＵの１つを配置する、請求項７記載のサーバ制御方法。
【請求項９】
前記サーバが異常にスタートするか判断するステップは、
タイマを設定するステップであって、前記タイマの時間は前記サーバの監視のタイマ時間未満である、設定するステップと、
前記サーバのスタートアップ処理において、前記監視が前記タイマについて設定された時間内に無効にされない場合、前記サーバが異常にスタートしたと判断するステップと、
を有する、請求項７又は８記載のサーバ制御方法。
【請求項１０】
当該方法は、コンプレクス・プログラマブル・ロジカル・デバイスＣＰＬＤ又はフィールド・プログラマブル・ゲート・アレイＦＰＧＡによって実現される、請求項７乃至９何れか一項記載のサーバ制御方法。
【請求項１１】
前記再スタートするよう前記サーバをトリガするステップは、前記ＣＰＬＤ又は前記ＦＰＧＡに配置された再スタートレジスタを利用することによって、再スタートするよう前記サーバをトリガする、請求項１０記載のサーバ制御方法。
【請求項１２】
前記サーバは、ハードパーティショニング機能をサポートするサーバであり、前記サーバにおける前記ＣＰＵのピンは、前記ＣＰＬＤ又は前記ＦＰＧＡに接続される、請求項７乃至１１何れか一項記載のサーバ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報技術の分野に関し、特にサーバ制御方法及びサーバ制御装置に関する。
【背景技術】
【０００２】
サーバは、ネットワーク環境におけるハイパフォーマンスコンピュータであり、ネットワーク上の他のコンピュータ（クライアント）により送信されたサービスリクエストをリッスンし、対応するサービスを提供可能である。システムアーキテクチャによると、サーバは主として２つのカテゴリ、非ｘ８６サーバ及びＸ８６サーバに分けられる。Ｘ８６サーバはまた、コンプレクス・インストラクションセット・アーキテクチャサーバと呼ばれ、すなわち、一般にはＰＣサーバと呼ばれる。Ｘ８６サーバは、ＰＣシステムアーキテクチャに基づくサーバであり、ｘ８６インストラクションセットに互換的なＩｎｔｅｌプロセッサチップ又は他のプロセッサチップを利用する。
【０００３】
情報技術の更なる進展によって、サーバは、日常のＩＴ（Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｉｃａｌ、情報技術）アプリケーションにおいてますます重要になっており、サーバが担うサービスの数もまた増加している。サーバの例外又は故障は、通常はカスタマにとって極めて大きな損失をもたらす。従って、それが通常のサーバ又はキーアプリケーションサーバのためのものであるかを問わず、サーバのＲＡＳ（Ｒｅｌｉａｂｉｌｉｔｙ，Ａｖａｉｌａｂｉｌｉｔｙ  ａｎｄ  Ｓｅｒｖｉｃｅａｂｉｌｉｔｙ；信頼性、可用性及び保守性）機能がますます重要になる。
【０００４】
いわゆるＲＡＳ、すなわち、いわゆる信頼性、可用性及び保守性は、サーバの重要なインジケータである。サーバが高いＲＡＳ機能だけでなく、比較的高いコストパフォーマンス比もまた有することをどのように達成するかは、サーバ開発における主要な焦点である。特にミッドレンジ又はハイエンドサーバについて、完全なＲＡＳ機能は、サーバがハイエンドサーバであるか測定するための主要なインジケータである
通常のミッドレンジ若しくはハイエンドＸ８６サーバ又はよりハイエンドミッドレンジコンピュータについて、サーバは通常はハードパーティショニングをサポートすることが必要とされる。いわゆるハードパーティショニングは、１つのサーバを複数の完全に独立したサブサーバに分離することである。これらのサブサーバのそれぞれは、１つの完全なサーバシステムである。これらのサブサーバは、それら自身のＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ、ベーシック・インプット／アウトプット・システム）及びオペレーティングシステムを有し、それは一般に呼ばれる単一のサーバと同様である。例えば、１つの８ソケットＸ８６サーバは、２つの４ソケットサーバ又は４つの２ソケットサーバにハードパーティショニングされ、ハードパーティショニングによる分離により取得されるサーバは、独立に動作し、独立に電源オンされ、独立に電源オフされ、独立に管理できる。
【０００５】
一般に、Ｘ８６サーバは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理ユニット）、ＰＣＨ（Ｐｌａｔｆｏｒｍ  Ｃｏｎｔｒｏｌｌｅｒ  Ｈｕｂ、プラットフォーム・コントローラ・ハブ）、メモリ、ハードディスク及びカードなどの複数のコンポーネントを主として有する。ハードパーティショニング機能をサポートするＸ８６サーバについて、複数のＰＣＨチップが配置される必要がある。一般に、配置される必要があるＰＣＨチップの数は、システムによりサポートされるハードパーティションの数に依存して変わる。図１（ａ）は１つの８ソケットサーバのシステムフレームワークであり、図１（ｂ）は２つの４ソケットサーバにハードパーティショニングされる１つの８ソケットサーバのシステムフレームワークである。
【０００６】
図１（ａ）は独立した８Ｐモードを示す。ＣＰＵ１に接続されるＰＣＨはマスタＰＣＨであり、他のプロセッサに接続されるＰＣＨはスレーブＰＣＨである。スレーブＰＣＨは２つのワーキングモードを有し、（１）ＰＣＨは無効とされ、何れの機能も外部的に提供できない。（２）ＰＣＨは、一部の機能が利用可能な状態にあり、例えば、ＰＣＨ上のＵＳＢ又はＳＡＴＡ機能は依然として利用可能であるが、ＰＣＨはサーバ全体の管理機能に参加できない。
【０００７】
図１（ｂ）は、パーティションされた８Ｐモードを示す。上方にある４つのＣＰＵ及びＰＣＨが１つの独立したシステムを構成し、下方にある４つのＣＰＵ及びＰＣＨが１つの独立したシステムを構成する。２つのシステムの間のＱＰＩ（Ｑｕｉｃｋ  Ｐａｔｈ  Ｉｎｔｅｒｃｏｎｎｅｃｔ、クイック・パス・インターコネクト）接続が切断され、２つのシステムの間にはタスクインタラクションはない。
【０００８】
従来技術では、システムのＲＡＳは比較的大きな短所を有する。パーティショニングがサーバ上で実行されないとき、ＣＰＵ１に接続されるマスタＰＣＨが異常である場合（例えば、チップが損傷している）、又はマスタＰＣＨに接続されたＦＬＡＳＨに例外（例えば、チップが損傷しているか、又はＦｌａｓｈが配置されているＢＩＯＳが異常に消去されたなど）が発生した場合、サーバ全体は故障状態になる。この場合、サーバ上で実行されるサービスは中断される。
【発明の概要】
【０００９】
本発明の実施例は、サーバが異常にスタートしたとき、サービスの正常な処理が保証されることを実現するサーバ制御方法及びサーバ制御装置を提供する。
【００１０】
本発明の実施例は、サーバにおける制御装置であって、前記サーバは少なくとも２つの中央処理ユニットＣＰＵ及び少なくとも２つのプラットフォーム・コントローラ・ハブＰＣＨを有し、前記ＰＣＨのそれぞれは前記ＣＰＵの少なくとも１つに接続され、当該制御装置は、
前記ＣＰＵのラベルを配置し、前記ＣＰＵの１つをマスタＣＰＵとしてマーク付けし、前記サーバが異常にスタートすると、正常なＣＰＵ又はマスタＣＰＵとして正常なＰＣＨに接続されるＣＰＵを配置するよう構成される配置ユニットであって、前記サーバが異常にスタートすることは、前記マスタＣＰＵ、前記マスタＣＰＵに接続されるＰＣＨ又は前記マスタＣＰＵに接続される前記ＰＣＨに接続されるＦｌａｓｈの例外により生じるベーシック・インプット／アウトプット・システムＢＩＯＳのスタートアップ例外を含む、配置ユニットと、
前記サーバが異常にスタートすると、前記サーバが再スタートすることをトリガし、前記正常なＣＰＵ又は前記マスタＣＰＵとして前記正常なＰＣＨに接続される前記ＣＰＵを配置するよう前記配置ユニットをトリガするよう構成される再スタートユニットと、
を有する制御装置を提供する。
【００１１】
任意的な実現方式として、前記配置ユニットは、
前記少なくとも２つのＣＰＵのピンを配置し、前記ピンの値を配置することによって前記マスタＣＰＵとして前記ＣＰＵの１つを配置するよう構成されるピン配置ユニットと、
前記サーバのスタートアップ例外に関し、前記再スタートユニットにより送信された情報を受信し、前記正常なＣＰＵ又は前記マスタＣＰＵとして前記正常なＰＣＨに接続される前記ＣＰＵを配置するよう前記ピン配置ユニットをトリガするよう構成される情報受信ユニットと、
を有する。
【００１２】
任意的な実現方式として、前記再スタートユニットは、
前記サーバが所定の時間内に異常にスタートしたか判断するよう構成される判断ユニットと、
前記サーバが異常にスタートしたと前記判断ユニットが判断すると、再スタートするよう前記サーバをトリガし、前記正常なＣＰＵ又は前記マスタＣＰＵとして前記正常なＰＣＨに接続される前記ＣＰＵを配置するよう前記配置ユニットをトリガするよう構成されるトリガユニットと、
を有する。
【００１３】
任意的な実現方式として、前記トリガユニットは、
前記サーバが異常にスタートすると、前記ＢＩＯＳに予め設定されるレジスタを利用することによって、再スタートするよう前記サーバをトリガするよう構成される第１トリガユニットと、
前記サーバの再スタート処理において、前記サーバを異常にスタートさせる例外情報が存在するか判断し、前記例外情報が存在するとき、前記正常なＣＰＵ又は前記マスタＣＰＵとして前記正常なＰＣＨに接続される前記ＣＰＵを配置するよう前記配置ユニットをトリガするよう構成される第２トリガユニットであって、前記例外情報は、前記ＢＩＯＳによって前記サーバが再スタートする前に記録されることがトリガされる情報である、第２トリガユニットと、
を有する。
【００１４】
任意的な実現方式として、前記サーバは、ハードパーティショニング機能をサポートするサーバであり、前記サーバにおける前記ＣＰＵのピンは、当該制御装置に接続される。
【００１５】
任意的な実現方式として、当該制御装置は、前記サーバのコンプレクス・プログラマブル・ロジカル・デバイスＣＰＬＤ又はフィールド・プログラマブル・ゲート・アレイＦＰＧＡにおいて実現される。
【００１６】
本発明の実施例は更に、サーバ制御方法であって、当該方法はサーバに適用され、前記サーバは、少なくとも２つの中央処理ユニットＣＰＵ及び少なくとも２つのプラットフォーム・コントローラ・ハブＰＣＨを有し、前記ＰＣＨのそれぞれは前記ＣＰＵの少なくとも１つに接続され、当該方法は、
前記ＣＰＵのラベルを配置し、前記ＣＰＵの１つをマスタＣＰＵとしてマーク付けするステップと、
前記サーバが異常にスタートしたか判断し、前記サーバが異常にスタートした場合、例外情報を記録し、再スタートするよう前記サーバをトリガするステップであって、前記例外情報は、前記マスタＣＰＵ、前記マスタＣＰＵに接続されるＰＣＨ又は前記マスタＣＰＵに接続される前記ＰＣＨに接続されるＦｌａｓｈの例外により生じるベーシック・インプット／アウトプット・システムＢＩＯＳのスタートアップ例外を含む、トリガするステップと、
前記サーバの再スタート処理において、前記記録された例外情報に従って正常なＣＰＵ又は前記マスタＣＰＵとして正常なＰＣＨに接続されるＣＰＵを配置するステップと、
を有するサーバ制御方法を提供する。
【００１７】
任意的な実現方式として、前記ＣＰＵのラベルを配置するステップは、具体的には、前記ＣＰＵのピンを配置し、前記マスタＣＰＵとして前記ＣＰＵの１つをマーク付けするステップは、前記ピンの値を配置することによって前記マスタＣＰＵとして前記ＣＰＵの１つを配置する。
【００１８】
任意的な実現方式として、前記サーバが異常にスタートするか判断するステップは、
タイマを設定するステップであって、前記タイマの時間は前記サーバの監視のタイマ時間未満である、設定するステップと、
前記サーバのスタートアップ処理において、前記監視が前記タイマについて設定された時間内に無効にされない場合、前記サーバが異常にスタートしたと判断するステップと、
を有する。
【００１９】
任意的な実現方式として、当該方法は、コンプレクス・プログラマブル・ロジカル・デバイスＣＰＬＤ又はフィールド・プログラマブル・ゲート・アレイＦＰＧＡによって実現される。
【００２０】
任意的な実現方式として、前記再スタートするよう前記サーバをトリガするステップは、前記ＣＰＬＤ又は前記ＦＰＧＡに配置された再スタートレジスタを利用することによって、再スタートするよう前記サーバをトリガする。
【００２１】
任意的な実現方式として、前記サーバは、ハードパーティショニング機能をサポートするサーバであり、前記サーバにおける前記ＣＰＵのピンは、前記ＣＰＬＤ又は前記ＦＰＧＡに接続される。
【００２２】
本発明の実施例における制御方法及びサーバ制御装置によると、マスタＣＰＵ、マスタＣＰＵに接続されるＰＣＨ又はマスタＣＰＵに接続されるＰＣＨに接続されるＦｌａｓｈの例外のため、サーバが異常にスタートすると、ＣＰＵのピンが再配置され、サーバのマスタＣＰＵが変更され、ＢＩＯＳは、新たなマスタＰＣＨに接続されるＦｌａｓｈから命令を取得し、スタートアップ時に当該命令を実行する。スタートアップ例外がハードパーティショニングをサポートするサーバ上で発生すると、サーバは正常にスタート及び実行することが依然として保証でき、これにより、サーバの信頼性及び安定性を向上させることが実現される。従って、サーバ全体のＲＡＳが向上する。さらに、Ｆｌａｓｈの例外のためシステムが実行失敗するという問題が解決され、元のデュアルＢＩＯＳ設計方式がもはや利用されなくてもよく、これにより、サーバのＦｌａｓｈチップコストを低減する。
【図面の簡単な説明】
【００２３】
本発明の実施例又は従来技術における技術的手段をより明確に説明するため、以下において、実施例又は従来技術を説明するのに必要な添付図面が簡単に紹介される。明らかに、以下の説明における添付図面は本発明の単なるいくつかの実施例を示し、当業者は、創作的な努力なく、これらの添付図面から他の図面を依然として導出してもよい。
【図１（ａ）】図１（ａ）は、従来技術におけるサーバシステムの概略的な構成図である。
【図１（ｂ）】図１（ｂ）は、従来技術における他のサーバシステムの概略的な構成図である。
【図２】図２は、本発明の実施例によるサーバ制御装置の概略的な構成図である。
【図３】図３は、本発明の実施例による他の特定の実現方式におけるサーバ制御装置の概略的な構成図である。
【図４】図４は、本発明の実施例による８ソケットサーバの基本的なハードウェアの概略的な構成図である。
【図５】図５は、本発明の実施例によるサーバ制御方法の概略的なフローチャートである。
【発明を実施するための形態】
【００２４】
以下は、本発明の実施例における添付図面を参照して本発明の実施例における技術的方策を明確且つ完全に説明する。明らかに、説明される実施例は、本発明の実施例の全てでなく単に一部である。創作的な努力なく本発明の実施例に基づき当業者により取得される他の全ての実施例は、本発明の保護範囲内に属する。
【００２５】
図２を参照して、図２は、本発明の実施例によるサーバにおける制御装置２００の概略的な構成図であり、ここで、サーバは少なくとも２つのＣＰＵ及び少なくとも２つのＰＣＨを有し、ＰＣＨのそれぞれはＣＰＵの少なくとも１つに接続され、制御装置２００は、
ＣＰＵのラベルを配置し、ＣＰＵの１つをマスタＣＰＵとしてマーク付けし、サーバが異常にスタートすると、正常なＣＰＵ又はマスタＣＰＵとして正常なＰＣＨに接続されるＣＰＵを配置するよう構成される配置ユニット２０１であって、サーバが異常にスタートすることは、マスタＣＰＵ、マスタＣＰＵに接続されるＰＣＨ又はマスタＣＰＵに接続されるＰＣＨに接続されるＦｌａｓｈの例外により生じるＢＩＯＳのスタートアップ例外を含む、配置ユニット２０１と、
サーバが異常にスタートすると、サーバが再スタートすることをトリガし、正常なＣＰＵ又はマスタＣＰＵとして正常なＰＣＨに接続されるＣＰＵを配置するよう配置ユニット２０１をトリガするよう構成される再スタートユニット２０２と、
を有する。
【００２６】
任意的な実現方式として、図３に示されるように、配置ユニット２０１は、
少なくとも２つのＣＰＵのピンを配置し、ピンの値を配置することによってマスタＣＰＵとしてＣＰＵの１つを配置するよう構成されるピン配置ユニット２０１１と、
サーバのスタートアップ例外に関し、再スタートユニット２０２により送信された情報を受信し、正常なＣＰＵ又はマスタＣＰＵとして正常なＰＣＨに接続されるＣＰＵを配置するようピン配置ユニット２０１１をトリガするよう構成される情報受信ユニット２０１２と、
を有する。
【００２７】
任意的な実現方式として、再スタートユニット２０２は、
サーバが所定の時間内に異常にスタートしたか判断するよう構成される判断ユニット２０２１と、
サーバが異常にスタートしたと判断ユニット２０２１が判断すると、再スタートするようサーバをトリガし、正常なＣＰＵ又はマスタＣＰＵとして正常なＰＣＨに接続されるＣＰＵを配置するよう配置ユニット２０１をトリガするよう構成されるトリガユニット２０２２と、
を有する。
【００２８】
任意的な実現方式として、トリガユニット２０２２は、
サーバが異常にスタートすると、ＢＩＯＳに予め設定されるレジスタを利用することによって、再スタートするようサーバをトリガするよう構成される第１トリガユニット２０２２１と、
サーバの再スタート処理において、サーバを異常にスタートさせる例外情報が存在するか判断し、例外情報が存在するとき、正常なＣＰＵ又はマスタＣＰＵとして正常なＰＣＨに接続されるＣＰＵを配置するよう配置ユニット２０１をトリガするよう構成される第２トリガユニット２０２２２であって、例外情報は、ＢＩＯＳによってサーバが再スタートする前に記録されることがトリガされる情報である、第２トリガユニット２０２２２と、
を有する。
【００２９】
任意的な実現方式として、本発明の本実施例における制御装置は、サーバのＣＰＬＤ（ｃｏｍｐｌｅｘ  ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃａｌ  ｄｅｖｉｃｅ、コンプレクス・プログラマブル・ロジカル・デバイス）又はＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ、フィールド・プログラマブル・ゲート・アレイ）において実現される。
【００３０】
任意的な実現方式として、本発明の本実施例におけるサーバは、ハードパーティショニング機能をサポートするサーバであり、サーバにおけるＣＰＵのピンは、当該制御装置に接続される。サーバにおける制御装置は、ＳＭＢＵＳ（Ｓｙｓｔｅｍ  Ｍａｎａｇｅ  ｂｕｓ、システム・マネージメント・バス）、ＬＰＣ（Ｌｏｗ  Ｐｉｎ  Ｃｏｕｎｔ、ロー・ピン・カウント）バスなどを利用することによって、サーバにおいてＣＰＵに接続されてもよい。制御装置は、ＳＭＢＵＳバス又はＬＰＣバスを利用することによって、ＣＰＵのピンの配置を実現する。
【００３１】
本発明の本実施例におけるハードパーティショニング機能をサポートするサーバは、１つのサーバの複数の完全に独立したサブサーバへの分離をサポートするサーバを表す。サブサーバは、独立したＢＩＯＳ、ＰＣＨ、ＣＰＵ、オペレーティングシステムなどを有する１つの独立したサーバシステムとしてみなされてもよい。例えば、１つの８ソケットＸ８６サーバは、２つの４ソケットサブサーバ又は４つの２ソケットサブサーバにハードパーティショニングされ、ハードパーティショニングを利用して分離により取得されるサーバは独立に動作し、独立に電源オンされ、独立に電源オフされ、及び独立に管理されることが可能である。８ソケットサーバは８つのＣＰＵを有するサーバを表し、４ソケットサブサーバは４つのＣＰＵを有するサブサーバを表し、２ソケットサブサーバは２つのＣＰＵを有するサブサーバを表す。
【００３２】
１つの８ソケットサーバが２つの４ソケットサブサーバにハードパーティショニングされることは、本発明の実施例によるサーバにおける制御装置の実現方式を更に説明するため、以下において具体例として利用される。本実施例では、制御装置がＣＰＬＤにおいて実現されることが、説明のための具体例として利用される。
【００３３】
図４を参照して、図４は、８ソケットサーバの基本的なハードウェアの概略的な構成図である。８ソケットサーバは、ハードパーティショニングをサポートするＸ８６サーバであり、８つのＣＰＵ、２つのＰＣＨ及びＰＣＨに接続されるＦｌａｓｈを有する。８つのＣＰＵのピンはＣＰＬＤに接続され、ＣＰＬＤは、例えば、マスタＣＰＵとしてＣＰＵを配置するなど、ＣＰＵのピンを配置することによってＣＰＵの管理を実現する。８ソケットサーバは複数のＰＣＨを有してもよい。通常の実現方式として、サーバが２つの４ソケットサブサーバにハードパーティショニングされる場合、８ソケットサーバは２つのＰＣＨしか有さず、各ＰＣＨは１つのサブサーバの１つのＣＰＵに接続される。図４におけるＣＰＵ５はマスタＣＰＵであり、このとき、ＣＰＵ５に接続されるＰＣＨがマスタＰＣＨであり、ＣＰＵ１に接続されるＰＣＨがスレーブＰＣＨであると仮定する。スレーブＰＣＨは、一般に２つのワーキングモードを有し、（１）ＰＣＨは無効にされ、何れの機能も外部的に提供できない。（２）ＰＣＨは、ＵＳＢなどの一部の機能が利用可能であり、例えば、ＰＣＨ上のＵＳＢ又はＳＡＴＡ機能が利用可能であるが、ＰＣＨはサーバ全体の管理機能に参加できない状態にある。
【００３４】
上記の図４に示されるサーバでは、上方にある４つのＣＰＵ（ＣＰＵ５，ＣＰＵ３，ＣＰＵ２，ＣＰＵ４）及びＰＣＨが１つの独立したサブサーバを構成し、下方にある４つのＣＰＵ（ＣＰＵ１，ＣＰＵ７，ＣＰＵ６，ＣＰＵ８）及びＰＣＨが１つの独立したサブサーバを構成する。２つのサブサーバの間のＱＰＩ接続は切断され（すなわち、ＱＰＩポートが内部レジスタを利用することによって無効にされる）、２つのサブサーバの間のタスクインタラクションはない。
【００３５】
サーバにおけるＣＰＵは、それらのＳＯＣＫＥＴ＿ＩＤピンを利用することによって特定される。各ＣＰＵのＳＯＣＫＥＴ＿ＩＤピンは、ＣＰＬＤの配置ユニット２０１に接続される必要がある。配置ユニット２０１は、実際の要求に従って各ＣＰＵのＳＯＣＫＥＴ＿ＩＤピン値を配置する。任意的な実現方式として、図４に示されるＣＰＵのピン配置は、ＳＯＣＫＥＴ＿ＩＤ＝０がＣＰＵがプロセッサ１であることを示し、ＳＯＣＫＥＴ＿ＩＤ＝１がプロセッサ２を示し、同様に、ＳＯＣＫＥＴ＿ＩＤ＝７がプロセッサ８を示すことであってもよい。さらに、ピンＥＸ＿ＬＥＧＡＣＹ＿ＳＫＴは、ＣＰＵがマスタプロセッサ又は通常のプロセッサであるか区別するのに利用される。ＣＰＵが接続されるピンのＳＯＣＫＥＴ＿ＩＤが０である場合、それは、ＣＰＵがマスタＣＰＵであることを示し、ＥＸ＿ＬＥＧＡＣＹ＿ＳＫＴは１に設定される必要があり、そうでない場合、ピンＥＸ＿ＬＥＧＡＣＹ＿ＳＫＴは０に設定され、ＣＰＵが通常のＣＰＵであることを示す。ＣＰＬＤによりＣＰＵピンの配置を実現するため、ＣＰＬＤは、ＳＭＢＵＳバス又はＬＰＣバスを利用することによってＣＰＵに接続されてもよい。
【００３６】
図４の上方の並びの最左のＣＰＵ５がマスタＣＰＵであり、マスタＣＰＵに接続されるＰＣＨが正常に機能しうるということが、以下の説明のための具体例として利用される。ＣＰＬＤにおける配置ユニット２０１は、ＣＰＵ５のピンを配置し、ＣＰＵ５のＳＯＣＫＥＴ＿ＩＤを０に設定し、ＣＰＵ５のＥＸ＿ＬＥＧＡＣＹ＿ＳＫＴを１に設定する。下方の並びの最左のＣＰＵ１は通常のプロセッサとして配置され、すなわち、ＣＰＵ１のＳＯＣＫＥＴ＿ＩＤが４に設定され、ＣＰＵ１のＥＸ＿ＬＥＧＡＣＹ＿ＳＫＴが０に設定される。マスタＣＰＵに接続されるＰＣＨはマスタＰＣＨである。
【００３７】
図４に示されるサーバが電源オンされた後、サーバにおけるＢＩＯＳは、マスタＰＣＨに接続されるＦＬＡＳＨから命令を自動的に取得し、当該命令を実行する。ＣＰＬＤにおける再スタートユニット２０２は、マスタＣＰＵ、マスタＰＣＨ及びマスタＰＣＨに接続されるＦＬＡＳＨが正常であるかモニタリングする。マスタＣＰＵ、マスタＰＣＨ及びマスタＰＣＨに接続されるＦＬＡＳＨの全てが正常である場合、ＢＩＯＳプログラムは、実行をスムーズに継続し、システムをＯＳオペレーティングシステムにガイドする。マスタＣＰＵ、マスタＰＣＨ又はマスタＰＣＨに接続されるＦＬＡＳＨがＢＩＯＳガイダンスの処理において例外に遭遇した場合、再スタートユニット２０２は、再スタートするようサーバをトリガし、正常なＣＰＵ又はマスタＣＰＵとして正常なＰＣＨに接続されるＣＰＵを配置するよう配置ユニット２０１をトリガする。
【００３８】
再スタートユニット２０２が、マスタＣＰＵ、マスタＰＣＨ又はマスタＰＣＨに接続されるＦＬＡＳＨが異常であるか判断することは、タイマを設定し、タイマの時間を監視のタイマ時間未満になるよう設定する方式により実現されてもよい。設定されたタイマがタイムアウトになる前に監視が無効にならない場合、サーバが異常にスタートしたと判断される。具体的には、再スタートユニット２０２における判断ユニット２０２１は、監視が設定された時間内に無効にされるか判断する。監視が無効又はリセットされない場合、サーバが異常にスタートしたと判断される。従って、サーバが異常であると判断ユニット２０２１が判断したことに基づき、制御装置におけるトリガユニット２０２２は、再スタートするようサーバをトリガし、正常なＣＰＵ又はマスタＣＰＵとして正常なＰＣＨに接続されるＣＰＵを配置するよう配置ユニット２０１をトリガする。具体的には、ＣＰＵ１はマスタＣＰＵとして配置され、ＣＰＵ１のＳＯＣＫＥＴ＿ＩＤは０に設定され、ＣＰＵ１のＥＸ＿ＬＥＧＡＣＹ＿ＳＫＴは１に設定され、ＣＰＵ５は通常のプロセッサとして配置され、すなわち、ＣＰＵ５のＳＯＣＫＥＴ＿ＩＤは４に設定され、ＣＰＵ５のＥＸ＿ＬＥＧＡＣＹ＿ＳＫＴは０に設定される。
【００３９】
任意的な実現方式として、サーバが異常にスタートしたと判断ユニット２０２１が判断すると、トリガユニット２０２２における第１トリガユニット２０２２１は、ＢＩＯＳによりＣＰＬＤに予め設定された再スタートレジスタに基づき、再スタートするようサーバをトリガする。サーバが再スタートする前に、サーバのＢＩＯＳは、例えば、Ｅ２ＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ、電気的に消去可能なプログラマブル読み出し専用メモリ）のレジスタなどのレジスタに例外情報を書き込む。サーバが再スタートした後、第２トリガユニット２０２２２は、例外情報がＥ２ＰＲＯＭのレジスタに記録されているか判断し、例外情報が存在する場合、各ＣＰＵのＳＯＣＫＥＴ＿ＩＤ及びＥＸ＿ＬＥＧＡＣＹ＿ＳＫＴピンを再配置するよう配置ユニット２０１をトリガする。
【００４０】
サーバの制御装置の上記の実現方式では、ＣＰＵのピンが再配置された後、サーバのマスタＣＰＵは変更され、ＢＩＯＳは、新たなマスタＰＣＨに接続されるＦＬＡＳＨから命令を取得し、スタートアップ時に当該命令を実行する。スタートアップ例外がハードパーティショニングをサポートするサーバ上で実行されると、サーバは正常にスタート及び実行することが依然として保証でき、これにより、サーバの信頼性及び安定性を向上させることが実現される。従って、サーバ全体のＲＡＳが向上する。さらに、システムがＦＬＡＳＨの例外により実行失敗するという問題が解決され、元のデュアルＢＩＯＳ設計方式はもはや利用されなくてもよく、これにより、サーバのＦＬＡＳＨチップコストを低減する。
【００４１】
図５を参照して、図５は、本発明の実施例によるサーバ制御方法の概略的なフローチャートである。当該方法はサーバに適用され、サーバは、少なくとも２つのＣＰＵ及び少なくとも２つのＰＣＨを有し、ＰＣＨのそれぞれはＣＰＵの少なくとも１つに接続され、当該方法は以下を有する。
【００４２】
ステップ５００：ＣＰＵのラベルを配置し、ＣＰＵの１つをマスタＣＰＵとしてマーク付けする。
【００４３】
ステップ５０２：サーバが異常にスタートしたか判断し、サーバが異常にスタートした場合、例外情報を記録し、再スタートするようサーバをトリガし、ここで、例外情報は、マスタＣＰＵ、マスタＣＰＵに接続されるＰＣＨ又はマスタＣＰＵに接続されるＰＣＨに接続されるＦｌａｓｈの例外により生じるＢＩＯＳのスタートアップ例外を含む。
【００４４】
ステップ５０４：サーバの再スタート処理において、記録された例外情報に従って正常なＣＰＵ又はマスタＣＰＵとして正常なＰＣＨに接続されるＣＰＵを配置する。
【００４５】
本発明の本実施例によるサーバ制御方法は、サーバにおけるＣＰＬＤ又はＦＰＧＡなどの論理チップにより実現される。本発明の本実施例では、サーバ制御方法がＣＰＬＤにより実現されることが、説明のための具体例として利用される。
【００４６】
ステップ５００において、ＣＰＵのラベルを配置することは、具体的には、ＣＰＵのピンを配置し、マスタＣＰＵとしてＣＰＵの１つをマーク付けすることは、ピンの値を配置することによってマスタＣＰＵとしてＣＰＵの１つを配置する。
【００４７】
ＣＰＵのピンを配置することは、具体的には、ＳＯＣＫＥＴ＿ＩＤの値及びＥＸ＿ＬＥＧＡＣＹ＿ＳＫＴの値を設定することによって実現されてもよく、ＳＯＣＫＥＴ＿ＩＤは異なるＣＰＵを特定するのに利用され、ＥＸ＿ＬＥＧＡＣＹ＿ＳＫＴは、ＣＰＵがマスタＣＰＵ又は通常のＣＰＵであるか特定するのに利用される。例えば、図４のサーバにおいて、ＳＯＣＫＥＴ＿ＩＤ＝０は、ＣＰＵがプロセッサ１であることを示し、ＳＯＣＫＥＴ＿ＩＤ＝１はプロセッサ２を示し、同様に、ＳＯＣＫＥＴ＿ＩＤ＝７はプロセッサ８を示す。ＳＯＣＫＥＴ＿ＩＤ  ０のＣＰＵがマスタＣＰＵである場合、当該ＣＰＵのＥＸ＿ＬＥＧＡＣＹ＿ＳＫＴは１に設定され、他のＣＰＵのＥＸ＿ＬＥＧＡＣＹ＿ＳＫＴの値は０に設定される。
【００４８】
任意的な実現方式として、ステップ５０２において、サーバが異常にスタートするか判断することは、
タイマを設定し、タイマの時間はサーバの監視のタイマ時間未満であり、
サーバのスタートアップ処理において、監視がタイマについて設定された時間内に無効にされない場合、サーバが異常にスタートしたと判断する、
ことを有する。
【００４９】
ステップ５０２において、再スタートするようサーバをトリガすることは、ＣＰＬＤチップに配置された再スタートレジスタを利用することによって、再スタートするようサーバをトリガしてもよい。任意的な実現方式として、再スタートレジスタは、ＢＩＯＳによりＣＰＬＤチップ又はＦＰＧＡに配置されてもよい。
【００５０】
ステップ５０２において、例外情報を記録することは、Ｅ２ＰＲＯＭのレジスタなどのレジスタに例外情報を記録することによって実現されてもよい。確かに、例外情報はまた、サーバ上の他の場所に記録されてもよく、例外情報が記録される位置は、本発明の本実施例により限定されない。任意的な実現方式として、例外情報はＢＩＯＳにより記録され、例えば、ＢＩＯＳはＥ２ＰＲＯＭのレジスタに例外情報を記録する。
【００５１】
従って、ステップ５０４において、ＣＰＬＤは、例外情報がＥ２ＰＲＯＭのレジスタに記録されるか判断し、例外情報が存在する場合、各ＣＰＵのＳＯＣＫＥＴ＿ＩＤピン値及びＥＸ＿ＬＥＧＡＣＹ＿ＳＫＴピン値が再配置される。例えば、図４のＣＰＵ１はマスタＣＰＵとして配置され、ＣＰＵ１のＳＯＣＫＥＴ＿ＩＤは０に設定され、ＣＰＵ１のＥＸ＿ＬＥＧＡＣＹ＿ＳＫＴは１に設定され、ＣＰＵ５は通常のプロセッサとして配置され、すなわち、ＣＰＵ５のＳＯＣＫＥＴ＿ＩＤは４に設定され、ＣＰＵ５のＥＸ＿ＬＥＧＡＣＹ＿ＳＫＴは０に設定される。
【００５２】
任意的な実現方式として、本発明の本実施例のサーバ制御方法におけるサーバは、ハードパーティショニング機能をサポートするサーバであり、サーバにおけるＣＰＵのピンは制御装置に接続される。サーバにおける制御装置は、ＳＭＢＵＳバス、ＬＰＣバスなどを利用することによって、サーバにおいてＣＰＵに接続されてもよい。制御装置は、ＳＭＢＵＳバス又はＬＰＣバスを利用することによってＣＰＵのピンの配置を実現する。
【００５３】
上記のサーバ制御方法を利用することによって、ハードパーティショニングをサポートするサーバ上でスタートアップ例外が発生すると、サーバは正常にスタート及び実行することが依然として保証でき、これにより、サーバの信頼性及び安定性を向上させることが実現される。従って、サーバ全体のＲＡＳが向上する。さらに、システムがＦＬＡＳＨの例外のため実行失敗する問題が解決され、元のデュアルＢＩＯＳ設計方式はもはや利用されなくてもよく、これにより、サーバのＦＬＡＳＨチップコストを低減する。
【００５４】
当業者は、本明細書に開示される実施例において説明された具体例に関連して、ユニット及びアルゴリズムステップが電子的なハードウェア、コンピュータソフトウェア又はこれらの組み合わせにより実現されてもよいことを気付くかもしれない。ハードウェアとソフトウェアとの間の互換性を明確に説明するため、上記は機能による各具体例の構成及びステップを全体的に説明した。当該機能がハードウェア又はソフトウェアにより実行されるかどうかは、技術的方策の特定のアプリケーション及び設計制約条件に依存する。当業者は、異なる方法を利用して特定の各アプリケーションについて説明された機能を実現してもよいが、その実現は本発明の範囲を超えるとみなされるべきでない。
【００５５】
便宜上及び簡潔な説明のため、上記のシステム、装置及びユニットの詳細なワーキングプロセスについて、上記の方法の実施例における対応するプロセスが参照されてもよく、詳細はここでは再説明されないことが、当業者により明確に理解されてもよい。
【００５６】
本出願において提供される複数の実施例において、開示されたシステム、装置及び方法は他の方式により実現されてもよいことが理解されるべきである。例えば、説明された装置の実施例は単なる一例である。例えば、ユニットの分割は単なる論理的機能の分割であり、実際の実現形態では他の分割であってもよい。例えば、複数のユニット又はコンポーネントが他のシステムに合成又は統合されてもよいし、又は、いくつかの特徴は無視又は実行されなくてもよい。さらに、表示又は説明された相互結合又は直接的結合又は通信接続は、あるインタフェースを介し実現されてもよい。装置又はユニットの間の間接的な結合又は通信接続は、電子、機械又は他の形式により実現されてもよい。
【００５７】
別々のパーツとして説明されたユニットは物理的に別々のものであってもよいし、又はそうでなくてもよく、ユニットとして表示されたパーツは物理的ユニットであってもよいし、又はそうでなくもよく、１つのポジションに配置されてもよいし、又は複数のネットワークユニット上に分散されてもよい。ユニットの一部又は全ては本発明の実施例の方策の課題を実現するため、実際のニーズに従って選択されてもよい。
【００５８】
さらに、本発明の実施例における機能ユニットは１つの処理ユニットに統合されてもよいし、又はユニットのそれぞれは物理的に単独で存在してもよく、又は２以上のユニットが１つのユニットに統合される。統合されたユニットは、ハードウェアの形式により実現されてもよいし、又はソフトウェア機能ユニットの形式により実現されてもよい。
【００５９】
統合されたユニットがソフトウェア機能ユニットの形式により実現され、独立した製品として販売又は利用されるとき、統合されたユニットはコンピュータ可読記憶媒体に格納されてもよい。このような理解に基づき、実質的に本発明の技術的方策、従来技術に貢献する部分又は技術的方策の全て若しくは一部はソフトウェア製品の形式により実現されてもよい。ソフトウェア製品は、記憶媒体に格納され、本発明の実施例において説明された方法のステップの全て又は一部を実行するようコンピュータ装置（パーソナルコンピュータ、サーバ又はネットワーク装置であってもよい）に指示するための複数の命令を含む。上記の記憶媒体は、ＵＳＢフラッシュデバイス、着脱可能なハードディスク、読み出し専用メモリ（ＲＯＭ，Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ランダム・アクセス・メモリ（ＲＡＭ、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、磁気ディスク又は光ディスクなど、プログラムコードを記憶可能な何れかの媒体を含む。
【００６０】
上記の説明は本発明の単なる特定の実施例であるが、本発明の保護範囲を限定することを意図するものでない。本発明において開示される技術的範囲内で当業者により容易に想到する何れかの修正又は置換は、本発明の保護範囲内に属する。従って、本発明の保護範囲は、請求項の保護範囲に従う。
【図１（ａ）】
0006034990.tif 000002
【図１（ｂ）】
0006034990.tif 000003
【図２】
0006034990.tif 000004
【図３】
0006034990.tif 000005
【図４】
0006034990.tif 000006
【図５】
0006034990.tif 000007