(57)【要約】【課題】情報処理システムにおいて情報処理装置の起動プログラムの管理を省力化する。【解決手段】情報処理システム１は、複数の情報処理装置３と、複数の情報処理装置３の起動に用いられる複数の起動プログラム１７を管理する管理装置２とを有し、記管理装置２は、複数の起動プログラム１７を格納する格納部１６と、複数の情報処理装置３のうちの１つの情報処理装置３の構成情報を取得する構成情報取得部３２と、取得した構成情報に基づいて格納部１６に格納されている複数の起動プログラム１７から、１つの情報処理装置３に対応する起動プログラム１７を選択する選択部３３と、選択部３３によって選択された起動プログラム１７を１つの情報処理装置３に送信する送信部３４と、を有する。【選択図】図１
2015148861.tif 000002
【特許請求の範囲】
【請求項１】
複数の情報処理装置と、
前記複数の情報処理装置の起動に用いられる複数の起動プログラムを管理する管理装置とを有し、
前記管理装置は、
前記複数の起動プログラムを格納する格納部と、
前記複数の情報処理装置のうちの１つの情報処理装置の構成情報を取得する構成情報取得部と、
取得した構成情報に基づいて前記格納部に格納されている前記複数の起動プログラムから、前記１つの情報処理装置に対応する起動プログラムを選択する選択部と、
前記選択部によって選択された起動プログラムを前記１つの情報処理装置に送信する送信部と、
を有することを特徴とする
情報処理システム。
【請求項２】
前記選択部は、前記１つの情報処理装置に対応する起動プログラムが複数存在する場合に、該１つの情報処理装置の構成情報と、既存のコンピュータの構成情報との一致度に基づいて、前記起動プログラムから１つの起動プログラムを選択する
ことを特徴とする請求項１記載の情報処理システム。
【請求項３】
前記管理装置は、前記１つの情報処理装置から起動プログラム要求を受信する受信部をさらにそなえ、
前記受信部が前記起動プログラム要求を受信したことを受けて、前記選択部が前記起動プログラムの選択を行ない、前記送信部が選択された前記起動プログラムを送信する
ことを特徴とする請求項１又は２記載の情報処理システム。
【請求項４】
前記管理装置は変更不可フラグをそなえ、
前記選択部は、前記１つの情報処理装置に対して前記変更不可フラグが設定されている場合、前記１つの情報処理装置に対する起動プログラムの選択をスキップする
ことを特徴とする請求項１〜３のいずれか１項に記載の情報処理システム。
【請求項５】
前記情報処理装置は、該情報処理装置の電源投入を検知すると、該情報処理装置が前回起動されてから該情報処理装置の構成変更が行なわれたかどうかを判定し、構成変更が行なわれたと判定した場合、前記管理装置に構成変更を通知する起動管理部をそなえる
ことを特徴とする請求項１〜４のいずれか１項に記載の情報処理システム。
【請求項６】
前記複数の起動プログラムは前記複数の情報処理装置の基本入出力システムプログラムである
ことを特徴とする請求項１〜５のいずれか１項に記載の情報処理システム。
【請求項７】
複数の情報処理装置の起動に用いられる複数の起動プログラムを管理するためのプログラム管理方法であって、
前記複数の情報処理装置のうちの１つの情報処理装置の構成情報を取得し、
取得した構成情報に基づいて前記複数の起動プログラムから、前記１つの情報処理装置に対応する起動プログラムを選択し、
前記選択した起動プログラムを前記１つの情報処理装置に送信して該情報処理装置を起動させる
ことを特徴とするプログラム管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム及びプログラム管理方法に関する。
【背景技術】
【０００２】
従来、一般的なコンピュータにおいては、１枚のマザーボードに、Central Processing Unit（ＣＰＵ）と、基本入出力システム（Basic Input/Output System；ＢＩＯＳ）プログラムを納めたErasable Programmable Read-only Memory（ＥＰＲＯＭ）、Electrically Erasable Programmable ＲＯＭ（ＥＥＰＲＯＭ）などのＲＯＭとが搭載されている。
ＢＩＯＳプログラムとは、コンピュータのハードウェアに対して最も低レベルの入出力を行なうためのプログラムであり、コンピュータの電源投入時に読み込まれて起動される。ＢＩＯＳプログラムは、１台のコンピュータに１つ以上提供される。ＢＩＯＳプログラムは、ＣＰＵ、メモリ、Hard Disk Drive（ＨＤＤ）、オプションカードなどのコンピュータの各種ハードウェア部品を初期化して、ブートローダを呼び出す。
【０００３】
以降、簡潔を期するために、ＢＩＯＳプログラムを「ＢＩＯＳ」とも呼ぶ。
１台のコンピュータに複数のＢＩＯＳが提供されている場合、コンピュータの起動時にどのＢＩＯＳを使用（ロード）するかを設定するために、管理テーブルが使用される。使用ＢＩＯＳの設定は、コンピュータのハードウェアの構成等に基づいて管理者が行なう。
複数のＢＩＯＳをそなえるコンピュータにおいては、電源の投入時に、ＣＰＵがリセットされたのち、管理テーブルに基づいてロードするＢＩＯＳが特定される。そして、特定されたＢＩＯＳがＲＯＭから読み込まれ、ＢＩＯＳが起動される。ＣＰＵがＢＩＯＳに従ってマザーボード上の各種部品にアクセスし、コンピュータの起動処理を行なう。
【０００４】
コンピュータのＢＩＯＳを更新する際には、コンピュータ毎にＢＩＯＳ更新プログラムを実行してＢＩＯＳの更新を行なう。
しかし、数十台〜数百台など、コンピュータが多数存在する情報処理システムにおいては、コンピュータ毎にＢＩＯＳ更新プログラムを実行するのは極めて煩雑である。
そこで、ＢＩＯＳの更新処理を簡略化するために、管理サーバから対象のコンピュータにプログラムや設定情報を一括配信してＢＩＯＳを自動更新する手法が提案されている。
【０００５】
しかし、このような手法では、管理者が、個々のコンピュータについて、当該コンピュータの種別、並びにコンピュータに搭載されているＣＰＵやメモリ、拡張カード等のハードウェア構成を調べ、構成情報に基づいてＢＩＯＳの自動更新設定を行なう必要がある。
又、管理サーバから複数のコンピュータにＢＩＯＳ更新を行なった後には、更新したＢＩＯＳを各コンピュータに反映するために、コンピュータを停止させる必要がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−５１７９６号公報
【特許文献２】特開２００６−７２９１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記課題に鑑みて、１つの側面では、本発明は、情報処理システムにおいて情報処理装置の起動プログラムの管理を省力化することを目的とする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の１つとして位置付けることができる。
【課題を解決するための手段】
【０００８】
このため、情報処理システムは、複数の情報処理装置と、前記複数の情報処理装置の起動に用いられる複数の起動プログラムを管理する管理装置とを有し、前記管理装置は、前記複数の起動プログラムを格納する格納部と、前記複数の情報処理装置のうちの１つの情報処理装置の構成情報を取得する構成情報取得部と、取得した構成情報に基づいて前記格納部に格納されている前記複数の起動プログラムから、前記１つの情報処理装置に対応する起動プログラムを選択する選択部と、前記選択部によって選択された起動プログラムを前記１つの情報処理装置に送信する送信部と、を有する。
【０００９】
又、複数の情報処理装置の起動に用いられる複数の起動プログラムを管理するためのプログラム管理方法は、前記複数の情報処理装置のうちの１つの情報処理装置の構成情報を取得し、取得した構成情報に基づいて前記複数の起動プログラムから、前記１つの情報処理装置に対応する起動プログラムを選択し、前記選択した起動プログラムを前記１つの情報処理装置に送信して該情報処理装置を起動させる。
【発明の効果】
【００１０】
開示の技術によれば、情報処理システムにおいて情報処理装置の起動プログラムの管理を省力化することができる。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態の一例としての情報処理システムの構成を示す模式図である。
【図２】第１実施形態の一例としてのＢＩＯＳ組合せテーブルを例示する図である。
【図３】第１実施形態の一例としてのＢＩＯＳ選択テーブルを例示する図である。
【図４】第１実施形態の一例としての情報処理システムにおけるコンピュータの新規追加時の処理を示すフローチャートである。
【図５】第１実施形態の一例としてのコンピュータの起動時のＢＩＯＳサーバの処理を示すフローチャートである。
【図６】第１実施形態の一例としてのＢＩＯＳ選択部によるＢＩＯＳ選択処理を示すフローチャートである。
【図７】第１実施形態の一例としてのコンピュータのハードウェア構成を表形式で例示する図である。
【図８】第１実施形態の一例としてのＢＩＯＳ組合せテーブルを例示する図である。
【図９】第２実施形態の一例としての情報処理システムの構成を示す模式図である。
【図１０】第２実施形態の一例としてのＢＩＯＳ組合せテーブルを例示する図である。
【図１１】第２実施形態の一例としてのＢＩＯＳ選択部によるＢＩＯＳ選択処理を示すフローチャートである。
【図１２】第３実施形態の一例としての情報処理システムの構成を示す模式図である。
【図１３】第３実施形態の一例としての情報処理システムにおけるコンピュータの電源投入時の処理を示すフローチャートである。
【図１４】第３実施形態の一例としての情報処理システムにおけるコンピュータの電源投入後のＢＩＯＳサーバの処理を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本情報処理システム及びプログラム管理方法に係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。又、各図は、図中に示す構成要素のみをそなえるという趣旨ではなく、他の機能等を含むことができる。
（Ａ）第１実施形態
図１は、第１実施形態の一例としての情報処理システム１の構成を示す模式図である。
【００１３】
本情報処理システム１においては、ＢＩＯＳサーバ（管理装置）２が、Local Area Network（ＬＡＮ）やInternet Small Computer System Interface（ｉＳＣＳＩ）等の通信リンク４を介してコンピュータ（情報処理装置）３−１〜３−ｎ（ｎは２以上の整数）に対して通信可能に接続されている。
なお、以下、コンピュータを示す符号としては、複数のコンピュータのうち１つを特定する必要があるときには符号３−１〜３−ｎを用いるが、任意のコンピュータを指すときには符号３を用いる。又、コンピュータ３−１〜３−ｎを、コンピュータ＃１〜＃ｎと記載することもある。
【００１４】
ＢＩＯＳサーバ２は、例えば、サーバ機能をそなえたコンピュータであり、不図示のＣＰＵやメモリのほか、電源制御スイッチ５及びシステム通信コントローラ６をそなえる。
電源制御スイッチ５は、後述するコンピュータ３の電源部９の操作を管理者が遠隔制御するためのスイッチである。電源制御スイッチ５は、管理者によって操作されると、例えば通信リンク４を介して、制御信号（電源投入又は電源切断）をコンピュータ３に送信する。
【００１５】
電源制御スイッチ５としては、公知の遠隔操作用のスイッチを用いることができる。
システム通信コントローラ６は、後述するコンピュータ３のＢＩＯＳ通信コントローラ１０との間で通信リンク４を介した通信を確立するインタフェースである。
その際、後述するＢＩＯＳサーバ２のアドレス管理部３５が、Dynamic Host Configuration Protocol（ＤＨＣＰ）サーバとしての機能を備えており、後述するアドレステーブル３６を使用して、コンピュータ３に割り当てる（付与する）アドレスを決定する。
【００１６】
ここで、ＢＩＯＳサーバ２のアドレス（例えば、Internet Protocol（ＩＰ）アドレス）が、例えば、不図示のタイムサーバ内に事前に設定されており、タイムサーバがコンピュータ３に対してタイムサーバのアドレスを配布する。
コンピュータ３は、タイムサーバから配信されたタイムサーバのアドレスを使用してタイムサーバにアクセスし、ＢＩＯＳサーバ２のＩＰアドレスを取得する。
【００１７】
その後、コンピュータ３はＢＩＯＳサーバ２のＩＰアドレスを使用して、ＢＩＯＳサーバ２に接続する。その際、ＤＨＣＰサーバとしてのアドレス管理部３５により、コンピュータ３に対してアドレスが付与され、コンピュータ３とＢＩＯＳサーバ２との間の通信が確立される。
システム通信コントローラ６は、コンピュータ３のＢＩＯＳ通信コントローラ１０との間で通信を行なう。例えば、システム通信コントローラ６は、ＢＩＯＳ通信コントローラ１０を介して、コンピュータ３のＢＩＯＳ管理部１１に対し、ＢＩＯＳ１７のデータや制御信号（電源投入・切断信号等）などを送信すると共に、ＢＩＯＳ通信コントローラ１０からデータを受信する。又、システム通信コントローラ６は、各コンピュータ３から、ＢＩＯＳ通信コントローラ１０を介して当該コンピュータ３の情報（例えば構成情報）などの情報を受け取る。
【００１８】
又、ＢＩＯＳサーバ２は、ＢＩＯＳ管理部１１とＢＩＯＳ格納部１６とをそなえる。
ＢＩＯＳ格納部１６は、ＢＩＯＳプログラム（起動プログラム）１７−１〜１７−ｍ（ｍは２以上の整数）を格納している。ＢＩＯＳ格納部１６としては、例えば、ＥＰＲＯＭやＥＥＰＲＯＭなどのＲＯＭや、Hard Disk Drive（ＨＤＤ）、Solid State Drive（ＳＳＤ）を用いることができる。
【００１９】
ＢＩＯＳプログラム１７−１〜１７−ｍは、後述するコンピュータ３−１〜３−ｎの起動時に、当該コンピュータ３のハードウェアに対して最も低レベルの入出力を行なうためのプログラムである。
以下、簡潔を期するために、ＢＩＯＳプログラム１７−１〜１７−ｍをＢＩＯＳ１７−１〜１７−ｍとも称する。
【００２０】
なお、以下、ＢＩＯＳを示す符号としては、複数のＢＩＯＳのうち１つを特定する必要があるときには符号１７−１〜１７−ｍを用いるが、任意のＢＩＯＳを指すときには符号１７を用いる。又、ＢＩＯＳ１７−１〜１７−ｍを、ＢＩＯＳ＃１〜＃ｍと記載することもある。
本第１実施形態の一例においては、ＢＩＯＳ１７はコンピュータ３に存在せず、コンピュータ３の電源投入時に、ＢＩＯＳサーバ２から取得され、コンピュータ３の起動処理が行なわれる。
【００２１】
コンピュータ３−１は、ＣＰＵ７、メモリ８、電源部９、及びＢＩＯＳ通信コントローラ１０をそなえ、これらがシステムバス５１によって相互に接続されている。なお、コンピュータ３−２〜３−ｎも、コンピュータ３−１と同様の構成及び機能を有するため、コンピュータ３−２〜３−ｎの構成及び機能については図示並びに説明を省略する。
ＣＰＵ７は、種々の制御や演算を行なう処理装置であり、Operating System（ＯＳ）やプログラムを実行することにより、コンピュータ３において種々の機能を実現する。
【００２２】
メモリ８は、ＣＰＵ７が実行するプログラムや種々のデータや、ＣＰＵ７の動作により得られたデータ等を一時的に格納する。メモリ８としては、例えば、Random Access Memory（ＲＡＭ）を使用することができる。又、メモリ８は、後述する構成情報記憶部２２としても機能する。
電源部９は、コンピュータ３の電源スイッチである。なお、本実施形態の一例においては、コンピュータ３の電源ケーブルが壁面ＡＣコンセント等に接続されると、コンピュータ３が待機電源状態に入る。この待機電源状態は、コンピュータ３が起動されていないが、例えばＢＩＯＳ通信コントローラ１０等、一部の部品に給電が行なわれており、ＢＩＯＳサーバ２の電源制御スイッチ５の操作による遠隔電源投入が可能な状態である。
【００２３】
待機電源状態のコンピュータ３を業務等に使用する際には、ＢＩＯＳサーバ２の電源制御スイッチ５を介してコンピュータ３に電源が投入され、コンピュータ３が起動される。或いは、コンピュータ３は、待機電源が投入されている状態で、ユーザが電源部９のスイッチを直接操作することにより起動することもできる。
ＢＩＯＳ通信コントローラ１０は、ＢＩＯＳサーバ２のシステム通信コントローラ６との間で通信リンク４を介した通信を確立するインタフェースである。例えば、ＢＩＯＳ通信コントローラ１０は、システム通信コントローラ６を介して、構成情報記憶部２２に格納されているコンピュータ３のハードウェア部品の構成情報を、後述するＢＩＯＳ管理部１１に送信する。
【００２４】
本情報処理システム１においては、ＢＩＯＳサーバ２の電源制御スイッチ５の操作やユーザの電源部９の操作により、コンピュータ３−１〜３−ｎのいずれかの電源が投入されると、当該コンピュータ３は、ＢＩＯＳサーバ２にＢＩＯＳ送信要求を送信する。ＢＩＯＳサーバ２がＢＩＯＳ送信要求を受信すると、ＢＩＯＳサーバ２のＢＩＯＳ管理部１１が、ＢＩＯＳ送信要求を送信したコンピュータ３に適したＢＩＯＳプログラム１７を選択して、このＢＩＯＳプログラム１７をコンピュータ３に送信する。そして、このＢＩＯＳプログラム１７を使用して、コンピュータ３が起動される。
【００２５】
このため、ＢＩＯＳ管理部１１は、ＢＩＯＳ制御部１２と管理情報記憶部１３とをそなえる。管理情報記憶部１３は、ＢＩＯＳ組合せテーブル１４、ＢＩＯＳ選択テーブル１５、及びアドレステーブル３６の情報を記憶している。
ＢＩＯＳ制御部１２は、要求受信部（受信部）３１、構成情報取得部３２、ＢＩＯＳ選択部（選択部）３３、ＢＩＯＳ送信部（送信部）３４、及びアドレス管理部３５をそなえる。
【００２６】
要求受信部３１は、電源投入が行なわれたコンピュータ３からＢＩＯＳ送信要求を受信する。
構成情報取得部３２は、コンピュータ３の後述する起動制御部４１に対して、当該コンピュータ３の構成情報を送信するように要求する。
ＢＩＯＳ選択部３３は、後述する管理情報記憶部１３のＢＩＯＳ組合せテーブル１４を参照して、ＢＩＯＳ送信要求の送信元のコンピュータ３に割り当てられているＢＩＯＳ１７を選択する。ＢＩＯＳ組合せテーブル１４に、当該コンピュータ３に割り当て済みのＢＩＯＳ１７が存在しない場合、ＢＩＯＳ選択部３３は、ＢＩＯＳ格納部１６に格納されているＢＩＯＳ１７の中から適切なＢＩＯＳ１７を選択する。その際、ＢＩＯＳ選択部３３は、構成情報取得部３２が取得したコンピュータ３の構成情報と、後述するＢＩＯＳ選択テーブル１５とを比較して適切なＢＩＯＳ１７を判断する。そして、選択したＢＩＯＳ１７とコンピュータ３のアドレスとの組合せを、ＢＩＯＳ組合せテーブル１４に追加する。なお、ＢＩＯＳ選択部３３によるＢＩＯＳ選択処理については図６を用いて後述する。
【００２７】
ＢＩＯＳ送信部３４は、システム通信コントローラ６に、ＢＩＯＳ選択部３３が選択したＢＩＯＳ１７をＢＩＯＳ送信要求の送信元のコンピュータ３に送信させる。
アドレス管理部３５は、ＤＨＣＰサーバとしての機能を備えており、後述するアドレステーブル３６を参照して、コンピュータ３に、未使用かつ情報処理システム１で一意のアドレスを割り当てる。
【００２８】
ここで、前述のように、ＢＩＯＳサーバ２のアドレス（例えば、ＩＰアドレス）が、例えば、不図示のタイムサーバ内に事前に設定されており、タイムサーバがコンピュータ３にタイムサーバのアドレスを配布する。
コンピュータ３は、タイムサーバから配信されたタイムサーバのアドレスを使用してタイムサーバにアクセスし、ＢＩＯＳサーバ２のＩＰアドレスを取得する。
【００２９】
その後、コンピュータ３はＢＩＯＳサーバ２のＩＰアドレスを使用して、ＢＩＯＳサーバ２に接続する。その際、ＤＨＣＰサーバとしてのアドレス管理部３５により、コンピュータ３に対してアドレスが付与され、コンピュータ３とＢＩＯＳサーバ２との間の通信が確立される。
ＢＩＯＳ組合せテーブル１４は、コンピュータ３と、当該コンピュータ３に割り当てられているＢＩＯＳ１７との組合せ（ペア）を記憶しているテーブルである。
【００３０】
図２は、第１実施形態の一例としてのＢＩＯＳ組合せテーブル１４を例示する図である。
ＢＩＯＳ組合せテーブル１４は、コンピュータアドレス列１４１と、ＢＩＯＳ  ＩＤ列１４２とを相互に対応付けて記憶している。
コンピュータアドレス列１４１は、アドレス管理部３５によって割り当てられ、コンピュータ３を一意に識別するコンピュータ３のアドレスを格納している。コンピュータ３のアドレスとしては、例えば、コンピュータ３のＩＰアドレスなどを使用することができる。
【００３１】
ＢＩＯＳ  ＩＤ列１４２は、ＢＩＯＳ１７を一意に識別する識別情報（ＩＤ等）を格納している。
ＢＩＯＳ選択テーブル１５は、ＢＩＯＳ１７に対応するコンピュータ３のハードウェア（マザーボード、ＣＰＵ、メモリ、拡張デバイス等）の組み合わせを記憶しているテーブルである。ＢＩＯＳ選択テーブル１５は、後述するＢＩＯＳ選択部３３が、コンピュータ３の構成情報から、当該コンピュータ３に適したＢＩＯＳ１７を選択する際に使用する情報を格納している。
【００３２】
図３は、第１実施形態の一例としてのＢＩＯＳ選択テーブル１５を例示する図である。
ＢＩＯＳ選択テーブル１５は、行ＩＤ列１５０、ＢＩＯＳ  ＩＤ列１５１、ボードＩＤ列１５２、ＣＰＵ列１５３、メモリ列１５５、及び拡張デバイス列１５６を、相互に対応付けて記憶している。
行ＩＤ列１５０は、ＢＩＯＳ選択テーブル１５内の行（エントリ）を一意に識別する識別情報（行番号等）を格納している。
【００３３】
ＢＩＯＳ  ＩＤ列１５１は、ＢＩＯＳ１７を一意に識別する識別情報（ＩＤ等）を格納している。図３に示す例では、ＢＩＯＳ  ＩＤ列１５１に“１”，“２”，“３”，“４”の値が格納されている。
ボードＩＤ列１５２は、ＢＩＯＳ  ＩＤ列１５１の値によって識別されるＢＩＯＳ１７に対応するコンピュータ３の不図示のマザーボードを一意に識別する値（ＩＤ等）を記憶している。図３に示す例では、ボードＩＤ列１５２に“１００”，“２００”，“３００”の値が格納されている。
【００３４】
ＣＰＵ列１５３は、ＢＩＯＳ  ＩＤ列１５１の値によって識別されるＢＩＯＳ１７に対応するコンピュータ３のＣＰＵ７を一意に識別する値（ＩＤ等）を記憶している。ＣＰＵ列１５３に値“＊”（ワイルドカード）が指定されている場合、全てのＣＰＵ７を使用可能であることを示す。なお、ＢＩＯＳ選択テーブル１５にＣＰＵ列１５３が複数設けられてもよい。例えば、図８に示すＢＩＯＳ選択テーブル１５の別の例では、ＣＰＵの列が、ＣＰＵ＃１  １５３とＣＰＵ＃２  １５４と、２列設けられている。
【００３５】
メモリ列１５５は、ＢＩＯＳ  ＩＤ列１５１の値によって識別されるＢＩＯＳ１７に対応するコンピュータ３のメモリ８を一意に識別する値（ＩＤ等）を記憶している。メモリ列１５５に値“＊”（ワイルドカード）が指定されている場合、全てのメモリ８を使用可能であることを示す。
拡張デバイス列１５６は、ＢＩＯＳ  ＩＤ列１５１の値によって識別されるＢＩＯＳ１７に対応するコンピュータ３の不図示の拡張デバイス（拡張ボード等）を一意に識別する値（ＩＤ等）を記憶している。拡張デバイス列１５６に値“＊”（ワイルドカード）が指定されている場合、全ての拡張デバイスを使用可能であることを示す。なお、ＢＩＯＳ選択テーブル１５に拡張デバイス列１５６が複数設けられてもよい。例えば、図８に示すＢＩＯＳ選択テーブル１５の別の例では、拡張デバイスの列が、スロット＃１〜＃４  １５６〜１５９と、４列設けられている。
【００３６】
また、ＢＩＯＳ選択テーブル１５には、個々のハードウェア部品毎に、システム管理者によって事前に重みの値が記憶されている。この重みは、ＢＩＯＳ選択部３３により、コンピュータ３全体でのハードウェア構成の一致の度合いを数値化した値（一致度）である重み合計値を算出するために用いられる。重み合計値の算出については図６〜図８を用いて後述する。
【００３７】
アドレステーブル３６は、情報処理システム１に存在する全ての情報処理装置（ＢＩＯＳサーバ２、コンピュータ３等）や不図示のスイッチ等のアドレスと、情報処理システム１でまだ使用されていないアドレスとを格納しているテーブルである。アドレステーブル３６は、後述するアドレス管理部３５によって、コンピュータ３へのアドレスの付与に使用される。アドレス管理部３５は、アドレステーブル３６を参照して、各コンピュータ３に割り当て済みのアドレスと、未使用のアドレスとを知ることができる。
【００３８】
又、ＣＰＵ７は、不図示の起動管理プログラムを実行することにより、起動制御部４１としての機能を実行する。
起動制御部４１は、コンピュータ３の電源投入時に、コンピュータ３の起動に必要なＢＩＯＳ１７の送信をＢＩＯＳサーバ２に対して要求し、ＢＩＯＳサーバ２から送信されたＢＩＯＳ１７を使用してコンピュータ３を起動させる。
【００３９】
このため、起動制御部４１は、構成情報収集部４２、Ｐ−ＯＮ検知部４３、ＢＩＯＳ要求部４４、及びＢＩＯＳ実行部４５を有する。
構成情報収集部４２は、コンピュータ３に搭載されているハードウェア部品（マザーボード、ＣＰＵ、メモリ、拡張デバイス等）の構成情報を取得して、これを後述する構成情報記憶部２２の構成記憶テーブル２３に書き込む。
【００４０】
Ｐ−ＯＮ検知部４３は、ＢＩＯＳサーバ２から電源投入信号を受信するか、又はユーザがコンピュータ３の電源部９のスイッチを操作したときに、コンピュータ３の電源が投入されたことを検知する。
ＢＩＯＳ要求部４４は、Ｐ−ＯＮ検知部４３がコンピュータ３の電源投入を検知すると、ＢＩＯＳサーバ２に対して、ＢＩＯＳ送信要求を送信する。その後、ＢＩＯＳ要求部４４は、ＢＩＯＳサーバ２から構成情報を要求されると、構成情報収集部４２が取得した構成情報をＢＩＯＳサーバ２に送信する。
【００４１】
ＢＩＯＳ実行部４５は、ＢＩＯＳサーバ２からＢＩＯＳ１７を受け取り、当該ＢＩＯＳ１７を実行してコンピュータ３の起動を開始する。
構成情報記憶部２２は、構成記憶テーブル２３を記憶している。構成記憶テーブル２３は、コンピュータ３にそなえられている全ハードウェア部品（ハードウェア）の情報を記憶しているテーブルである。構成記憶テーブル２３としては、コンピュータ３に一般的に使用される構成テーブルを使用することができるため、その詳細な説明は省略する。
【００４２】
次に、図４〜図８を参照して、本情報処理システム１における処理を説明する。
図４は、第１実施形態の一例としての情報処理システム１におけるコンピュータ３の新規追加時の処理を示すフローチャート（ステップＳ１〜Ｓ１５）である。
この処理は、ＢＩＯＳサーバ２にコンピュータ３を新規に接続する際に実行される。例えば、この処理は、新しいコンピュータ３をＢＩＯＳサーバ２に初めて接続する際や、あるＢＩＯＳサーバ２に接続されていた既存のコンピュータ３を別のＢＩＯＳサーバ２に接続される際に実行される。
【００４３】
ステップＳ１において、新しいコンピュータ３の電源ケーブルが壁面ＡＣコンセント等に接続され電源が投入される。又、コンピュータ３がＢＩＯＳサーバ２と接続される。その際、アドレス管理部３５は、アドレステーブル３６を参照して、接続が検知されたコンピュータ３に対して割り当てる未使用のアドレスを１つ選択し、このアドレスをコンピュータ３に通知する。
【００４４】
次に、ステップＳ２において、構成情報収集部４２がコンピュータ３のハードウェア（マザーボード、ＣＰＵ、接続デバイス等）の構成情報を取得して、構成記憶テーブル２３を作成する。そして作成した構成記憶テーブル２３の情報を、構成情報記憶部２２に記憶する。なお、本ステップにおいて、構成情報の取得が、コンピュータ３の不図示のbaseboard management controller（ＢＭＣ）によって行なわれてもよい。
【００４５】
一方、ステップＳ３において、ＢＩＯＳサーバ３１のシステム通信コントローラ６が、新しいコンピュータ３がＢＩＯＳサーバ２に接続されたことを検知する。そして、ＢＩＯＳサーバ２の構成情報取得部３２が、コンピュータ３に対し構成情報を要求する。
ステップＳ４において、コンピュータ３の構成情報収集部４２が、ステップＳ２で収集した構成情報を返信する。
【００４６】
ステップＳ５において、ＢＩＯＳサーバ２は、コンピュータ３から構成情報を受け取る。
ここで、コンピュータ３は新規に追加されたものであるため、ＢＩＯＳ組合せテーブル１４にはこのコンピュータ３に割り当てられているＢＩＯＳ７は未だ登録されていない。このため、ＢＩＯＳ選択部３３は、ＢＩＯＳ選択処理を実施して、新しいコンピュータ３に割り当てるＢＩＯＳ７を選択（特定）する。ＢＩＯＳ選択処理については、図６を参照して後述する。
【００４７】
ステップＳ６において、ＢＩＯＳ選択部３３は、特定したＢＩＯＳ７とコンピュータ３との組み合わせをＢＩＯＳ組合せテーブル１４に追加（登録）する。
次に、ステップＳ７において、ＢＩＯＳ選択部３３は、接続が検知されたコンピュータ３に対して構成情報受領通知を送信する。例えば、ＢＩＯＳ選択部３３は、構成情報受領通知として、ステップＳ１でアドレス管理部３５が選択しコンピュータ３に通知したアドレスを、構成情報受領通知として送信する。ここで、ＢＩＯＳ選択部３３は、コンピュータ３のアドレス以外の任意の情報を、構成情報受領通知としてコンピュータ３に送信してもよい。
【００４８】
ステップＳ８において、ＢＩＯＳサーバ２から電源切断信号が送信されてコンピュータ３を待機電源状態に移行させると共に、システム通信コントローラ６とＢＩＯＳ通信コントローラ１０との通信が一旦終了される。
その後、ステップＳ９において、例えば、管理者がＢＩＯＳサーバ２の電源制御スイッチ５を操作して、コンピュータ３の電源を投入する。その際、システム通信コントローラ６からコンピュータ３に対して電源投入信号が送信される。
【００４９】
ステップＳ９でＢＩＯＳサーバ２から送られた電源投入信号を受けると、ステップＳ１０において、コンピュータ３の電源部９が遠隔操作でオンとなり、コンピュータ３の電源が投入される。
ステップＳ１１において、コンピュータ３のＣＰＵ７が、当該コンピュータ３にＢＩＯＳが存在することを知らずに、ＢＩＯＳをロードしようと試みる。
【００５０】
ステップＳ１２において、起動制御部４１のＢＩＯＳ要求部４４が、ＢＩＯＳサーバ２にＢＩＯＳ送信要求を送信する。
コンピュータ３からＢＩＯＳ送信要求を受信すると、ステップＳ１３において、ＢＩＯＳ制御部１２が、ＢＩＯＳ選択処理を実行する。ＢＩＯＳ選択処理については、図６を用いて後述する。
【００５１】
ステップＳ１４において、ＢＩＯＳ選択部３３が、ステップＳ１３で選択したＢＩＯＳ１７をＢＩＯＳ格納部１６から読み出し、ＢＩＯＳ送信部３４が、読み出したＢＩＯＳ１７を、システム通信コントローラ１０に、コンピュータ３宛てに送信させる。
ステップＳ１５において、起動制御部４１のＢＩＯＳ実行部４５が、ＢＩＯＳサーバ２から送信されたＢＩＯＳ１７を一旦メモリ８に格納すると共に、これを実行する。そして、ＢＩＯＳ１７が、プログラムに従って、コンピュータ３の調査、初期化を行なう。その後、ＣＰＵ７がＯＳなどを読み込んで、コンピュータ３の起動処理を行なう。
【００５２】
次に、コンピュータ３の起動処理について説明する。
図５は、第１実施形態の一例としてのコンピュータ３の起動時のＢＩＯＳサーバ２の処理を示すフローチャート（ステップＳ２１〜Ｓ３０）である。
ＢＩＯＳ制御部１２は、コンピュータ３からＢＩＯＳ送信要求の受信を待機し、コンピュータ３からＢＩＯＳ送信要求を受信したかどうかを判定する。
【００５３】
コンピュータ３からＢＩＯＳ送信要求を受信していない場合（ステップＳ２１のＮＯルート参照）、ＢＩＯＳ制御部１２は、ステップＳ２１に戻りＢＩＯＳ送信要求の受信を待機する。
一方、コンピュータ３からＢＩＯＳ送信要求を受信した場合（ステップＳ２１のＹＥＳルート参照）、ステップＳ２２において、ＢＩＯＳ制御部１２のＢＩＯＳ選択部３３が、ＢＩＯＳ組合せテーブル１４を参照する。
【００５４】
ステップＳ２３において、ＢＩＯＳ選択部３３は、ＢＩＯＳ送信要求を送信したコンピュータ３のアドレスが、ＢＩＯＳ組合せテーブル１４のコンピュータアドレス列１４１に存在するかどうかを確認する。
コンピュータ３のアドレスがＢＩＯＳ組合せテーブル１４に存在する場合（ステップＳ２３のＹＥＳルート参照）、処理が後述するステップＳ２９に移行する。
【００５５】
一方、コンピュータ３のアドレスがＢＩＯＳ組合せテーブル１４に存在しない場合（ステップＳ２３のＮＯルート参照）、ステップＳ２４において、構成情報取得部３２が、ＢＩＯＳ送信要求を送信したコンピュータ３に対して、構成情報を送信するように要求する。これを受けて、コンピュータ３の起動制御部４１の構成情報収集部４２が、構成情報記憶部２２の構成記憶テーブル２３から構成情報を読み出して、これを構成情報取得部３２に送信する。
【００５６】
ステップＳ２５において、ＢＩＯＳ選択部３３は、ステップＳ２４で構成情報取得部３２が取得したコンピュータ３の構成情報に相当するエントリが、ＢＩＯＳ選択テーブル１５に存在するかどうかを判定する。
このとき、ＢＩＯＳ選択部３３は、コンピュータ３から受け取った構成情報とＢＩＯＳ選択テーブル１５とを使用して、図６を用いて後述するＢＩＯＳ選択処理を行なうことで、コンピュータ３に割り当てるＢＩＯＳ１７を選択する。
【００５７】
コンピュータ３の構成情報に相当するエントリが、ＢＩＯＳ選択テーブル１５に存在しない場合（ステップＳ２５のＮＯルート参照）、ステップＳ２６において、ＢＩＯＳ選択部３３は、本処理を異常終了する。その際、ＢＩＯＳ選択部３３は、情報処理システム１に管理者に対して、コンピュータ３の構成情報に対応するＢＩＯＳ１７がＢＩＯＳ選択テーブル１５に登録されていない旨を、例えばメッセージの表示などにより通知する。この通知を受けた管理者は、例えば、新しいコンピュータ３用の適切なＢＩＯＳ１７をＢＩＯＳ格納部１６に格納して、このコンピュータ３の構成情報とＢＩＯＳ１７の識別子との組合せをＢＩＯＳ選択テーブル１５に登録する。
【００５８】
一方、コンピュータ３の構成情報に相当するエントリが、ＢＩＯＳ選択テーブル１５に存在する場合（ステップＳ２５のＹＥＳルート参照）、ステップＳ２７において、ＢＩＯＳ選択部３３は、ＢＩＯＳ選択テーブル１５に登録されているＢＩＯＳ１７を、コンピュータ３に割り当てるＢＩＯＳ１７として特定する。
そして、ステップＳ２８において、ＢＩＯＳ選択部３３は、コンピュータ３と特定したＢＩＯＳ１７との組合せをＢＩＯＳ組合せテーブル１４に記憶する。
【００５９】
次に、ステップＳ２９において、ＢＩＯＳ送信部３４が、ＢＩＯＳ選択部３３が特定したＢＩＯＳ１７を、ＢＩＯＳ格納部１６から読み出す。
ステップＳ３０において、ＢＩＯＳ送信部３４は、システム通信コントローラ１０に、ステップＳ２９で読み出したＢＩＯＳ１７を、コンピュータ３宛てに送信させる。
図６は、第１実施形態の一例としてのＢＩＯＳ選択部３３によるＢＩＯＳ選択処理を示すフローチャート（ステップＳ４１〜Ｓ４８）である。
【００６０】
このＢＩＯＳ選択処理においては、ＢＩＯＳ選択部３３はＢＩＯＳ組合せテーブル１５のエントリを１行ずつ読み込んでコンピュータ３の構成情報と比較する。
ステップＳ４１において、ＢＩＯＳ選択部３３は、ＢＩＯＳ組合せテーブル１５の最初の行を読み込む。
次に、ステップＳ４２において、ＢＩＯＳ選択部３３は、ＢＩＯＳ組合せテーブル１５の、ステップＳ４１で読み込んだ行の最初の列の値と、対応するコンピュータ３の構成情報とを比較する。
【００６１】
そして、ステップＳ４３において、ＢＩＯＳ選択部３３は、ステップＳ４２で比較した値が一致したかどうかを判定する。
ここでは、例として、図７に表形式で示すハードウェア構成を有するコンピュータ３が起動され、ＢＩＯＳ選択テーブル１５に図８に示すようなデータが登録されているとする。
【００６２】
図８のＢＩＯＳ組合せテーブル１５の例では、最初の行である行ＩＤ列１５０＝“１”の先頭の列がボードＩＤ列１５２であり、その値は“１００”である。この値は、図７に示すボードＩＤの値“１００”と一致するため、ＢＩＯＳ選択部３３は、２つの値が一致していると判定する。なお、ＢＩＯＳ組合せテーブル１５の値が“＊”である場合は、コンピュータ３の構成情報の値にかかわらず一致すると判断する。
【００６３】
値が一致しなかった場合（ステップＳ４３のＮＯルート参照）、処理がステップＳ４５に移動する。
一方、値が一致した場合（ステップＳ４３のＹＥＳルート参照）、ステップＳ４４において、ＢＩＯＳ選択部３３は、ＢＩＯＳ組合せテーブル１５の該当する列の重みの値を、重み合計値に加算する。重み合計値とは、コンピュータ３全体でのハードウェア構成の一致の度合いを数値化した値（一致度）であり、一致したハードウェア部品の重みの値を合算して算出する。例えば、重み合計値は、ハードウェア構成の一致が高いほど大きな値となる。重み合計値の算出例については図７，図８を用いて後述する。
【００６４】
次にステップＳ４５において、ＢＩＯＳ選択部３３は、ステップＳ４１で読み込んだ行の最終列に到達したかどうかを判定する。
最終列に達していない場合（ステップＳ４５のＮＯルート参照）、ＢＩＯＳ選択部３３は、ステップＳ４２に戻り、ステップＳ４１で読み込んだ行の次の列について、ステップＳ４２〜Ｓ４５の処理を繰り返す。
【００６５】
最終列に達した場合（ステップＳ４５のＹＥＳルート参照）、ステップＳ４６において、ＢＩＯＳ選択部３３は、一致する列が１つでもあれば、その行のＢＩＯＳ  ＩＤ列１５１に対応するＢＩＯＳ１７を、候補ＢＩＯＳとして選択する。
次に、ステップＳ４７において、ＢＩＯＳ選択部３３は、ＢＩＯＳ組合せテーブル１５の最終行に達したどうかを判定する。
【００６６】
最終行に達していない場合（ステップＳ４７のＮＯルート参照）、ＢＩＯＳ選択部３３は、ステップＳ４１に戻り、ＢＩＯＳ組合せテーブル１５の次の行を読み込んで、ステップＳ４１〜Ｓ４７の処理を繰り返す。
最終行に達した場合（ステップＳ４７のＹＥＳート参照）、ステップＳ４８において、ＢＩＯＳ選択部３３は、候補ＢＩＯＳ１７のうち、重み合計値の最も高いＢＩＯＳ１７を選択する。
【００６７】
図８の例では、行ＩＤ列１５０＝“１”のエントリについては、図７の構成のうち、ボードＩＤ列１５２＝“１００”、ＣＰＵ＃１＝“Ａ”、スロット＃１＝“ＬＡＮ”が一致する。
又、行ＩＤ列１５０＝“２”のエントリについては、図７の構成のうち、ボードＩＤ列１５２＝“１００”、ＣＰＵ＃１＝“Ａ”が一致する。
【００６８】
そこで、ＢＩＯＳ選択部３３は、ステップＳ４１〜４７で、行ＩＤ列１５０＝“１”のエントリに対応するＢＩＯＳ＃１と、行ＩＤ列１５０＝“２”のエントリに対応するＢＩＯＳ＃２とを候補のＢＩＯＳ１７として選択する。そして、ＢＩＯＳ選択部３３は、ＢＩＯＳ１７を絞り込むために、ＢＩＯＳ選択テーブル１５の一致したエントリのそれぞれについて合計重みを計算する。
【００６９】
行ＩＤ列１５０＝“１”のエントリでは、重みは、ボードＩＤ列１５２の一致に対して１０点、ＣＰＵ＃１  １５３の一致に対して１０点、スロット＃１  １５６の一致に対して５点であるので、合計重みは、１０＋１０＋５＝２５となる。
一方、行ＩＤ列１５０＝“２”のエントリでは、重みは、ボードＩＤ列１５２の一致に対して１０点、ＣＰＵ＃１  １５３の一致に対して１０点であるので、合計重みは、１０＋１０＝２０となる。
【００７０】
このため、ステップＳ４８で、ＢＩＯＳ選択部３３は、合計重みの高いほうのＢＩＯＳ＃１（ＢＩＯＳ１７−１）を選択する。
上述のように、第１実施形態の一例の情報処理システム１においては、ＢＩＯＳサーバ２のＢＩＯＳ格納部１６が、複数のコンピュータ３のＢＩＯＳ１７を一元的に記憶している。そして、ＢＩＯＳ制御部１２の構成情報取得部３２が、コンピュータ３のハードウェア構成情報を取得し、取得した構成情報とＢＩＯＳ選択テーブル１５とに基づいて、ＢＩＯＳ選択部３３がコンピュータ３に対して適切なＢＩＯＳ１７を選択する。そして、ＢＩＯＳ送信部３４が、選択したＢＩＯＳ１７をコンピュータ３に対して送信する。
【００７１】
これにより、情報処理システム１にコンピュータ３が数十台〜数百台存在する場合でも、稼働中の情報処理システム１におけるＢＩＯＳ１７のアップデート作業やＢＩＯＳ１７の設定作業を自動化して、コンピュータ３の管理作業の工数を削減することができる。
コンピュータ３が数台、数十台〜数百台存在する情報処理システム１では、従来、稼働中の情報処理システム１のＢＩＯＳ１７のアップデートには、コンピュータ３の台数分の工数を要していた。例えば、１台のコンピュータ３のＢＩＯＳ１７のアップデート及び設定に３０分・人の工数かかっていたとすると、従来は、５台のコンピュータ３にこの作業を行なうには３０分×５＝２．５時間・人の工数を要していた。しかし、本実施形態の一例においては、コンピュータ３の１台の作業工数である３０分・人で、５台のコンピュータ３に対してＢＩＯＳ１７のアップデートを行なうことができ、作業工数を大幅に削減することが可能となる。
【００７２】
又、作業者の作業ミスにより、コンピュータ３に不適切なＢＩＯＳ１７がロードされ、コンピュータ３が誤動作するリスクを回避することもできる。
さらに、ＢＩＯＳ選択部３３は、コンピュータ３の識別情報（アドレス）と、ＢＩＯＳ選択部３３が選択したＢＩＯＳ１７との組合せ（ペア）を、ＢＩＯＳ組合せテーブル１４に登録する。このため、一旦コンピュータ３のアドレスとＢＩＯＳ１７との組合せが組合せテーブル１４に登録された後は、コンピュータ３の構成情報とＢＩＯＳ選択テーブル１５との比較をスキップして、ＢＩＯＳ送信部３４がコンピュータ３にＢＩＯＳ１７を送信することが可能となる。
【００７３】
さらに、ＢＩＯＳ選択部３３は、コンピュータ３に対して候補のＢＩＯＳ１７が複数存在する場合には、ハードウェア構成の一致度を示す重み合計値に基づいて、より適切なＢＩＯＳ１７を選択する。
これにより、コンピュータ３に不適切なＢＩＯＳ１７がロードされ、コンピュータ３が誤動作するリスクを一層低減することができる。
（Ｂ）第２実施形態
上記の第１実施形態の一例においては、ＢＩＯＳ管理部１１がコンピュータ３の構成情報から、コンピュータ３に送信する（割り当てる）ＢＩＯＳ１７を選択し、これをコンピュータ３に送信する。
【００７４】
しかし、情報処理システム１の運用によっては、管理者が手動でコンピュータ３にＢＩＯＳ１７を割り当てることが好ましいケースも考えられる。
このため、第２実施形態の一例の情報処理システム１′においては、管理者が手動でコンピュータ３にＢＩＯＳ１７を割り当てることを可能とする。
図９は、第２実施形態の一例としての情報処理システム１′の構成を示す模式図である。
【００７５】
情報処理システム１′は、ＢＩＯＳサーバ２が管理用コントローラ５２をそなえ、情報処理システム１′が管理用コンピュータ２１をそなえる点が、上述の第１実施形態の一例としての情報処理システム１の構成とは異なる。又、ＢＩＯＳ組合せテーブル１４に代えてＢＩＯＳ組合せテーブル１４′が使用される点、並びに、ＢＩＯＳ選択部３３に代えてＢＩＯＳ選択部３３′をそなえる点も異なる。その他の構成及び機能については、上述した第１実施形態の一例としての情報処理システム１の構成及び機能と同様であるため、その説明を省略する。
【００７６】
管理用コンピュータ２１は、例えば、不図示のＣＰＵやメモリをそなえる一般的なコンピュータである。管理用コンピュータ２１は、通信リンク４経由で、ＢＩＯＳサーバ２の管理用コンロトーラ５２を介してＢＩＯＳサーバ２と接続されている。管理者は、管理用コンピュータ２１を使用して、ＢＩＯＳサーバ２の管理情報記憶部１３に格納されるＢＩＯＳ組合せテーブル１４′の参照及び更新を行なうことができる。
【００７７】
ＢＩＯＳサーバ２の管理用コントローラ５２は、管理用コンピュータ２１との間で通信リンク４を介した通信を確立するインタフェースである。
図１０は、第２実施形態の一例としてのＢＩＯＳ組合せテーブル１４′を例示する図である。
ＢＩＯＳ組合せテーブル１４′は、図２に示したＢＩＯＳ組合せテーブル１４にさらに変更不可フラグ１４３を対応付けて構成されている。すなわち、ＢＩＯＳ組合せテーブル１４′は、コンピュータアドレス列１４１、ＢＩＯＳ  ＩＤ列１４２、及び変更不可フラグ１４３を相互に対応付けて記憶している。
【００７８】
コンピュータアドレス列１４１は、アドレス管理部３５によって割り当てられ、コンピュータ３を一意に識別するコンピュータ３のアドレスを格納している。
ＢＩＯＳ  ＩＤ列１４２は、ＢＩＯＳ１７を一意に識別する識別情報（ＩＤ等）を格納している。
変更不可フラグ１４３は、コンピュータアドレス列１４１の値によって識別されるコンピュータ３に対して、ＢＩＯＳ管理部１１によってＢＩＯＳ１７を割り当てるかを示す値を格納する。ＢＩＯＳ管理部１１によってＢＩＯＳ１７を割り当てたくないコンピュータ３に対しては、変更不可フラグ１４３の値を例えば“１”に設定する。変更不可フラグ１４３の値は、管理者が上述の管理用コンピュータ２１を使用して設定される。
【００７９】
図１１は、第２実施形態の一例としてのＢＩＯＳ選択部によるＢＩＯＳ選択処理を示すフローチャート（ステップＳ２１〜Ｓ３１）である。この図１１は、図５に示すフローチャートにステップＳ３１をそなえる点で図５とは異なる。
ＢＩＯＳ制御部１２は、コンピュータ３からＢＩＯＳ送信要求の受信を待機し、コンピュータ３からＢＩＯＳ送信要求を受信したかどうかを判定する。
【００８０】
コンピュータ３からＢＩＯＳ送信要求を受信していない場合（ステップＳ２１のＮＯルート参照）、ＢＩＯＳ制御部１２は、ステップＳ２１に戻りＢＩＯＳ送信要求の受信を待機する。
一方、コンピュータ３からＢＩＯＳ送信要求を受信した場合（ステップＳ２１のＹＥＳルート参照）、ステップＳ２２において、ＢＩＯＳ制御部１２のＢＩＯＳ選択部３３′が、ＢＩＯＳ組合せテーブル１４′を参照する。
【００８１】
ステップＳ２３において、ＢＩＯＳ選択部３３′は、ＢＩＯＳ送信要求を送信したコンピュータ３のアドレスが、ＢＩＯＳ組合せテーブル１４′のコンピュータアドレス列１４１に存在するかどうかを確認する。
コンピュータ３のアドレスがＢＩＯＳ組合せテーブル１４′に存在する場合（ステップＳ２３のＹＥＳルート参照）、ステップＳ３１において、ＢＩＯＳ選択部３３′は、ＢＩＯＳ組合せテーブル１４′内のコンピュータ３の対応する変更不可フラグの値として“１”が設定されているかどうかを判定する。
【００８２】
変更不可フラグの値が“１”である場合（ステップＳ３１のＹＥＳルート参照）、ＢＩＯＳ選択部３３′は本処理を終了し、ＢＩＯＳ１７の選択を行なわない。
一方、変更不可フラグの値が“１”ではない場合（ステップＳ３１のＮＯルート参照）、処理が後述するステップＳ２９に移行する。
ステップＳ２３でコンピュータ３のアドレスがＢＩＯＳ組合せテーブル１４′に存在しない場合（ステップＳ２３のＮＯルート参照）、ステップＳ２４において、構成情報取得部３２が、ＢＩＯＳ送信要求を送信したコンピュータ３に対して、構成情報を送信するように要求する。これを受けて、コンピュータ３の起動制御部４１の構成情報収集部４２が、構成情報記憶部２２の構成記憶テーブル２３から構成情報を読み出して、読み出した構成情報を、構成情報取得部３２に送信する。
【００８３】
ステップＳ２５において、ＢＩＯＳ選択部３３′は、ステップＳ２４で構成情報取得部３２が取得したコンピュータ３の構成情報に相当するエントリが、ＢＩＯＳ選択テーブル１５に存在するかどうかを判定する。
このとき、ＢＩＯＳ選択部３３′は、コンピュータ３から受け取った構成情報とＢＩＯＳ選択テーブル１５とを使用して、図６に示したＢＩＯＳ選択処理を行なうことで、コンピュータ３に割り当てるＢＩＯＳ１７を選択する。
【００８４】
コンピュータ３の構成情報に相当するエントリが、ＢＩＯＳ選択テーブル１５に存在しない場合（ステップＳ２５のＮＯルート参照）、ステップＳ２６において、ＢＩＯＳ選択部３３′は、本処理を異常終了する。その際、ＢＩＯＳ選択部３３′は、情報処理システム１に管理者に対して、コンピュータ３の構成情報に対応するＢＩＯＳ１７がＢＩＯＳ選択テーブル１５に登録されていない旨を、例えばメッセージの表示などにより通知する。この通知を受けた管理者は、例えば、新しいコンピュータ３用の適切なＢＩＯＳ１７をＢＩＯＳ格納部１６に格納して、このコンピュータ３の構成情報とＢＩＯＳ１７の識別子との組合せをＢＩＯＳ選択テーブル１５に登録する。
【００８５】
一方、コンピュータ３の構成情報に相当するエントリが、ＢＩＯＳ選択テーブル１５に存在する場合（ステップＳ２５のＹＥＳルート参照）、ステップＳ２７において、ＢＩＯＳ選択部３３′は、ＢＩＯＳ選択テーブル１５に登録されているＢＩＯＳ１７を、コンピュータ３に割り当てるＢＩＯＳ１７として特定する。
そして、ステップＳ２８において、ＢＩＯＳ選択部３３′は、コンピュータ３と特定したＢＩＯＳ１７との組合せをＢＩＯＳ組合せテーブル１４′に記憶する。
【００８６】
次に、ステップＳ２９において、ＢＩＯＳ送信部３４が、ＢＩＯＳ選択部３３′が特定したＢＩＯＳ１７を、ＢＩＯＳ格納部１６から読み出す。
ステップＳ３０において、ＢＩＯＳ送信部３４は、システム通信コントローラ１０に、ステップＳ２９で読み出したＢＩＯＳ１７を、コンピュータ３宛てに送信させる。
上述のように、第２実施形態の一例の情報処理システム１′においては、ＢＩＯＳ管理部１１によるコンピュータ３へのＢＩＯＳ１７の割り当てを有効にするかどうかを、管理者が管理用コンピュータ２１を使用して設定することができる。
【００８７】
このように、第２実施形態の一例の情報処理システム１′は、上述の第１実施形態の一例の情報処理システム１の作用・効果に加えて、コンピュータ３へのＢＩＯＳ１７の自動割り当ての有効・無効を切り替えることができるという効果を奏する。これにより、ＢＩＯＳ１７の更新に要する工数を削減しつつ、情報処理システム１′の運用の柔軟性を向上させることができる。
（Ｃ）第３実施形態
コンピュータ３の運用においては、コンピュータ３を通信リンク４に接続した状態で、コンピュータ３の構成が変更されることがある。
【００８８】
そこで、第３実施形態の一例においては、ＢＩＯＳサーバ２とコンピュータ３とが接続された状態で、コンピュータ３のハードウェア構成を変更可能とする。
図１２は、第３実施形態の一例としての情報処理システム１″の構成を示す模式図である。
情報処理システム１″は、ＢＩＯＳ選択部３３に代えてＢＩＯＳ選択部３３″をそなえる点、並びに、構成情報収集部４２に代えて構成情報収集部４２″をそなえる点が、上述の第１実施形態の一例としての情報処理システム１の構成とは異なる。その他の構成及び機能については、上述した第１実施形態の一例としての情報処理システム１の構成及び機能と同様であるため、その説明を省略する。
【００８９】
図１３は第３実施形態の一例としての情報処理システム１″におけるコンピュータ３の電源投入時の処理を示すフローチャート（ステップＳ５１〜Ｓ５３）である。
ステップＳ５１において、ＢＩＯＳサーバ２から電源投入信号を受信するか、又はユーザがコンピュータ３の電源部９のスイッチを操作し、コンピュータ３の電源が投入されると、コンピュータ３のＰ−ＯＮ検知部４３がコンピュータ３の電源投入を検知する。
【００９０】
ステップＳ５２において、構成情報収集部４２″は、コンピュータ３の構成情報を収集する。そして、収集した構成情報を構成記憶テーブル２３の値と比較することにより、収集した構成情報が、前回の起動時の構成情報と合致するかどうかを判定する。
構成情報が合致する場合（ステップＳ５２のＹＥＳルート参照）、本処理を終了して、コンピュータ３の起動を続行する。
【００９１】
一方、構成情報が合致しない場合（ステップＳ５２のＮＯルート参照）、ステップＳ５３において、構成情報収集部４２″は、構成情報変更をＢＩＯＳサーバ２に通知する。
図１４は、第３実施形態の一例としての情報処理システム１″におけるコンピュータ３の電源投入後のＢＩＯＳサーバ２の処理を示すフローチャート（ステップＳ６１〜Ｓ６５）である。
【００９２】
ステップＳ６１において、ＢＩＯＳサーバ２のＢＩＯＳ制御部１２の要求受信部３１が、図１３のステップＳ５３でコンピュータ３から送信された構成変更通知を受け取る。
ステップＳ６２において、ＢＩＯＳ選択部３３″は、ステップＳ６１で受信した構成変更通知の送信元のコンピュータ３のコンピュータアドレスが、ＢＩＯＳ組合せテーブル１４に存在するかどうかを判定する。
【００９３】
コンピュータアドレスがＢＩＯＳ組合せテーブル１４に存在しない場合（ステップＳ６２のＮＯルート参照）、処理が後述するステップＳ６４に移る。
一方、コンピュータアドレスがＢＩＯＳ組合せテーブル１４に存在する場合（ステップＳ６２のＹＥＳルート参照）、ステップＳ６３において、ＢＩＯＳ選択部３３″は、ＢＩＯＳ組合せテーブル１４から、当該コンピュータ３のエントリを消去する。
【００９４】
ステップＳ６４において、構成情報取得部３２が、コンピュータ３に対し構成情報を要求して、コンピュータ３から構成情報を受信する。
ステップＳ６５において、ＢＩＯＳ制御部１２のＢＩＯＳ選択部３３″が、ステップＳ６４で受信した構成情報を用いて、図６のＢＩＯＳ特定処理を実行して、コンピュータ３に割り当てるＢＩＯＳ１７を特定する。そして、ＢＩＯＳ選択部３３″は、コンピュータ３のアドレスと特定したＢＩＯＳ１７との組合せを、ＢＩＯＳ組合せテーブル１４に登録する。
【００９５】
上述のように、第３実施形態の一例の情報処理システム１″においては、コンピュータ３の起動制御部４１が、コンピュータ３のハードウェア構成の変更を検知し、構成が変更された旨をＢＩＯＳサーバ２に通知する。そして、この構成変更通知に基づいて、ＢＩＯＳサーバ２のＢＩＯＳ制御部４１が、構成変更後のコンピュータ３に適切なＢＩＯＳ１７を選択して、これをコンピュータ３に送信する。
【００９６】
これにより、第３実施形態の一例の情報処理システム１″は、上述の第１実施形態の一例の情報処理システム１の作用・効果に加えて、コンピュータ３の構成が変更されても、管理者による手作業を必要とすることなく、適切なＢＩＯＳ１７を選択してコンピュータ３に送信するという効果を奏する。これにより、ＢＩＯＳ更新に要する作業工数をより一層削減することができる。
（Ｄ）その他
そして、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
【００９７】
例えば、上記の第２実施形態と第３実施形態とを組み合わせて実施してもよい。
又、上記の第１〜第３実施形態では、ＢＩＯＳサーバ２からコンピュータ３にＢＩＯＳ１７を送信していたが、ＢＩＯＳサーバ２が、ＢＩＯＳ１７以外のコンピュータ３の基本プログラム（ＯＳ等）をコンピュータ３に送信してもよい。
なお、上記第１〜第３実施形態では、ＢＩＯＳサーバ２の不図示のＣＰＵが、起動管理プログラムを実行することにより、上述したＢＩＯＳ管理部１１として、すなわち、ＢＩＯＳ制御部１２、要求受信部３１、構成情報取得部３２、ＢＩＯＳ選択部３３，３３′，３３″、ＢＩＯＳ送信部３４、及びアドレス管理部３５として機能する。
【００９８】
なお、これらのＢＩＯＳ制御部１２、要求受信部３１、構成情報取得部３２、ＢＩＯＳ選択部３３，３３′，３３″、ＢＩＯＳ送信部３４、及びアドレス管理部３５としての機能を実現するためのプログラム（起動管理プログラム）は、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ  ＤＶＤ等），ブルーレイディスク，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータ３はその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータ３に提供するようにしてもよい。
【００９９】
ＢＩＯＳ制御部１２、要求受信部３１、構成情報取得部３２、ＢＩＯＳ選択部３３，３３′，３３″、ＢＩＯＳ送信部３４、及びアドレス管理部３５としての機能を実現する際には、内部記憶装置（本実施形態ではＢＩＯＳサーバ２の不図示のメモリ等）に格納された起動管理プログラムがコンピュータのマイクロプロセッサ（本実施形態ではＢＩＯＳサーバ２の不図示のＣＰＵ）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
【０１００】
又、ＢＩＯＳサーバ２の不図示のメモリが、ＢＩＯＳ組合せテーブル１４、ＢＩＯＳ選択テーブル１５、及びアドレステーブル３６の情報を格納するための管理情報記憶部１３として機能する。
又、上記第１〜第３実施形態では、コンピュータ３のＣＰＵ７が、起動管理プログラムを実行することにより、上述した起動制御部４１、構成情報収集部４２，４２″、Ｐ−ＯＮ検知部４３、ＢＩＯＳ要求部４４、及びＢＩＯＳ実行部４５として機能する。
【０１０１】
なお、これらの起動制御部４１、構成情報収集部４２，４２″、Ｐ−ＯＮ検知部４３、ＢＩＯＳ要求部４４、及びＢＩＯＳ実行部４５としての機能を実現するためのプログラム（起動管理プログラム）は、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ  ＤＶＤ等），ブルーレイディスク，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータ３はその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータ３に提供するようにしてもよい。
【０１０２】
起動制御部４１、構成情報収集部４２，４２″、Ｐ−ＯＮ検知部４３、ＢＩＯＳ要求部４４、及びＢＩＯＳ実行部４５としての機能を実現する際には、内部記憶装置（本実施形態ではコンピュータ３のメモリ８等）に格納された起動管理プログラムがコンピュータのマイクロプロセッサ（本実施形態ではコンピュータ３のＣＰＵ７）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
【０１０３】
又、コンピュータ３のメモリ８が、構成記憶テーブル２３の情報を格納するための構成情報記憶部２２として機能する。
（Ｅ）付記
以上の実施形態に関し、更に以下の付記を開示する。
（付記１）
複数の情報処理装置と、
前記複数の情報処理装置の起動に用いられる複数の起動プログラムを管理する管理装置とを有し、
前記管理装置は、
前記複数の起動プログラムを格納する格納部と、
前記複数の情報処理装置のうちの１つの情報処理装置の構成情報を取得する構成情報取得部と、
取得した構成情報に基づいて前記格納部に格納されている前記複数の起動プログラムから、前記１つの情報処理装置に対応する起動プログラムを選択する選択部と、
前記選択部によって選択された起動プログラムを前記１つの情報処理装置に送信する送信部と、
を有することを特徴とする
情報処理システム。
【０１０４】
（付記２）
前記選択部は、前記１つの情報処理装置に対応する起動プログラムが複数存在する場合に、該１つの情報処理装置の構成情報と、既存のコンピュータの構成情報との一致度に基づいて、前記起動プログラムから１つの起動プログラムを選択する
ことを特徴とする付記１記載の情報処理システム。
【０１０５】
（付記３）
前記管理装置は、前記１つの情報処理装置から起動プログラム要求を受信する受信部をさらにそなえ、
前記受信部が前記起動プログラム要求を受信したことを受けて、前記選択部が前記起動プログラムの選択を行ない、前記送信部が選択された前記起動プログラムを送信する
ことを特徴とする付記１又は２記載の情報処理システム。
【０１０６】
（付記４）
前記管理装置は変更不可フラグをそなえ、
前記選択部は、前記１つの情報処理装置に対して前記変更不可フラグが設定されている場合、前記１つの情報処理装置に対する起動プログラムの選択をスキップする
ことを特徴とする付記１〜３のいずれか１項に記載の情報処理システム。
【０１０７】
（付記５）
前記情報処理装置は、該情報処理装置の電源投入を検知すると、該情報処理装置が前回起動されてから該情報処理装置の構成変更が行なわれたかどうかを判定し、構成変更が行なわれたと判定した場合、前記管理装置に構成変更を通知する起動管理部をそなえる
ことを特徴とする付記１〜４のいずれか１項に記載の情報処理システム。
【０１０８】
（付記６）
前記複数の起動プログラムは前記複数の情報処理装置の基本入出力システムプログラムである
ことを特徴とする付記１〜５のいずれか１項に記載の情報処理システム。
（付記７）
複数の情報処理装置の起動に用いられる複数の起動プログラムを管理するためのプログラム管理方法であって、
前記複数の情報処理装置のうちの１つの情報処理装置の構成情報を取得し、
取得した構成情報に基づいて前記複数の起動プログラムから、前記１つの情報処理装置に対応する起動プログラムを選択し、
前記選択した起動プログラムを前記１つの情報処理装置に送信して該情報処理装置を起動させる
ことを特徴とするプログラム管理方法。
【０１０９】
（付記８）
前記１つの情報処理装置に対応する起動プログラムが複数存在する場合に、該１つの情報処理装置の構成情報と、既存のコンピュータの構成情報との一致度に基づいて、前記起動プログラムから１つの起動プログラムを選択する
ことを特徴とする付記７記載のプログラム管理方法。
【０１１０】
（付記９）
前記１つの情報処理装置から起動プログラム要求を受信し、
前記起動プログラム要求を受信したことを受けて、前記起動プログラムの選択を行ない、前記選択された前記起動プログラムを送信する
ことを特徴とする付記７又は８記載のプログラム管理方法。
【０１１１】
（付記１０）
前記１つの情報処理装置に対して変更不可フラグが設定されている場合、前記１つの情報処理装置に対する起動プログラムの選択をスキップする
ことを特徴とする付記７〜９のいずれか１項に記載のプログラム管理方法。
（付記１１）
前記情報処理装置は、該情報処理装置への電源投入を検知すると、該情報処理装置が前回起動されてから該情報処理装置の構成変更が行なわれたかどうかを判定し、構成変更が行なわれたと判定した場合、構成変更を通知する
ことを特徴とする付記７〜１０のいずれか１項に記載のプログラム管理方法。
【０１１２】
（付記１２）
前記複数の起動プログラムは前記複数の情報処理装置の基本入出力システムプログラムである
ことを特徴とする付記７〜１１のいずれか１項に記載のプログラム管理方法。
（付記１３）
複数の情報処理装置の起動に用いられる複数の起動プログラムを管理する管理装置であって、
前記複数の起動プログラムを格納する格納部と、
前記複数の情報処理装置のうちの１つの情報処理装置の構成情報を取得する構成情報取得部と、
取得した構成情報に基づいて前記格納部に格納されている前記複数の起動プログラムから、前記１つの情報処理装置に対応する起動プログラムを選択する選択部と、
前記選択部によって選択された起動プログラムを前記１つの情報処理装置に送信する送信部と、
を有することを特徴とする管理装置。
【符号の説明】
【０１１３】
１，１′，１″          情報処理システム
２                      ＢＩＯＳサーバ（管理装置）
３−１〜３−ｎ（３）    コンピュータ（情報処理装置）
４                      通信リンク
５                      電源制御スイッチ
７                      ＣＰＵ
８                      メモリ
９                      電源部
１１                    ＢＩＯＳ管理部
１２                    ＢＩＯＳ制御部
１３                    管理情報記憶部
１４                    ＢＩＯＳ組合せテーブル
１５                    ＢＩＯＳ選択テーブル
１６                    ＢＩＯＳ格納部（格納部）
１７                    ＢＩＯＳ（起動プログラム）
２１                    管理用コンピュータ
２２                    構成情報記憶部
３１                    要求受信部（受信部）
３２                    構成情報取得部
３３，３３′，３３″    ＢＩＯＳ選択部（選択部）
３４                    ＢＩＯＳ送信部（送信部）
３５                    アドレス管理部
３６                    アドレステーブル
４１                    起動制御部
４２，４２″            構成情報収集部
４３                    Ｐ−ＯＮ検知部
４４                    ＢＩＯＳ要求部
４５                    ＢＩＯＳ実行部
１４３                  変更不可フラグ
【図１】
2015148861.tif 000003
【図２】
2015148861.tif 000004
【図３】
2015148861.tif 000005
【図４】
2015148861.tif 000006
【図５】
2015148861.tif 000007
【図６】
2015148861.tif 000008
【図７】
2015148861.tif 000009
【図８】
2015148861.tif 000010
【図９】
2015148861.tif 000011
【図１０】
2015148861.tif 000012
【図１１】
2015148861.tif 000013
【図１２】
2015148861.tif 000014
【図１３】
2015148861.tif 000015
【図１４】
2015148861.tif 000016