(57)【特許請求の範囲】
【請求項１】
１以上の情報処理装置が、所定の状態になるまで起動が進んだのちに、基本機能ソフトウェアについて取得を要求することを示す取得要求情報を設定して記憶するとともに、前記情報処理装置が前記所定の状態になるまで起動を進める際に必要となる、１以上の前記情報処理装置が共通に使用するブートイメージ情報を、ブートイメージ情報記憶手段から入手することによって、前記所定の状態になるまで自装置を起動する機能を有する場合に、
１以上の前記情報処理装置を識別可能な識別子と、前記情報処理装置が起動する際に外部から入手して実行する基本機能ソフトウェアの種類を識別可能な識別子と、が関連付けられた適用基準情報を記憶する適用基準情報記憶手段と、
前記基本機能ソフトウェアを記憶する基本機能ソフトウェア記憶手段と、
前記１以上の情報処理装置のうち、特定の情報処理装置に関する前記取得要求情報を参照することによって、前記特定の情報処理装置が前記所定の状態から起動を開始する状態にあることを検知したときに、前記適用基準情報記憶手段に記憶されている前記適用基準情報の中で、前記特定の情報処理装置と関連付けられた識別子が表す種類に対応する前記基本機能ソフトウェアを、前記基本機能ソフトウェア記憶手段から読み出して、前記特定の情報処理装置に入力する制御手段と、
前記ブートイメージ情報を記憶する前記ブートイメージ情報記憶手段と、
を備えるソフトウェア管理装置。
【請求項２】
前記制御手段は、前記情報処理装置に電源が供給されたことを検知することによって、前記情報処理装置が起動を開始する状態にあることを検知する、
請求項１に記載のソフトウェア管理装置。
【請求項３】
前記適用基準情報記憶手段は、前記基本機能ソフトウェアの種類を識別可能な識別子として、前記基本機能ソフトウェアによって実現される機能を表す情報を含む前記適用基準情報を記憶する、
請求項１または２に記載のソフトウェア管理装置。
【請求項４】
請求項１乃至３のいずれかに記載のソフトウェア管理装置と、
前記１以上の情報処理装置と、
を備えるソフトウェア管理システム。
【請求項５】
前記情報処理装置は、自装置の機能を変更する場合に、前記適用基準情報における、前記自装置に関連付けられた前記基本機能ソフトウェアの種類を識別可能な識別子を更新したのち、前記取得要求情報を設定する、
請求項４に記載のソフトウェア管理システム。
【請求項６】
１以上の第一の情報処理装置が、
所定の状態になるまで起動が進んだのちに、基本機能ソフトウェアについて取得を要求することを示す取得要求情報を設定して記憶するとともに、前記第一の情報処理装置が前記所定の状態になるまで起動を進める際に必要となる、１以上の前記第一の情報処理装置が共通に使用するブートイメージ情報を、第二の情報処理装置が備えるブートイメージ情報記憶手段から入手することによって、前記所定の状態になるまで自装置を起動し、
前記第二の情報処理装置が、
１以上の前記第一の情報処理装置のうち、特定の情報処理装置に関する前記取得要求情報を参照することによって、前記特定の情報処理装置が前記所定の状態から起動を開始する状態にあることを検知したときに、適用基準情報記憶手段に記憶されている、前記１以上の情報処理装置を識別可能な識別子と、前記情報処理装置が起動する際に外部から入手して実行する基本機能ソフトウェア記憶手段に記憶されている基本機能ソフトウェアの種類を識別可能な識別子と、が関連付けられた適用基準情報の中で、前記特定の情報処理装置と関連付けられた識別子が表す種類に対応する前記基本機能ソフトウェアを、前記基本機能ソフトウェア記憶手段から読み出して、前記特定の情報処理装置に入力する、
ソフトウェア管理方法。
【請求項７】
１以上の情報処理装置が、所定の状態になるまで起動が進んだのちに、基本機能ソフトウェアについて取得を要求することを示す取得要求情報を設定して記憶するとともに、前記情報処理装置が前記所定の状態になるまで起動を進める際に必要となる、１以上の前記情報処理装置が共通に使用するブートイメージ情報を、ブートイメージ情報記憶手段から入手することによって、前記所定の状態になるまで自装置を起動する機能を有する場合に、
１以上の前記情報処理装置のうち、特定の情報処理装置に関する前記取得要求情報を参照することによって、前記特定の情報処理装置が前記所定の状態から起動を開始する状態にあることを検知したときに、適用基準情報記憶手段に記憶されている、前記１以上の情報処理装置を識別可能な識別子と、前記情報処理装置が起動する際に外部から入手して実行する基本機能ソフトウェア記憶手段に記憶されている基本機能ソフトウェアの種類を識別可能な識別子と、が関連付けられた適用基準情報の中で、前記特定の情報処理装置と関連付けられた識別子が表す種類に対応する前記基本機能ソフトウェアを、前記基本機能ソフトウェア記憶手段から読み出して、前記特定の情報処理装置に入力する制御処理
を前記ブートイメージ情報記憶手段を備えるコンピュータに実行させる、ソフトウェア管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、ファームウェア等の情報処理装置の基本機能を実現するソフトウェアを管理するソフトウェア管理装置等に関する。
【背景技術】
【０００２】
近年、１つの筐体に多数のブレードサーバ（情報処理装置）を搭載することによって、情報処理能力を高めたシステムが増加している。このようなシステムでは、通常、システムが備えるブレードサーバの台数が多くなればなるほど、ブレードサーバが使用するファームウェア等に関する管理作業は困難になる。したがって、このようなファームウェア等に関する管理作業を効率的に行うことを実現する技術に対する期待が高まっている。
【０００３】
このような、ファームウェア等に関する管理作業を効率的に行う技術の一例として、特許文献１には、ブレードサーバを起動することなく、ブレードサーバに搭載されたすべてのファームウェアに関する設定データの変更およびファームウェアイメージの更新を行うようにしたシステムが開示されている。このシステムでは、各ブレードサーバに搭載されたファームウェアに直接アクセス可能なエンクロージャマネージャを介して、各ファームウェアを管理する。
【０００４】
また、特許文献２には、不揮発性メモリ部品毎に対応したシステムＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）更新プログラムの作成が不要となるとともに、不揮発性メモリ部品のインタフェースを統一できるようにしたシステムが開示されている。このシステムでは、エンクロージャマネージャが、システムＢＩＯＳイメージを格納するバッファと、システムＢＩＯＳイメージを取り出して出力するファームウェアとを有している。そして、ブレードサーバは、システムＢＩＯＳイメージを受け取るファームウェアと、システムＢＩＯＳイメージを格納するバッファとを有している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2012-203442号公報
【特許文献２】特開2009-193453号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ブレードサーバのような情報処理装置を備えたシステムでは、一般的に、個々の情報処理装置ごとに、ファームウェア等の情報処理装置の基本機能を実現するソフトウェアを記憶している。したがって、例えば、このようなソフトウェアに関する更新が発生した場合、情報処理装置の台数分について、更新作業を行う必要がある。この場合、膨大な数の情報処理装置を備えたシステムについては、更新作業量も膨大になるため、更新漏れあるいは更新ミスが発生し、その結果、システムに重大な影響を及ぼす虞がある。このため、膨大な数の情報処理装置を備えたシステムにおいても、このような更新作業等の管理作業の量が膨大にならないようにすることが課題である。引用文献１乃至２に記載された技術では、この課題を解決することは困難である。
【０００７】
本願発明の主たる目的は、この課題を解決した、ソフトウェア管理装置等を提供することである。
【課題を解決するための手段】
【０００８】
本願発明の一態様に係るソフトウェア管理装置は、１以上の情報処理装置を識別可能な識別子と、前記情報処理装置が起動する際に外部から入手して実行する基本機能ソフトウェアの種類を識別可能な識別子と、が関連付けられた適用基準情報を記憶する適用基準情報記憶手段と、前記基本機能ソフトウェアを記憶する基本機能ソフトウェア記憶手段と、前記１以上の情報処理装置のうち、特定の情報処理装置が起動を開始する状態にあることを検知したときに、前記適用基準情報記憶手段に記憶されている前記適用基準情報の中で、前記特定の情報処理装置と関連付けられた識別子が表す種類に対応する前記基本機能ソフトウェアを、前記基本機能ソフトウェア記憶手段から読み出して、前記特定の情報処理装置に入力する制御手段と、を備える。
【０００９】
上記目的を達成する他の見地において、本願発明の一態様に係るソフトウェア管理方法は、情報処理装置によって、１以上の情報処理装置のうち、特定の情報処理装置が起動を開始する状態にあることを検知したときに、適用基準情報記憶手段に記憶されている、前記１以上の情報処理装置を識別可能な識別子と、前記情報処理装置が起動する際に外部から入手して実行する基本機能ソフトウェア記憶手段に記憶されている基本機能ソフトウェアの種類を識別可能な識別子と、が関連付けられた適用基準情報の中で、前記特定の情報処理装置と関連付けられた識別子が表す種類に対応する前記基本機能ソフトウェアを、前記基本機能ソフトウェア記憶手段から読み出して、前記特定の情報処理装置に入力する。
【００１０】
また、上記目的を達成する更なる見地において、本願発明の一態様に係るソフトウェア管理プログラムは、１以上の情報処理装置のうち、特定の情報処理装置が起動を開始する状態にあることを検知したときに、適用基準情報記憶手段に記憶されている、前記１以上の情報処理装置を識別可能な識別子と、前記情報処理装置が起動する際に外部から入手して実行する基本機能ソフトウェア記憶手段に記憶されている基本機能ソフトウェアの種類を識別可能な識別子と、が関連付けられた適用基準情報の中で、前記特定の情報処理装置と関連付けられた識別子が表す種類に対応する前記基本機能ソフトウェアを、前記基本機能ソフトウェア記憶手段から読み出して、前記特定の情報処理装置に入力する制御処理をコンピュータに実行させる。
【００１１】
更に、本発明は、係るソフトウェア管理プログラム（コンピュータプログラム）が格納された、コンピュータ読み取り可能な、不揮発性の記憶媒体によっても実現可能である。
【発明の効果】
【００１２】
本願発明は、システムが備える情報処理装置の台数にかかわらず、当該情報処理装置が使用するファームウェア等の情報処理装置の基本機能を実現するソフトウェアを、効率的に管理することを可能とする。
【図面の簡単な説明】
【００１３】
【図１】本願発明の第１の実施形態に係るブレードサーバシステムの構成を示すブロック図である。
【図２】本願発明の第１の実施形態に係るファームウェアイメージ情報の構成を例示する図である。
【図３】本願発明の第１の実施形態に係る機能一覧情報の構成を例示する図である。
【図４】本願発明の第１の実施形態に係る適用基準情報の構成を例示する図である。
【図５】本願発明の第１の実施形態に係るブレードサーバシステムが、ブートイメージ情報を使用してブレードサーバを起動する動作を示すフローチャートである。
【図６】本願発明の第１の実施形態に係るブレードサーバシステムが、ファームウェアイメージ情報を使用してブレードサーバを起動する動作を示すフローチャートである。
【図７】本願発明の第２の実施形態に係るソフトウェア管理装置の構成を示すブロック図である。
【図８】本願発明の各実施形態に係るファームウェア管理装置あるいはソフトウェア管理装置を実行可能な情報処理装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下、本願発明の実施の形態について図面を参照して詳細に説明する。
【００１５】
＜第１の実施形態＞
図１は、第１の実施形態に係るブレードサーバシステム１の構成を概念的に示すブロック図である。本実施形態に係るブレードサーバシステム１は、ファームウェア管理装置１０、及び、ブレードサーバ２０−１乃至２０−ｎ（ｎは１以上の任意の整数）を備えている。ブレードサーバ２０−１乃至２０−ｎは、それぞれが、ＣＰＵ（Ｃｅｎｔｒａｌ＿Ｐｒｏｃｅｓｓｉｎｇ＿Ｕｎｉｔ）、主記憶部、及び、拡張記憶部等（図示せず）を備えた情報処理装置である。ブレードサーバシステム１は、これらの構成要素を同じ筐体に格納している。
【００１６】
ファームウェア管理装置１０は、ブレードサーバ２０−１乃至２０−ｎが使用するファームウェアを一元管理する装置である。ファームウェア管理装置１０は、制御部１１、ファームウェア記憶部１２、適用基準情報記憶部１３、ブートイメージ情報記憶部１４、及び、バスセレクタ１５を備えている。ファームウェア記憶部１２、適用基準情報記憶部１３、及び、ブートイメージ情報記憶部１４は、不揮発性の電子メモリ、磁気ディスク装置、あるいは、電子ディスク装置等の記憶装置である。制御部１１は、電子回路の場合もあれば、コンピュータプログラムとそのコンピュータプログラムに従って動作するプロセッサによって実現される場合もある。
【００１７】
ファームウェア記憶部１２は、ファームウェアイメージ情報１２０−１乃至１２０−ｍ（ｍは１以上の任意の整数）と、機能一覧情報１２１と、を記憶している。ファームウェアイメージ情報１２０−１乃至１２０−ｍは、ブレードサーバ２０−１乃至２０−ｎが使用する可能性がある、ｍ種類のファームウェアイメージ情報である。
【００１８】
本実施形態に係るファームウェアイメージ情報１２０−１の構成を図２に例示する。ファームウェアイメージ情報１２０−２乃至１２０−ｍの構成も、ファームウェアイメージ情報１２０−１と同様であるので図示は省略する。ファームウェアイメージ情報１２０−１は、ファームウェアバージョン、機能コード、及び、ファームウェア本体を含んでいる。ファームウェアバージョン及び機能コードは、ファームウェア本体を識別可能なヘッダ情報である。ファームウェア本体は、ブレードサーバ２０−１乃至２０−ｎの少なくともいずれかによって実行されるファームウェアの本体であり、例えば、実行可能なプログラムコードである。ファームウェアイメージ情報１２０−ｊ（ｊは１乃至ｍのいずれかの整数）は、例えばブレードサーバシステム１を管理する管理者からの指示に従い、制御部１１によって、ファームウェア記憶部１２に新規追加、あるいは、ファームウェア記憶部１２から削除することができる。
【００１９】
本実施形態に係る機能一覧情報１２１の構成を図３に例示する。機能一覧情報１２１は、ファームウェアイメージ情報１２０−ｊが含む機能コードと、ファームウェアイメージ情報１２０−ｊが実現する機能の内容と、が関連付けされたテーブルである。図３に示す例の場合、例えば、ファームウェアイメージ情報１２０−ｊが含む機能コードが「０００２」である場合、このファームウェアを実行するブレードサーバ２０−ｉ（ｉは１乃至ｎのいずれかの整数）は、拡張機能１を実行可能であることを示している。ファームウェア管理装置１０は、機能一覧情報１２１の内容を、管理者が使用する端末装置の表示画面（不図示）に表示可能である。そして、管理者は、その端末装置を使用して、機能一覧情報１２１の内容を確認及び編集することができる。
【００２０】
適用基準情報記憶部１３は、適用基準情報１３０を記憶している。本実施形態に係る適用基準情報１３０の構成を図４に例示する。適用基準情報１３０は、ブレードサーバ２０−１乃至２０−ｎの各々について、使用するファームウェアイメージ情報１２０−ｊが含む機能コードの値と、ファームウェアバージョンの値を示したテーブルである。図４に示す例の場合、例えば、ブレードサーバ２０−１は、機能コードの値が「０００２」であり、ファームウェアバージョンの値が「２．０５」であるファームウェアイメージ情報１２０−ｊを使用することを示している。適用基準情報１３０の内容は、ブレードサーバ２０−１乃至２０−ｎ、あるいは、管理者によって更新可能である。尚、適用基準情報１３０の構成は、図４に例示する構成以外の構成であってもよい。例えば、ファームウェアバージョンの値が、値が異なる機能コードの間で重複しないように付与されている場合、適用基準情報１３０は、機能コードを含まない構成であってもよい。
【００２１】
ブートイメージ情報記憶部１４は、ブートイメージ情報１４０を記憶している。ブートイメージ情報１４０は、ブレードサーバ２０−１乃至２０−ｎが起動するために少なくとも必要となる機能が記述されたプログラムコードである。ブートイメージ情報１４０には、例えば、ブレードサーバ２０−１乃至２０−ｎがファームウェア管理装置１０と通信可能にする機能が記述されている。ブートイメージ情報１４０は、ブレードサーバ２０−１乃至２０−ｎによって共用される。
【００２２】
バスセレクタ１５は、ブートイメージ情報記憶部１４と、ブレードサーバ２０−１乃至２０−ｎとを通信可能に接続するデータバス３０について、ブートイメージ情報記憶部１４と１対１に電気的に接続する、ブレードサーバ２０−１乃至２０−ｎの何れかを選択する。バスセレクタ１５は、制御部１１によって制御される。
【００２３】
制御部１１は、ブレードサーバ２０−１乃至２０−ｎが起動するために必要となる、ブートイメージ情報１４０、及び、ファームウェアイメージ情報１２０−１乃至１２０−ｍを、ブレードサーバ２０−１乃至２０−ｎへ供給する処理に関する全般を制御する。
【００２４】
制御部１１は、マネジメントバス４０によって、ブレードサーバ２０−１乃至２０−ｎと通信可能に接続されている。マネジメントバス４０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、Ｉ２Ｃ（Ｉｎｔｅｒ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）バス、あるいは、ＳＭ（Ｓｙｓｔｅｍ  Ｍａｎａｇｅｍｅｎｔ）バス等である。制御部１１は、マネジメントバス４０を介して、ブレードサーバ２０−１乃至２０−ｎの状態を示す情報を入手する。
【００２５】
制御部１１は、ブレードサーバ２０−ｉに電源が供給されたことを検出した際に、ブレードサーバ２０−ｉ以外で、ブートイメージ情報１４０を使用して起動中であるブレードサーバが存在するか否か確認する。ブートイメージ情報１４０を使用して起動中であるブレードサーバが存在しない場合、制御部１１は、バスセレクタ１５を切り替えることにより、ブレードサーバ２０−ｉと、ブートイメージ情報記憶部１４と、を電気的に接続する。
【００２６】
制御部１１は、ブレードサーバ２０−ｉが、ファームウェアイメージ情報１２０−ｊの取得を要求している状態にある場合、適用基準情報記憶部１３に記憶された適用基準情報１３０を参照する。制御部１１は、適用基準情報１３０から、ブレートサーバ２０−ｉに関する機能コード及びファームウェアバージョンを取得する。制御部１１は、取得した機能コード及びファームウェアバージョンをヘッダ情報として含むファームウェアイメージ情報１２０−ｊを、ファームウェア記憶部１２から読み出す。制御部１１は、読み出したファームウェアイメージ情報１２０−ｊを、ブレードサーバ２０−ｉへ入力する。
【００２７】
ブレードサーバ２０−１乃至２０−ｎは、順に、マネジメントコントローラ２１−１乃至２１−ｎを備えている。マネジメントコントローラ２１−ｉは、ブレードサーバ２０−ｉについて、起動等の動作全般を制御する。マネジメントコントローラ２１−ｉは、データバス３０と接続され、ファームウェア管理装置１０からブートイメージ情報１４０を入手する。マネジメントコントローラ２１−ｉは、入手したブートイメージ情報１４０を使用して、ブレードサーバ２０−ｉを起動する。
【００２８】
マネジメントコントローラ２１−１乃至２１−ｎは、順に、取得要求フラグ２１０−１乃至２１０−ｎを備えている。マネジメントコントローラ２１−ｉは、ファームウェアイメージ情報１２０−ｊの取得をファームウェア管理装置１０に対して要求する場合、取得要求フラグ２１０−ｉを「１」に設定する。マネジメントコントローラ２１−ｉは、マネジメントバス４０と接続され、ファームウェア管理装置１０から、マネジメントバス４０を介してファームウェアイメージ情報１２０−ｊを入手する。マネジメントコントローラ２１−ｉは、取得要求フラグ２１０−ｉを「０」にリセットしたのち、入手したファームウェアイメージ情報１２０−ｊを使用して、ブレードサーバ２０−ｉを起動する。
【００２９】
ブレードサーバ２０−ｉが運用中に自装置の機能を変更する場合、マネジメントコントローラ２１−ｉは、適用基準情報１３０における、ブレートサーバ２０−ｉに関する機能コード及びファームウェアバージョンの値を、目的の機能を実現可能なファームウェアイメージ情報を特定する機能コード及びファームウェアバージョンの値に更新する。そののち、マネジメントコントローラ２１−ｉは、上述した処理を行うことによって、目的のファームウェアイメージ情報を入手する。マネジメントコントローラ２１−ｉは、当該ファームウェアイメージ情報を使用して、ブレードサーバ２０−ｉを起動する。
【００３０】
次に図５のフローチャートを参照して、本実施形態に係るブレードサーバシステム１がブートイメージ情報１４０を使用してブレードサーバ２０−ｉを起動する動作（処理）について詳細に説明する。
【００３１】
制御部１１は、マネジメントコントローラ２１０−ｉを介して、ブレードサーバ２０−ｉに電源が供給されたことを検出する（ステップＳ１０１）。制御部１１は、ブレードサーバ２０−ｉ以外で、ブートイメージ情報１４０を使用して起動中であるブレードサーバが存在するか確認する（ステップＳ１０２）。
【００３２】
起動中であるブレードサーバが存在する場合（ステップＳ１０３でＹｅｓ）、制御部１１は、所定の時間、待機して（ステップＳ１０６）、処理はステップＳ１０２へ戻る。起動中であるブレードサーバが存在しない場合（ステップＳ１０３でＮｏ）、制御部１１は、バスセレクタ１５を切り替えることにより、ブレードサーバ２０−ｉと、ブートイメージ情報記憶部１４と、を電気的に接続する（ステップＳ１０４）。マネジメントコントローラ２１０−ｉは、ブートイメージ情報記憶部１４からブートイメージ情報１４０を読み込んだのち、ブートイメージ情報１４０を使用してブレードサーバ２０−ｉを起動し（ステップＳ１０５）、全体の処理は終了する。
【００３３】
次に図６のフローチャートを参照して、本実施形態に係るブレードサーバシステム１がファームウェアイメージ情報１２０−ｊを使用してブレードサーバ２０−ｉを起動する動作（処理）について詳細に説明する。
【００３４】
ブレードサーバ２０−ｉが、ブートイメージ情報１４０を使用して起動した状態でない場合（ステップＳ２０１でＮｏ）、処理はステップＳ２０２へ進む。ブレードサーバ２０−ｉが、自装置の機能を変更しない場合（ステップＳ２０２でＮｏ）、全体の処理は終了する。ブレードサーバ２０−ｉが、自装置の機能を変更する場合（ステップＳ２０２でＹｅｓ）、マネジメントコントローラ２１−ｉは、適用基準情報１３０における、ブレートサーバ２０−ｉに関する機能コード及びファームウェアバージョンを、目的の値に更新し（ステップＳ２０３）、処理はステップＳ２０４へ進む。
【００３５】
ブレードサーバ２０−ｉが、ブートイメージ情報１４０を使用して起動した状態である場合（ステップＳ２０１でＹｅｓ）、マネジメントコントローラ２１−ｉは、取得要求フラグ２１０−ｉを「１」に設定する（ステップＳ２０４）。制御部１１は、取得要求フラグ２１０−ｉが「１」に設定されていることを確認する（ステップＳ２０５）。
【００３６】
制御部１１は、適用基準情報１３０を参照し、ブレートサーバ２０−ｉに関する機能コード及びファームウェアバージョンの値を取得する（ステップＳ２０６）。制御部１１は、取得した機能コード及びファームウェアバージョンの値をヘッダ情報として含むファームウェアイメージ情報１２０−ｊを、ファームウェア記憶部１２から読み出す（ステップＳ２０７）。制御部１１は、読み出したファームウェアイメージ情報１２０−ｊを、ブレードサーバ２０−ｉへ入力する（ステップＳ２０８）。
【００３７】
マネジメントコントローラ２１−ｉは、取得要求フラグ２１０−ｉを「０」にリセットする（ステップＳ２０９）。マネジメントコントローラ２１−ｉは、ファームウェアイメージ情報１２０−ｊを使用して、ブレードサーバ２０−ｉを起動し（ステップＳ２１０）、全体の処理は終了する。
【００３８】
本実施形態に係るブレードサーバシステム１は、システムが備える情報処理装置（ブレードサーバ）の台数にかかわらず、当該情報処理装置が使用するファームウェア等の情報処理装置の基本機能を実現するソフトウェアを、効率的に管理することができる。その理由は、ファームウェア記憶部１２が、ファームウェアイメージ情報１２０−１乃至１２０−ｍを記憶し、制御部１１が、ブレードサーバ２０−ｉが起動する際に、適用基準情報１３０が示すファームウェアイメージ情報１２０−ｊを、ファームウェア記憶部１２から読み出してブレードサーバ２０−ｉへ入力するからである。
【００３９】
情報処理装置は、通常、起動する際に使用するファームウェアを、自装置が備えた不揮発性のメモリなどに記憶している。この場合、ファームウェアに更新が発生した場合、システム管理者は、個々の情報処理装置について、ファームウェアを更新する作業を行う必要がある。したがって、例えば、ブレードサーバ等、情報処理装置の台数が非常に多いシステムの場合、ファームウェアの管理作業が煩雑となるので、ファームウェアの更新漏れあるいは更新ミスによるシステム障害が発生する虞がある。
【００４０】
これに対して、本実施形態に係るブレードサーバシステム１では、ブレードサーバ２０−１乃至２０−ｎが個々にファームウェアを記憶するのではなく、ファームウェア管理装置１０におけるファームウェア記憶部１２が、ファームウェアを記憶する。適用基準情報記憶部１３は、ブレードサーバ２０−１乃至２０−ｎの各々がどの種類のファームウェアを使用するのかを示す適用基準情報１３０を記憶する。そして、制御部１１は、ブレードサーバ２０−ｉが起動する際に、適用基準情報１３０を参照し、ブレードサーバ２０−ｉが使用するファームウェアをファームウェア記憶部１２から読み出す。制御部１１は、読み出したファームウェアをブレードサーバ２０−ｉに入力する。これにより、本実施形態に係るブレードサーバシステム１は、ファームウェア管理装置１０によって、ファームウェアを一元管理することができる。例えば、ブレードサーバ２０−１乃至２０−ｎの台数が数百台であったとしても、これらのブレードサーバが使用するファームウェアが数種類である場合、ファームウェア管理装置１０は、これら数種類のファームウェアのみを管理すればよい。したがって、本実施形態に係るブレードサーバシステム１は、情報処理装置の台数にかかわらず、当該情報処理装置が使用するファームウェアを効率的に管理することができる。
【００４１】
また、本実施形態に係るブレードサーバシステム１では、ブレードサーバ２０−１乃至２０−ｎは、ファームウェア管理装置１０との通信を行うことができる状態になるまでの起動を、ブートイメージ情報１４０を使用することによって行う。ブートイメージ情報１４０が実現する機能は、ファームウェア管理装置１０との通信機能等、ブレードサーバ２０−１乃至２０−ｎが起動処理を継続するために必要となる最小限の機能を含んでいればよい。したがって、ブートイメージ情報１４０を、ブレードサーバ２０−１乃至２０−ｎが共用可能な内容にすることが可能である。これにより、本実施形態に係るブレードサーバシステム１では、１種類のブートイメージ情報１４０を備えればよいため、ブートイメージ情報１４０についても、効率的に管理することができる。
【００４２】
さらに、本実施形態に係るブレードサーバシステム１では、ブレードサーバ２０−ｉが運用中にファームウェアを変更することによって自装置の機能を変更する場合、適用基準情報１３０における、ブレートサーバ２０−ｉに関する機能コード及びファームウェアバージョンを、目的の値に更新する。そして、ファームウェア管理装置１０は、更新された適用基準情報１３０に基づいて、ブレードサーバ２０−ｉに、目的のファームウェアを入力する。その後、ブレードサーバ２０−ｉは、入力された目的のファームウェアを使用して再起動する。これにより、本実施形態に係るブレードサーバシステム１は、ブレードサーバ２０−１乃至２０−ｎの機能を、動的に変更することができる。
【００４３】
尚、本実施形態に係るファームウェア管理装置１０は、ブレードサーバ２０−１乃至２０−ｎが使用するファームウェアを一元管理しているが、ファームウェア管理装置１０が管理する対象はファームウェアに限定されない。ファームウェア管理装置１０は、情報処理装置が動作を開始する際に実行する当該情報処理装置の基本機能を実現するソフトウェアとして、例えばオペレーティングシステム等を一元管理してもよい。
【００４４】
また、本実施形態が示す技術を適用するシステムは、ブレードサーバシステムに限定されない。本実施形態が示す技術は、個々に筐体を備える情報処理装置を有するシステム、あるいは、仮想サーバを有するシステム等にも適用可能である。
【００４５】
＜第２の実施形態＞
図７は、第２の実施形態に係るソフトウェア管理装置５０の構成を概念的に示すブロック図である。
【００４６】
本実施形態に係るソフトウェア管理装置５０は、制御部５１、基本機能ソフトウェア記憶部５２、及び、適用基準情報記憶部５３を備えている。
【００４７】
適用基準情報記憶部５３は、適用基準情報５３０を記憶する。適用基準情報５３０は、１以上の情報処理装置６０−１乃至６０−ｎ（ｎは１以上の任意の整数）を識別可能な識別子と、基本機能ソフトウェア５２０−１乃至５２０−ｍ（ｍは１以上の任意の整数）の種類を識別可能な識別子と、が関連付けられた情報である。基本機能ソフトウェア５２０−１乃至５２０−ｍは、情報処理装置６０−１乃至６０−ｎが起動する際に外部から入手して実行するソフトウェアである。
【００４８】
基本機能ソフトウェア記憶部５２は、前記基本機能ソフトウェア５２０−１乃至５２０−ｍを記憶する。
【００４９】
制御部５１は、情報処理装置６０−１乃至６０−ｎのうち、特定の情報処理装置６０−ｉ（ｉは１乃至ｎのいずれかの整数）が起動を開始する状態にあることを検知する。そのとき、制御部５１は、適用基準情報記憶部５３に記憶されている適用基準情報５３０の中で、特定の情報処理装置６０−ｉと関連付けられた種類に対応する基本機能ソフトウェア５２０−ｊ（ｊは１乃至ｍのいすれかの整数）を、基本機能ソフトウェア記憶部５２から読み出す。制御部５１は、読み出した基本機能ソフトウェア５２０−ｊを、特定の情報処理装置６０−ｉに入力する。
【００５０】
本実施形態に係るソフトウェア管理装置５０は、システムが備える情報処理装置の台数にかかわらず、当該情報処理装置が使用するファームウェア等の情報処理装置の基本機能を実現するソフトウェアを、効率的に管理することができる。その理由は、基本機能ソフトウェア記憶部５２が、基本機能ソフトウェア５２０−１乃至５２０−ｍを記憶し、制御部５１が、情報処理装置６０−ｉが起動する際に、適用基準情報５３０が示す基本機能ソフトウェア５２０−ｊを、基本機能ソフトウェア記憶部５２から読み出して情報処理装置６０−ｉへ入力するからである。
【００５１】
＜ハードウェア構成例＞
上述した各実施形態において図１、及び、図７に示した各部は、専用のＨＷ（ＨａｗｄＷａｒｅ）（電子回路）によって実現することができる。また、少なくとも、制御部１１及び５１は、ソフトウェアプログラムの機能（処理）単位（ソフトウェアモジュール）と捉えることができる。但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図８を参照して説明する。
【００５２】
図８は、本発明の模範的な実施形態に係るファームウェア管理装置、あるいは、ソフトウェア管理装置を実行可能な情報処理装置９００（コンピュータ）の構成を例示的に説明する図である。即ち、図８は、図１に示したファームウェア管理装置、及び、図７に示したソフトウェア管理装置を実現可能なコンピュータ（情報処理装置）の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
【００５３】
図８に示した情報処理装置９００は、構成要素として下記を備えている。
・ＣＰＵ（Ｃｅｎｔｒａｌ＿Ｐｒｏｃｅｓｓｉｎｇ＿Ｕｎｉｔ）９０１、
・ＲＯＭ（Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）９０２、
・ＲＡＭ（Ｒａｎｄｏｍ＿Ａｃｃｅｓｓ＿Ｍｅｍｏｒｙ）９０３、
・ハードディスク９０４（記憶装置）、
・外部装置との通信インタフェース９０５（Ｉｎｔｅｒｆａｃｅ：以降、「Ｉ／Ｆ」と称する）、
・ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ＿Ｄｉｓｃ＿Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）等の記憶媒体９０７に格納されたデータを読み書き可能なリーダライタ９０８、
・入出力インタフェース９０９、
情報処理装置９００は、これらの構成がバス９０６（通信線）を介して接続された一般的なコンピュータである。
【００５４】
そして、上述した実施形態を例に説明した本発明は、図８に示した情報処理装置９００に対して、次の機能を実現可能なコンピュータプログラムを供給する。その機能とは、その実施形態の説明において参照したブロック構成図（図１、及び、図７）における、制御部１１及び５１、或いはフローチャート（図５、及び、図６）の機能である。本発明は、その後、そのコンピュータプログラムを、当該ハードウェアのＣＰＵ９０１に読み出して解釈し実行することによって達成される。また、当該装置内に供給されたコンピュータプログラムは、読み書き可能な揮発性の記憶メモリ（ＲＡＭ９０３）またはハードディスク９０４等の不揮発性の記憶デバイスに格納すれば良い。
【００５５】
また、前記の場合において、当該ハードウェア内へのコンピュータプログラムの供給方法は、現在では一般的な手順を採用することができる。その手順としては、例えば、ＣＤ−ＲＯＭ等の各種記憶媒体９０７を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等がある。そして、このような場合において、本発明は、係るコンピュータプログラムを構成するコード或いは、そのコードが格納された記憶媒体９０７によって構成されると捉えることができる。
【００５６】
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【符号の説明】
【００５７】
１    ブレードサーバシステム
１０    ファームウェア管理装置
１１    制御部
１２    ファームウェア記憶部
１２０−１乃至１２０−ｍ    ファームウェアイメージ情報
１２１    機能一覧情報
１３    適用基準情報記憶部
１３０    適用基準情報
１４    ブートイメージ情報記憶部
１４０    ブートイメージ情報
１５    バスセレクタ
２０−１乃至２０−ｎ    ブレードサーバ
２１−１乃至２１−ｎ    マネジメントコントローラ
２１０−１乃至２１０−ｎ    取得要求フラグ
３０    データバス
４０    マネジメントバス
５０    ソフトウェア管理装置
５１    制御部
５２    基本機能ソフトウェア記憶部
５２０−１乃至５２０−ｍ    基本機能ソフトウェア
５３    適用基準情報記憶部
５３０    適用基準情報
６０−１乃至６０−ｎ    情報処理装置
９００    情報処理装置
９０１    ＣＰＵ
９０２    ＲＯＭ
９０３    ＲＡＭ
９０４    ハードディスク
９０５    通信インタフェース
９０６    バス
９０７    記憶媒体
９０８    リーダライタ
９０９    入出力インタフェース
【図１】
0006449626.tif 000002
【図２】
0006449626.tif 000003
【図３】
0006449626.tif 000004
【図４】
0006449626.tif 000005
【図５】
0006449626.tif 000006
【図６】
0006449626.tif 000007
【図７】
0006449626.tif 000008
【図８】
0006449626.tif 000009