(57)【特許請求の範囲】
【請求項１】
ファームウェア更新ファイルを受信し、前記ファームウェア更新ファイルに従って、更新メッセージを生成するためのラック管理制御部と、
複数のサーバーノードとを備え、
前記複数のサーバーノードのそれぞれは、
ベーシック・インプット／アウトプット・システムのファームウェアを保存するためのメモリーと、
前記ラック管理制御部および前記メモリーに接続され、前記ファームウェア更新ファイルをダウンロードして、前記ダウンロードされたファームウェア更新ファイルを記録領域に保存するため、前記ラック管理制御部から前記更新メッセージを受信し、前記ファームウェア更新ファイルをダウンロードした後、前記ベーシック・インプット／アウトプット・システムの前記ファームウェアを更新するための前記ファームウェア更新ファイルを前記メモリーに書き込むために、前記メモリーをリカバリーモードに移行するよう制御するためのベースボード管理制御部とを有し、
前記複数のサーバーノードのそれぞれの前記ベースボード管理制御部は、前記更新メッセージに従って、前記ラック管理制御部に応答メッセージを出力し、
前記ラック管理制御部は、前記応答メッセージが受信されたか否かを判別し、
前記応答メッセージが受信された場合、対応する前記ベースボード管理制御部は、前記ラック管理制御部から前記ファームウェア更新ファイルをダウンロードし、
前記応答メッセージが受信されなかった場合、前記ラック管理制御部は、前記応答メッセージが受信されなかった回数が所定の値を上回るか否かを判別し、
前記応答メッセージが受信されなかった前記回数が、前記所定の値以下の場合、前記ラック管理制御部は、対応する前記ベースボード管理制御部に、前記更新メッセージを再度出力し、
前記応答メッセージが受信されなかった前記回数が、前記所定の値を上回る場合、前記ラック管理制御部は、更新エラーメッセージを生成することを特徴とするラック。
【請求項２】
前記ラック管理制御部および前記複数のサーバーノードのそれぞれの前記ベースボード管理制御部は、伝送経路を介して、互いにデータを送信し合う請求項１に記載のラック。
【請求項３】
前記複数のサーバーノードのそれぞれの前記ベースボード管理制御部は、前記ベーシック・インプット／アウトプット・システムのファームウェアの更新が成功したか否かを判別し、
前記ベーシック・インプット／アウトプット・システムの前記ファームウェアの更新が失敗した場合、対応する前記ベースボード管理制御部は、前記ラック管理制御部にエラーメッセージを出力し、
前記ベーシック・インプット／アウトプット・システムの前記ファームウェアの更新が成功した場合、対応する前記ベースボード管理制御部は、前記ラック管理制御部に更新完了メッセージを出力し、対応する前記メモリーを前記リカバリーモードから起動モードへ移行するよう制御する請求項１または２に記載のラック。
【請求項４】
ラック管理制御部と、複数のサーバーノードとを備え、前記複数のサーバーノードのそれぞれは、メモリーと、ベースボード管理制御部とを有するラックに適用され、複数のベーシック・インプット／アウトプット・システムのそれぞれのファームウェアを同時に更新する方法であって、
前記ラック管理制御部によって、ファームウェア更新ファイルを受信するステップと、
前記ファームウェア更新ファイルに従って、前記複数のサーバーノードのそれぞれの前記ベースボード管理制御部に、更新メッセージを出力するステップと、
前記複数のサーバーノードのそれぞれの前記ベースボード管理制御部によって、前記更新メッセージに従って、応答メッセージを出力するステップと、
前記応答メッセージが受信されたか否かを判別するステップと、
前記応答メッセージが受信された場合、前記複数のサーバーノードのそれぞれの前記ベースボード管理制御部によって、前記更新メッセージに従って、前記ラック管理制御部から前記ファームウェア更新ファイルをダウンロードするステップと、
前記応答メッセージが受信されなかった場合、前記応答メッセージが受信されなかった回数が所定の値を上回るか否かを判別するステップと、
前記応答メッセージが受信されなかった前記回数が所定の値以下の場合、対応する前記ベースボード管理制御部に、前記更新メッセージを出力する前記ステップを実行するステップと、
前記応答メッセージが受信されなかった前記回数が所定の値を上回った場合、更新エラーメッセージを生成するステップと、
前記複数のサーバーノードのそれぞれの前記ベースボード管理制御部によって、前記複数のサーバーノードのそれぞれの前記メモリーをリカバリーモードに移行するよう制御するステップと、
前記メモリー内に保存されている前記複数のベーシック・インプット／アウトプット・システムのそれぞれの前記ファームウェアを更新するため、前記複数のサーバーノードのそれぞれの前記メモリーに、前記ファームウェア更新ファイルを書き込むステップとを備えることを特徴とする方法。
【請求項５】
前記複数のベーシック・インプット／アウトプット・システムのそれぞれの前記ファームウェアを更新する前記ステップの後に、
前記複数のベーシック・インプット／アウトプット・システムのそれぞれの前記ファームウェアの更新が成功したか否かを判別するステップと、
前記複数のベーシック・インプット／アウトプット・システムの１つの前記ファームウェアの更新が失敗した場合、前記ラック管理制御部にエラーメッセージを出力するステップと、
前記複数のベーシック・インプット／アウトプット・システムのそれぞれの前記ファームウェアの更新が成功した場合、前記ラック管理制御部に更新完了メッセージをそれぞれ出力するステップと、
前記複数のサーバーノードのそれぞれのベースボード管理制御部を用いて、対応する前記メモリーを前記リカバリーモードから起動モードへ移行するよう制御するステップとをさらに備える請求項４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ラック（Ｒａｃｋ）およびその更新方法に関し、特に、複数のベーシック・インプット／アウトプット・システムを同時に更新するためのラックおよびその方法に関する。
【背景技術】
【０００２】
一般的に、サーバー内の全てのマザーボードは、ベーシック・インプット／アウトプット・システム（ＢＩＯＳ：Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）のファームウェアが保存されているベーシック・インプット／アウトプット・システムメモリーを備えている。サーバーを保守し、そのいくつかの機能を更新するためには、メモリーに保存されているファームウェアを更新する必要がある。ベーシック・インプット／アウトプット・システムのファームウェアを更新するために、管理者はメモリーを取り外し、その後、メモリー内のファームウェアを更新するよう、ファームウェアの新バージョンまたはその他のバージョンを書き込むための更新機器を使用する必要がある。
【０００３】
しかしながら、サーバーのニーズが増大すればするほど、サーバー内のマザーボードも増加し、その結果、より良質な保守サービスの提供が必要となる。上述のような方法で、多数のマザーボードのベーシック・インプット／アウトプット・システムを更新する場合、その担当者はサーバー内の全てのマザーボードのベーシック・インプット／アウトプット・システムを１つ１つ更新する必要がある。このような作業は、ベーシック・インプット／アウトプット・システムの更新に要する時間を非常に長いものとし、ファームウェア更新作業の効率を低下させる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ファームウェア更新に要する時間を効果的に減少させることができ、ファームウェア更新作業の効率を向上させることができるラックおよびその方法を提供する。
【課題を解決するための手段】
【０００５】
本発明のラックは、ラック管理制御部と、複数のサーバーノード（Ｓｅｒｖｅｒ  ｎｏｄｅ）とを備える。ラック管理制御部は、ファームウェア更新ファイルを受信し、ファームウェア更新ファイルに従って、更新メッセージを生成する。複数のサーバーノードのそれぞれは、メモリーと、ベースボード管理制御部とを有する。このメモリーには、ベーシック・インプット／アウトプット・システムのファームウェアが保存されている。また、ベースボード管理制御部は、ラック管理制御部およびメモリーに接続されている。ベースボード管理制御部は、ファームウェア更新ファイルをダウンロードするため、ラック管理制御部から更新メッセージを受信し、ファームウェア更新ファイルを記録領域内に保存する。ベースボード管理制御部は、ファームウェア更新ファイルをダウンロードした後、ベーシック・インプット／アウトプット・システムのファームウェアを更新するためのファームウェア更新ファイルをメモリー内に書き込むため、メモリーをリカバリーモードへ移行するよう制御する。
【０００６】
１つの実施形態では、ラック管理制御部およびベースボード管理制御部は、伝送経路を介して、互いにデータを送信し合う。
【０００７】
１つの実施形態では、ベースボード管理制御部は、更新メッセージに従って、ラック管理制御部に、応答メッセージを出力する。ラック管理制御部は、応答メッセージが受信されたか否かを判別する。応答メッセージが受信された場合、対応するベースボード管理制御部は、ラック管理制御部から、ファームウェア更新ファイルをダウンロードする。応答メッセージが受信されなかった場合、ラック管理制御部は、応答メッセージが受信されなかった回数が、所定の値を上回るか否かを、さらに判別する。応答メッセージが受信されなかった回数が、所定の値以下の場合、ラック管理制御部は、対応するベースボード管理制御部に対し、更新メッセージを再度送信する。応答メッセージが受信されなかった回数が、所定の値を上回る場合、ラック管理制御部は、更新エラーメッセージを生成する。
【０００８】
１つの実施形態では、複数のサーバーノードのそれぞれのベースボード管理制御部は、対応するベーシック・インプット／アウトプット・システムのファームウェアの更新が成功したか否かを判別する。対応するベーシック・インプット／アウトプット・システムのファームウェアの更新が失敗した場合、ベースボード管理制御部は、ラック管理制御部に対し、エラーメッセージを出力する。対応するベーシック・インプット／アウトプット・システムの更新が成功した場合、ベースボード管理制御部は、ラック管理制御部に対し、更新完了メッセージを出力し、その後、ベースボード管理制御部は、対応するメモリーをリカバリーモードから、起動モードに移行するよう制御する。
【０００９】
本発明の複数のベーシック・インプット／アウトプット・システムを同時に更新する方法は、ラックに適用される。ラックは、ラック管理制御部と、複数のサーバーノードとを備えている。複数のサーバーノードのそれぞれは、メモリーとベースボード管理制御部とを有している。この方法は、以下のステップを備えている。ファームウェア更新ファイルが、ラック管理制御部によって受信される。ファームウェア更新ファイルに従って、複数のサーバーノードのそれぞれのベースボード管理制御部に、更新メッセージが出力される。更新メッセージに従って、ベースボード管理制御部によって、ラック管理制御部からファームウェア更新ファイルがダウンロードされる。ベースボード管理制御部によって、メモリーがリカバリーモードに移行するよう制御される。メモリーは、ベーシック・インプット／アウトプット・システムのファームウェアを保存する。ベーシック・インプット／アウトプット・システムのファームウェアを更新するよう、ファームウェア更新ファイルがメモリー内に書き込まれる。
【００１０】
１つの実施形態では、上記方法は、ラック管理制御部からファームウェア更新ファイルをダウンロードするステップの前に、さらに、以下のステップを含む。更新メッセージに従って、ベースボード管理制御部によって、応答メッセージが生成される。応答メッセージが受信されたか否かが判別される。応答メッセージが受信された場合、ベースボード管理制御部によって、ラック管理制御部からファームウェア更新ファイルがダウンロードされる。応答メッセージが受信されなかった場合、応答メッセージが受信されなかった回数が、所定の値を上回るか否かが判別される。応答メッセージが受信されなかった回数が所定の値以下の場合、更新メッセージが対応するベースボード管理制御部へ出力される。応答メッセージが受信されなかった回数が所定の値より多い場合、更新エラーメッセージが生成される。
【００１１】
１つの実施形態では、上記方法は、複数のベーシック・インプット／アウトプット・システムのそれぞれのファームウェアを更新するステップの後に、さらに、以下のステップを含む。複数のベーシック・インプット／アウトプット・システムのそれぞれのファームウェアの更新が成功したか否かが判別される。複数のベーシック・インプット／アウトプット・システムの１つのファームウェアの更新が失敗した場合、対応するベースボード管理制御部によって、エラーメッセージがラック管理制御部に出力される。複数のベーシック・インプット／アウトプット・システムのそれぞれのファームウェアの更新が成功した場合、複数のサーバーノードのそれぞれのベースボード管理制御部によって、更新完了メッセージがラック管理制御部に出力され、複数のサーバーノードのそれぞれのベースボード管理制御部によって、対応するメモリーがリカバリーモードから起動モードへ移行するよう制御される。
【００１２】
本発明では、ラック管理制御部は、受信したファームウェア更新ファイルに従って、更新メッセージを生成し、同時に、ラック内のベースボード管理制御部に更新メッセージを送信する。更新メッセージに従って、各ベースボード管理制御部は、ラック管理制御部からファームウェア更新ファイルをダウンロードし、それぞれのベーシック・インプット／アウトプット・システムのファームウェアを更新するためのファームウェア更新ファイルをメモリーに書き込むため、メモリーをリカバリーモードに移行するよう制御する。したがって、ファームウェア更新に要する時間を効果的に減少させることができ、ファームウェア更新作業の効率を向上させることができる。
【図面の簡単な説明】
【００１３】
本発明は、例示のために本明細書中に記載された、詳細な説明から十分に理解されるが、詳細な発明の記載に制限されるものではない。
【図１】本発明に係るラックの概略図である。
【図２】本発明に係る複数のベーシック・インプット／アウトプット・システムを同時に更新する方法のフローチャートである。
【図３】本発明に係る複数のベーシック・インプット／アウトプット・システムを同時に更新する他の方法のである。
【発明を実施するための形態】
【００１４】
図１は、本発明に係るラックの概略図である。ラック１００は、ラック管理制御部（ＲＭＣ：Ｒａｃｋ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）１１０と、サーバーノード１２０＿１〜１２０＿Ｎとを備える。ここで“Ｎ”は、１より大きい正の整数である。サーバーノード１２０＿１〜１２０＿Ｎのそれぞれは、独立したサーバーとして考える。また、ラック管理制御部１１０は、例えば、独立したサーバーまたは独立した制御デバイスである。
【００１５】
ラック管理制御部１１０は、ファームウェア更新ファイルを受信し、ファームウェア更新ファイルに従って、更新メッセージを生成する。すなわち、ユーザーは、有線ネットワークまたは無線ネットワークを介して、ベーシック・インプット／アウトプット・システム（ＢＩＯＳ）のファームウェアの新バージョンまたはその他のバージョンを、ラック管理制御部１１０にアップロードすることができる。これによって、ラック管理制御部１１０は、ベーシック・インプット／アウトプット・システムのファームウェアを更新するための以下の処理を実行する。ファームウェア更新ファイルは、例えば、国際標準化機構（ＩＳＯ：Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｏｒｇａｎｉｚａｔｉｏｎ  ｆｏｒ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ）イメージファイルである。
【００１６】
１つの実施形態では、複数のラック１００が全て上位の制御部に接続され、管理者は、有線ネットワークまたは無線ネットワークを介して、ベーシック・インプット／アウトプット・システム（ＢＩＯＳ）の新バージョンまたはその他のバージョンを上位の制御部にアップロードすることができる。その後、上位の制御部は、ファームウェア更新ファイルを各ラック１００に送信する。
【００１７】
各サーバーノード１２０＿１〜１２０＿Ｎは、メモリー、例えば、メモリー１３０＿１〜１３０＿Ｎのいずれか１つと、ベースボード管理制御部（ＢＭＣ：Ｂａｓｅｂｏａｒｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）、例えば、ベースボード管理制御部１４０＿１〜１４０＿Ｎのいずれか１つとを有している。メモリー１３０＿１〜１３０＿Ｎはそれぞれ、ベーシック・インプット／アウトプット・システムを保存している。
【００１８】
ベースボード管理制御部１４０＿１〜１４０＿Ｎはそれぞれ、ラック管理制御部１１０およびメモリー１３０＿１〜１３０＿Ｎに接続されており、ファームウェア更新通知を受け取るため、それぞれ、更新メッセージを受信する。その後、ベースボード管理制御部１４０＿１〜１４０＿Ｎは、更新メッセージに従い、ラック管理制御部１１０から、ファームウェア更新ファイルをダウンロードし、ファームウェア更新ファイルを記録領域に保存する。
【００１９】
１つの実施形態では、記録領域は、例えば、ベースボード管理制御部１４０＿１〜１４０＿Ｎによって形成された仮想領域である。具体的には、仮想領域は、例えば、ベースボード管理制御部１４０＿１〜１４０＿Ｎによって、メモリー１３０＿１〜１３０＿Ｎ内または対応するサーバーノード１２０＿１〜１２０＿Ｎ内のハードディスクに、それぞれ確保された領域である。他の実施形態では、記録領域は、レジスターによって、ベースボード管理制御部１４０＿１〜１４０＿Ｎ内に、それぞれ設けられている。
【００２０】
ファームウェア更新ファイルをダウンロードした後、ベースボード管理制御部１４０＿１〜１４０＿Ｎは、メモリー１３０＿１〜１３０＿Ｎをリカバリーモードへと移行するよう制御する。ベースボード管理制御部１４０＿１〜１４０＿Ｎは、各メモリー１３０＿１〜１３０＿Ｎのベーシック・インプット／アウトプット・システムのファームウェアを更新するよう、記録領域に保存されているファームウェア更新ファイルを、メモリー１３０＿１〜１３０＿Ｎ内に書き込む。
【００２１】
具体的には、ユーザーは、ベーシック・インプット／アウトプット・システムのファームウェアの新バージョンのファームウェア更新ファイル等をラック管理制御部１１０にアップロードする。ファームウェア更新ファイルを受信する際、それに応じて、ラック管理制御部１１０は、更新メッセージを各ベースボード管理制御部１４０＿１〜１４０＿Ｎに出力する。更新メッセージを受信した後、ベースボード管理制御部１４０＿１〜１４０＿Ｎはそれぞれ、更新メッセージに従って、応答メッセージを生成し、ラック管理制御部１１０に出力する。
【００２２】
その後、ラック管理制御部１１０は、応答メッセージが受信されたか否かを判別する。応答メッセージが受信された場合、それはベースボード管理制御部１４０＿１〜１４０＿Ｎが正常状態であることを意味する。そして、ベースボード管理制御部１４０＿１〜１４０＿Ｎは、ラック管理制御部１１０から、ファームウェア更新ファイルをダウンロードする。
【００２３】
応答メッセージが受信されなかった場合、ラック管理制御部１１０は、応答メッセージが受信されなかった回数が所定の値を上回るか否かを、さらに判別する。
【００２４】
応答メッセージが受信されなかった回数が所定の値以下の場合、ラック管理制御部１１０は、ベースボード管理制御部１４０＿１〜１４０＿Ｎの対応する１つが、各ベーシック・インプット／アウトプット・システムのファームウェアを更新するための処理を再度実行するよう通知するため、ベースボード管理制御部１４０＿１〜１４０＿Ｎの対応する１つに対し、更新メッセージを再度出力する。この動作は、応答メッセージが受信されなかった回数が所定の値より多くなるまで実行される。応答メッセージが受信されなかった回数が所定の値よりも多い場合、ラック管理制御部１１０は、更新エラーメッセージを生成する。更新エラーメッセージは、例えば、これを通知するためのモニターや発光ダイオードに送信される。これによって、ユーザーは、ファームウェア更新処理において、いくつかのエラーが発生したことを知ることができ、それにより、エラーを修正することができる。
【００２５】
ラック管理制御部１１０からファームウェア更新ファイルをダウンロードした後、ベースボード管理制御部１４０＿１〜１４０＿Ｎは、さらに、各メモリー１３０＿１〜１３０＿Ｎをリカバリーモードにするよう、例えば、起動モードからリカバリーモードへ移行するよう制御する。そして、ベースボード管理制御部１４０＿１〜１４０＿Ｎは、メモリー１３０＿１〜１３０＿Ｎの元々のベーシック・インプット／アウトプット・システムを新バージョンのベーシック・インプット／アウトプット・システムに置き換えるため、メモリー１３０＿１〜１３０＿Ｎにファームウェア更新ファイルを書き込む。
【００２６】
その後、ベースボード管理制御部１４０＿１〜１４０＿Ｎは、ベーシック・インプット／アウトプット・システムの更新が成功したか否かを判別する。ベーシック・インプット／アウトプット・システムの更新が失敗した場合、各ベースボード管理制御部１４０＿１〜１４０＿Ｎは、それに対応して、ラック管理制御部１１０にエラーメッセージを出力する。エラーメッセージに従って、ラック管理制御部１１０は、対応する信号を、対応するメッセージを表示するためのモニターや発光ダイオードに出力する。このメッセージを通じて、ユーザーは、ファームウェア更新処理において、いくつかのエラー、例えば、ベーシック・インプット／アウトプット・システムの更新が失敗したことを知ることができ、これにより、エラーに対応することができる。
【００２７】
一方、ベーシック・インプット／アウトプット・システムの更新が成功した場合、各ベースボード管理制御部１４０＿１〜１４０＿Ｎは、それに対応して、ラック管理制御部１１０に更新完了メッセージを出力する。ラック管理制御部１１０は、対応する信号を、対応するメッセージを表示するためのモニターや発光ダイオードに出力する。これによって、ユーザーは、ファームウェアの更新の完了および成功を知ることができる。
【００２８】
さらに、ベースボード管理制御部１４０＿１〜１４０＿Ｎは、メモリー１３０＿１〜１３０＿Ｎをリカバリーモードから起動モードに移行するよう制御し、サーバーノード１２０＿１〜１２０＿Ｎをシャットダウンする。サーバーノード１２０＿１〜１２０＿Ｎが再起動した後、ベーシック・インプット／アウトプット・システムは、起動モードにて動作する。これにより、サーバーノード１２０＿１〜１２０＿Ｎは、正確に起動し、正常に動作することができる。
【００２９】
本実施形態では、ベーシック・インプット／アウトプット・システムの更新が必要となった際、ラック１００の電力供給部は、サーバーノード１２０＿１〜１２０＿Ｎに、交流（ＡＣ：Ａｌｔｅｒｎａｔｉｎｇ  Ｃｕｒｒｅｎｔ）電力を供給する。これにより、サーバーノード１２０＿１〜１２０＿Ｎ内の全てのベースボード管理制御部１４０＿１〜１４０＿Ｎが有効化される。
【００３０】
ラック１００が、ＯＦＦ状態のサーバーノード１２０＿１〜１２０＿Ｎのベーシック・インプット／アウトプット・システムの更新を開始する際、ベースボード管理制御部１４０＿１〜１４０＿Ｎはそれぞれ、更新メッセージを受信した後、サーバーノード１２０＿１〜１２０＿ＮをＯＮ状態にする。サーバーノード１２０＿１〜１２０＿ＮがＯＮ状態にされたときには、サーバーノード１２０＿１〜１２０＿Ｎは、起動のため、古いベーシック・インプット／アウトプット・システムのファームウェアの使用を続ける。そして、ベーシック・インプット／アウトプット・システムは、ベースボード管理制御部１４０＿１〜１４０＿Ｎによって受信されたファームウェアファイルの更新を検出し、リカバリーモードにて動作し、例えば、ファームウェアの更新処理を実行する。ファームウェアの更新が完了した後、ベースボード管理制御部１４０＿１〜１４０＿Ｎはそれぞれ、サーバーノード１２０＿１〜１２０＿Ｎをシャットダウンする。これにより、サーバーノード１２０＿１〜１２０＿Ｎが、次にＯＮ状態となったとき、それぞれの新しいベーシック・インプット／アウトプット・システムのファームウェアが起動に用いられることになる。
【００３１】
また、ラック１００がＯＮ状態にあるサーバーノード１２０＿１〜１２０＿Ｎのベーシック・インプット／アウトプット・システムの更新を開始する際、ベースボード管理制御部１４０＿１〜１４０＿Ｎはそれぞれ、更新メッセージを受信した後、ファームウェア更新処理を実行するため、サーバーノード１２０＿１〜１２０＿Ｎをシャットダウンする。
【００３２】
具体的には、１つの実施形態では、サーバーノード１２０＿１〜１２０＿ＮをＯＦＦ状態とした後に、ベースボード管理制御部１４０＿１〜１４０＿Ｎはそれぞれ、古いベーシック・インプット／アウトプット・システムを用いて、サーバーノード１２０＿１〜１２０＿Ｎを起動する。その後、ベースボード管理制御部１４０＿１〜１４０＿Ｎは、更新されたファームウェアを用いて、ファームウェア更新処理を実行するよう、リカバリーモードでの動作を実行する。
【００３３】
他の実施形態では、ラック管理制御部１１０が任意のタスクをサーバーノード１２０＿１〜１２０＿Ｎ（ファームウェア更新を必要とするサーバーノード等）に割り当てるまで待機している状態、およびサーバーノード１２０＿１〜１２０＿Ｎが現在実行中の処理を完了した状態において、ベースボード管理制御部１４０＿１〜１４０＿Ｎは、サーバーノード１２０＿１〜１２０＿Ｎをシャットダウンする。その後、ベースボード管理制御部１４０＿１〜１４０＿Ｎは、それぞれの古いベーシック・インプット／アウトプット・システムのファームウェアを用いて、サーバーノード１２０＿１〜１２０＿Ｎを起動し、ファームウェア更新処理を実行するため、更新されたファームウェアファイルを用いて、リカバリーモードでの動作を実行する。
【００３４】
本実施形態において、ラック管理制御部１１０およびベースボード管理制御部１４０＿１〜１４０＿Ｎは、伝送経路１５０を介して、互いにデータを送信し合う。伝送経路１５０は、例えば、インテリジェント・プラットフォーム・マネージメント・インターフェース（ＩＰＭＩ：Ｉｎｔｅｌｌｉｇｅｎｔ  Ｐｌａｔｆｏｒｍ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｔｅｒｆａｃｅ）や、ウェブユーザーインターフェース等である。
【００３５】
上述した本発明の実施形態に基づいて導出される、複数のベーシック・インプット／アウトプット・システムを同時に更新する方法は、以下のような方法である。
【００３６】
図２は、本発明に係る複数のベーシック・インプット／アウトプット・システムのそれぞれのファームウェアを同時に更新する方法のフローチャートである。複数のベーシック・インプット／アウトプット・システムのそれぞれのファームウェアを同時に更新する方法は、ラック管理制御部と、複数のサーバーノードとを備えるラックに適用される。複数のサーバーノードのそれぞれは、メモリーとベースボード管理制御部とを有する。
【００３７】
ステップＳ２１０において、ラック管理制御部は、ファームウェア更新ファイルを受信する。ステップＳ２２０において、ファームウェア更新ファイルに従って、更新メッセージが複数のサーバーノードのそれぞれのベースボード管理制御部に出力される。
【００３８】
ステップＳ２３０において、ベースボード管理制御部は、更新メッセージに従って、ラック管理制御部から、ファームウェア更新ファイルをダウンロードする。ステップＳ２４０において、各サーバーノードのベースボード管理制御部は、メモリーをリカバリーモードに移行するよう制御する。メモリーはそれぞれ、ベーシック・インプット／アウトプット・システムのファームウェアを保存している。ステップＳ２５０において、ファームウェア更新ファイルは、それぞれのベーシック・インプット／アウトプット・システムのファームウェアを更新するため、メモリーに書き込まれる。
【００３９】
図３は、本発明に係る複数のベーシック・インプット／アウトプット・システムのそれぞれのファームウェアを同時に更新する他の方法のフローチャートである。本実施形態の複数のベーシック・インプット／アウトプット・システムのそれぞれのファームウェアを同時に更新する方法は、ラック管理制御部と、複数のサーバーノードとを備えるラックに適用される。複数のサーバーノードのそれぞれは、メモリーと、ベースボード管理制御部とを有している。
【００４０】
ステップＳ３０２において、ラック管理制御部は、ファームウェア更新ファイルを受信する。ステップＳ３０４において、ファームウェア更新ファイルに従って、各サーバーノードのベースボード管理制御部に、更新メッセージが出力される。ステップＳ３０６において、各サーバーノードのベースボード管理制御部は、更新メッセージに従って、応答メッセージを生成する。
【００４１】
ステップＳ３０８において、応答メッセージが受信されたか否かが判別される。応答メッセージが受信されていない場合、ステップＳ３１０において、応答メッセージが受信されなかった回数が所定の値を上回るか否かが判別される。応答メッセージが受信されなかった回数が所定の値以下の場合、処理はステップＳ３０４に戻り、ファームウェア更新ファイルに従って、対応するサーバーノードのベースボード管理制御部に、更新メッセージが再度出力される。一方、応答メッセージが受信されなかった回数が所定の値を上回る場合、ステップＳ３１２において、更新エラーメッセージが生成される。
【００４２】
一方、ステップＳ３０８において、応答メッセージが受信された場合、ステップＳ３１４において、対応するベースボード管理制御部は、更新メッセージに従って、ラック管理制御部から、ファームウェア更新ファイルをダウンロードする。ステップＳ３１６において、ベースボード管理制御部は、対応するメモリーをリカバリーモードへ移行するよう制御する。各メモリーは、ベーシック・インプット／アウトプット・システムのファームウェアを保存している。ステップＳ３１８において、ベーシック・インプット／アウトプット・システムのファームウェアを更新するため、ファームウェア更新ファイルが対応するメモリーに書き込まれる。
【００４３】
ステップＳ３２０において、ベーシック・インプット／アウトプット・システムのそれぞれのファームウェアの更新が成功したか否かが判別される。ベーシック・インプット／アウトプット・システムの１つのファームウェア更新が失敗した場合、ステップＳ３２２において、対応するベースボード管理制御部は、ラック管理制御部に、エラーメッセージを出力する。ベーシック・インプット／アウトプット・システムのそれぞれのファームウェア更新が成功した場合、ステップＳ３２４において、ベースボード管理制御部はそれぞれ、ラック管理制御部に、更新完了メッセージを出力し、メモリーをリカバリーモードから起動モードに移行するよう制御する。
【００４４】
本発明では、ラック管理制御部は、受信したファームウェア更新ファイルに従って、更新メッセージを生成し、同時に、更新メッセージをラック内のベースボード管理制御部に送信する。更新メッセージに従って、ベースボード管理制御部はそれぞれ、ラック管理制御部から、ファームウェア更新ファイルをダウンロードし、各ベーシック・インプット／アウトプット・システムのファームウェアを更新するためのファームウェア更新ファイルをメモリーに書き込み可能とするため、メモリーをリカバリーモードに移行するよう制御する。これによって、ファームウェア更新に要する時間を効果的に減少させることができ、ファームウェア更新作業の効率を向上させることができる。
【図１】
0005623593.tif 000002
【図２】
0005623593.tif 000003
【図３】
0005623593.tif 000004