JP5664778B2 - 情報処理装置、情報処理方法、および情報処理プログラム - Google Patents

情報処理装置、情報処理方法、および情報処理プログラム Download PDF

Info

Publication number
JP5664778B2
JP5664778B2 JP2013520372A JP2013520372A JP5664778B2 JP 5664778 B2 JP5664778 B2 JP 5664778B2 JP 2013520372 A JP2013520372 A JP 2013520372A JP 2013520372 A JP2013520372 A JP 2013520372A JP 5664778 B2 JP5664778 B2 JP 5664778B2
Authority
JP
Japan
Prior art keywords
unit
information
bios
expansion
configuration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013520372A
Other languages
English (en)
Other versions
JPWO2012172666A1 (ja
Inventor
純太郎 峯崎
純太郎 峯崎
眞司 阿形
眞司 阿形
信二 桧山
信二 桧山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Application granted granted Critical
Publication of JP5664778B2 publication Critical patent/JP5664778B2/ja
Publication of JPWO2012172666A1 publication Critical patent/JPWO2012172666A1/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/409Mechanical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Description

本発明は、被接続装置を接続可能なインターフェースを有する情報処理装置、情報処理方法、およびプログラムに関するものである。
図1に、拡張カードを接続可能なコンピュータ装置の構成を例示する。コンピュータ装置の各機器を制御するためのプログラム群としてBasic Input/Output System(BIOS)がある。一方、コンピュータ装置等の情報機器は拡張カードあるいは拡張カードを介した外部装置などを追加することにより機能を拡張する。コンピュータ装置に搭載される拡張カードは、extended Basic Input/Output System(拡張BIOS)と呼ばれる入出力制御用のコンピュータプログラムを用いて制御される。以下、コンピュータ装置の基本構成に含まれる各機器の制御に対応したBIOSを基本BIOSと定義する。
基本BIOSは、例えば、マザーボード上のRead Only Memory(ROM)に格納されている。なお、図1では、ROMはメモリに含まれる。一方、基本BIOSが対応していない機器の制御のために基本BIOSを拡張するBIOSを拡張BIOSと呼ぶ。拡張BIOSのデータイメージは通常、拡張カード上のEEPROMなどの記憶素子内に格納されている。以下、拡張BIOSのデータイメージを拡張BIOSデータと呼ぶ。コンピュータ装置が起動されると、コンピュータ装置は基本BIOSを用いて拡張カードの記憶素子の拡張BIOSを検索する。そして、コンピュータ装置は、メモリ上へ拡張BIOSを転送することで拡張BIOSを利用可能にする。
図2により、図1に示したコンピュータ装置での処理の流れを例示する。例えば、ユーザ等の起動操作により、コンピュータ装置が起動される(S501)。コンピュータ装置が起動すると、基本BIOSが呼び出され、はじめにCentral Processing Unit(CPU、中央処理装置)、およびメモリ等の初期化を行い、続いて各搭載機器に対するリソースの割り当てが行われる(S502)。ここで、初期化としては、例えば、CPUのレジスタ値の初期設定、例えば、0クリア等が例示される。また、搭載機器に対するリソースの割り当てとしては、例えば、メモリをレジスタとして使用する搭載機器に対して、レジスタとして使用される領域のアドレスを設定することが例示できる。以下、CPUが基本BIOS等のコンピュータプログラムによって処理を実行する場合に、単に、基本BIOS等のコンピュータプログラムが処理を実行する、ともいう。
各機器に対するリソース割り当てを行うと、基本BIOSはコンピュータ装置に接続された拡張カードそれぞれについて拡張カードの記憶素子内の拡張BIOSを検索し(S503)、コンピュータ装置のメモリ上に拡張BIOSを転送する(S504)。拡張BIOSは拡張カードの初期化や初期設定、制御を実行する(S505)。
そして、基本BIOSは、Operating System(OS)を起動する(S506)。例えば、拡張カードにストレージ装置が接続された構成を想定する。コンピュータ装置の基本BIOSが拡張カードに接続されたストレージ装置からデータを読み出す場合、コンピュータ装置は、S503、S504の手順で、予め拡張BIOSを取得し、拡張BIOSを用いて拡張カードを制御する。逆に、拡張BIOSを使用しないと、コンピュータ装置の基本BIOSは、拡張カードに接続されたストレージ装置からデータを読み出すことができない。
特開2009−122963号公報 特開平01−311351号公報
上述のように、コンピュータ装置が拡張カードを制御するために、コンピュータ装置は、拡張カードに応じた適切な拡張BIOSを取得する。逆に、適切な拡張BIOSがない場合、コンピュータ装置はその拡張カードを制御することができない場合がある。以下、問題例1、2で適切でない拡張BIOSを用いたときに発生する問題について述べる。また、問題例3では、適切な拡張BIOSを取得する際の問題を述べる。
以下、拡張カードのように、コンピュータ装置に付加される接続部を拡張接続部という。また、ストレージ装置のように、拡張接続部を通じて、コンピュータ装置に接続される装置を外部装置という。
<問題例1>
拡張接続部と、拡張接続部に接続された外部装置間の通信では、拡張BIOS等の制御プログラムの版数によって問題が発生する場合がある。図3は、拡張接続部と、拡張接続部に接続された外部装置間の通信において生じる問題を例示する図である。図3では、拡張接続部の一例として、Fibre Channel Host Bus Adapter(ファイバチャネルホストバスアダプタ、以下、FC HBA)が例示されている。また、FC HBAには、外部装置の一例として、Fibre Channel Switch(ファイバチャネルスイッチ、以下、FC SW)が接続される。さらに、FC SWにストレージシステムが接続される。以下、FC HBAとFC SWとの接続のように、ファイバチャネルによるインターフェースをファイバチャネルインターフェースと呼ぶ。
ファイバチャネルインターフェースにおいては、コマンドを送ってからレスポンスが帰ってくるまでの待ち時間など、いくつかの設定値については、FC HBA、FC SW等の機器を提供するベンダが独自に定めることができる。設定値は機器を制御する制御プログラムに含まれている。FC HBAの設定値は拡張BIOSに、FC SWの設定値はFC SW内のファームウェア(FW)に設定されている。
ここで例えば、FC HBAのレスポンス待ち時間が500msに設定されており、一方でFC SWのレスポンス処理時間が最大600msであるとする。この設定の場合、FC HBAはコマンド発行後500ms以内でのレスポンスをリミットに動作する。一方、FC SWは600ms以内にレスポンスを返す。
FC SWからのレスポンス処理時間が500msを超えた場合、FC HBA側でタイムアウトが発生し通信は失敗する。FC HBAとFC SWとの接続確立処理時に通信に失敗すると、FC HBAとFC SW間の接続が失敗し、よってコンピュータ装置はストレージシステムへアクセスできない。
このような問題を回避するためには、図3の例では、FC SWのレスポンス処理時間に合わせ、FC HBAのレスポンス待ち時間が600ms以上であるような拡張BIOSを導入すればよい。このような設定値の異なる拡張BIOSは、例えば、制御プログラムの版数によって識別され、用いられる。したがって、図3で例示したような問題を解決するため、適切な版数の制御プログラムの導入が求められる。
しかし、不適切な制御プログラムによる拡張接続部と外部装置間との接続時に発生する問題は、レスポンス待ち時間とレスポンス処理時間との相違によるものに限定される訳ではない。すなわち、図3のような問題は、レスポンス待ち時間とレスポンス処理時間との関係以外の種々の要因によって発生する。したがって、外部装置と拡張接続部の制御プログラムとの版数の組み合わせにおける動作を保証するために、ベンダは外部装置のファームウェア等の制御プログラムと拡張接続部のBIOS等の制御プログラムの版数との組み合わせに対して評価や動作確認を行っている。
<問題例2>
コンピュータ装置に搭載される拡張接続部の組み合わせによっても基本BIOSが拡張接続部を正しく制御できないことがある。図4は、拡張接続部の組み合わせによる問題点を例示する図である。図4では、コンピュータ装置にPCIカードA及びPCIカードBが拡張接続部の一例として搭載されている。
それぞれのPCIカードは同一ベンダ製であり、PCIカードBの方が新しい製品であると仮定する。PCIカードは、PCIカードの種類に対応する機能を提供するコントローラを有する。PCIカードに搭載されるコントローラをPCIバスインターフェースチップ(以下PCI I/Fチップ)と呼ぶことにする。PCIカードの種類とは、例えば、FC HBA等の種々のインターフェース、あるいはビデオ等の規格に対応するカードの種類をいう。それぞれのPCIカードに搭載されるPCI I/Fチップは同一の種類のものであるとする。
PCIカードのベンダID、デバイスID、クラスコードはPCI I/Fチップごとに設定される。このため、PCIカードA及びPCIカードBのベンダID、デバイスID、クラスコードは共通である。一方、それぞれのPCIカードの回路構成は回路A、回路Bように異なる。つまり、それぞれのPCIカードの回路は、細かい動作の規定、動作特性に相違がある。
ここで、それぞれのPCIカードのROMには拡張BIOS A、拡張BIOS Bが搭載されていると仮定する。そして、拡張BIOS Aは新しい製品であるPCIカードBの制御には対応していないことが多い。一方、拡張BIOS BはPCIカードAおよびPCIカードB双方の制御に対応している場合が多い。
コンピュータ装置が起動されると、拡張BIOS Aおよび拡張BIOS Bがメモリ上へ転送される。拡張BIOSは制御の際に、ベンダID、デバイスID、クラスコード、あるいはその他のPCIカードの識別子から、制御対象を判断している。ただし、判断に使用する識別子は、拡張BIOSに依存している。このため、例えば、ベンダID、デバイスID、クラスコードを判断基準とした場合、同一の半導体チップを使用しているPCIカードA、PCIカードBは同一のカードと判断される。このため、PCIカードA及びPCIカードBの制御に拡張BIOS A単体、あるいは拡張BIOS B単体が用いられる場合がある。
図4の例では、PCIカードAの拡張BIOS Aは、PCIカードAより新しい製品であるPCIカードBの制御に対応していない。そのため、拡張BIOS A単体がPCIカードの制御に用いられるとPCIカードBは期待通り動作しない。
このような問題を解決するためには、PCIカードA及びPCIカードBをともに制御可能な拡張BIOS Bを使用すればよい。このため、同一種類の拡張接続部を複数使用する場合には、使用される複数の拡張接続部を制御可能な制御プログラムを特定するという問題が生じる。
<問題例3>
上記2点の問題について、問題例1に対しては、ベンダの提供する動作保証情報を調べ、適切な拡張BIOSを導入すれば解決できる。問題例2に対しては、拡張BIOS Bを確実に使用するため、PCIカードAに搭載される拡張BIOS Aを拡張BIOS Bに変更することで解決できる。あるいは、基本BIOSの設定で拡張BIOS Aを使用しないという手段もある。
コンピュータ装置が拡張接続部を正常に制御できない事態を避けるために、コンピュータ装置を扱うユーザは、コンピュータ装置に接続される拡張接続部の制御プログラムを適切に導入することが求められる。以下では、適切な拡張BIOSを導入することがユーザの負担となるという問題を示す。ここでは、例として、拡張カードの拡張BIOSデータ更新手順の一例を示す。
ユーザは、拡張BIOSデータ更新のための専用ツールを入手する。そして、ユーザは、専用ツールを記憶媒体へ書き込む。また、ユーザは、専用ツールを起動するためのOperating System(OS)を用意する。通常、コンピュータ装置は、OSブート監視機能を有する。例えば、OSが特定のブートデバイスから起動されていない場合に、所定時間後に、強制的にOSを再度ブートするコンピュータ装置がある。そこで、ユーザは、OSブート監視機能、ブートデバイス等について、コンピュータ装置の設定を確認し、場合によっては強制的にOSを再度ブートしないように変更する。
次に、ユーザは、専用ツールのためのOSの起動ディスクをコンピュータ装置へ挿入する。そして、ユーザは、コンピュータ装置の電源を入れ、起動ディスクからOSを起動する。OSが起動されると、ユーザは、専用ツールを書き込んだ記憶媒体をコンピュータ装置へ挿入する。そして、ユーザは、OS上から専用ツールを起動し、拡張カード上の記憶素子に記憶された拡張BIOSデータの更新を行う。その後、ユーザは、OSブート監視機能、ブートデバイスの設定などのコンピュータ装置の設定を復旧する。
以上のように、拡張BIOSデータ更新は、対象の拡張カードに対応した専用のツールを用いて行われる。専用ツールの入手において、コンピュータ装置を扱うユーザは、更新を行いたい拡張カードの型番等の製品情報を調べた上で、拡張カードのベンダあるいはコンピュータ装置のベンダが提供する適切な拡張BIOSを探し出すことが求められる。
なお、専用ツールにOSが含まれている場合には、専用ツール用のOSの起動ディスクを用意する必要はない。ただし、ユーザは、専用ツールが書き込まれた記憶媒体、および読み書きのためのドライブを用意し、確認しておく作業を行うことになる。また、拡張BIOSデータを更新するためにユーザはコンピュータ装置のOSブート監視機能が無効化されているか、ブートデバイスの設定が問題ないかなどを確認することになる。
以上のように、コンピュータ装置が拡張カードを正常に制御するためには、コンピュータ装置の構成変更、拡張BIOS更新、外部装置のファームウェア更新などの度に各拡張カードについて、以上の作業が求められる場合がある。従来技術ではコンピュータ装置等の情報処理装置を扱うユーザが、情報処理装置に接続される拡張接続部、拡張接続部に接続される外部装置の構成に応じて、適切な制御プログラムを拡張接続部に設定することが求められる。以下、拡張接続部と外部装置とを総称して、被接続装置という。また、外部装置を拡張装置ともいう。
1つの側面では、開示の技術の目的は、情報処理装置に接続される被接続装置の構成に応じて、適切な制御プログラムを導入できるようにすることを目的とする。
開示の技術の一側面は、情報処理装置として例示できる。本情報処理装置は、被接続装置を接続可能なインターフェースと、インターフェースに接続された被接続装置の構成または動作仕様を含む装置情報を取得する取得手段と、装置情報に基づいて、被接続装置を制御するための制御プログラムを決定する決定手段と、決定された制御プログラムを用いて被接続装置を制御する制御手段と、を備え、被接続装置は、拡張接続部と拡張接続部に接続される拡張装置とを含み、取得手段は、インターフェースに接続された拡張接続部の構成または動作仕様を含む第1情報を取得する第1取得手段と、拡張接続部に接続される拡張装置の構成または動作仕様を含む第2情報を取得する第2取得手段と、を含む
本情報処理装置によれば、情報処理装置に接続される被接続装置の構成に応じて、適切な制御プログラムを決定し、被接続装置を制御することができる。
拡張カードを接続可能なコンピュータ装置の構成を例示する図である。 コンピュータ装置での処理の流れを例示する図である。 拡張接続部と、拡張接続部に接続された外部装置間の通信において生じる問題を例示する図である。 拡張接続部の組み合わせによる問題点を例示する図である。 実施例1に係るコンピュータ装置の構成を例示する図である。 コンピュータ装置の処理概要を例示する図である。 コンピュータ装置の動作フローを例示する図である。 実施例2に係る情報システムの構成を例示する図である。 情報処理部の構成を例示する図である。 FC SWの構成を例示する図である。 管理保守部の構成を例示する図である。 初期化部の処理フローを例示する図である。 構成情報生成部の処理フローを例示する図である。 構成情報を例示する図である。 構成情報送信部の処理を例示する図である。 拡張BIOS受信部の処理を例示する図である。 拡張BIOS読み取り部の処理を例示する図である。 ハードウェア制御部の処理を例示する図である。 コマンド発行部の処理を例示する図である。 外部装置管理表を例示する図である。 コマンド応答受信部の処理を例示する図である。 外部装置情報生成部の処理を例示する図である。 外部装置情報を例示する図である。 構成情報受信部の処理を例示する図である。 拡張カード識別子特定部の処理を例示する図である。 拡張カード識別子管理表を例示する図である。 拡張BIOS特定部の処理を例示する図である。 拡張BIOS管理表を例示する図である。 拡張BIOS送信部の処理を例示する図である。 通知表示部の処理を例示する図である。 データ更新部の処理フローを例示する図である。 FC SWの接続構築部の処理を例示する図である。 FC SWの通信部の通信処理を例示する図である。 FC SWのコマンド受信部の処理を例示する図である。 FC SWのコマンド応答部の処理を例示する図である。 実施例3に係るサーバ装置の構成を例示する図である。 実施例3に係る情報処理部の構成を例示する図である。 FC SWの構成を例示する図である。 管理保守部の構成を例示する図である。 外部装置情報取得部の処理を例示する図である。 構成情報生成部の処理を例示する図である。 構成情報を例示する図である。 再初期化部の処理を例示する図である。 拡張BIOS特定部の処理を例示する図である。
以下、図面を参照して一実施形態に係る情報処理装置について説明する。以下の実施形態の構成は例示であり、本情報処理装置は実施形態の構成には限定されない。
実施例1では、情報処理装置として、基本BIOSと拡張BIOSとによって入出力を制御するコンピュータ装置を例示する。実施例1では、コンピュータ装置の構成に応じた適切な拡張BIOSのデータが拡張カード上の記憶素子以外の領域に用意される。基本BIOSは、拡張カード以外の記憶領域に用意された拡張BIOSを用いることで、拡張カードを制御する。拡張BIOSが制御プログラムの一例である。
図5に、実施例1に係るコンピュータ装置1の構成を例示する。コンピュータ装置1が情報処理装置の一例である。コンピュータ装置1は、情報処理部3と管理保守部2とを有する。情報処理部3は、コンピュータ装置1の種々の機能をユーザに提供する。一方、管理保守部2は、情報処理部3で実行されるコンピュータプログラムの更新等、種々の管理機能を提供する。
情報処理部3は、プロセッサ30と、プロセッサ30に接続されるインターフェース36を有する。プロセッサ30は、インターフェース36を介して拡張カード35を接続可能であり、さらに拡張カード35を介して外部装置4と接続可能である。拡張カード35が拡張接続部の一例である。拡張カード35は、被接続装置の一例でもある。また、外部装置4が拡張装置の一例である。また、拡張カード35と外部装置4との組み合わせが、被接続装置の一例である。プロセッサが制御手段の一例である。
インターフェース36は、プロセッサに接続される内部バスと、周辺装置を接続する外部バスとの間でデータを授受する。実施例1の情報処理部3において、インターフェース36の種類に限定はない。インターフェース36としては、Peripheral Component Interconnect(PCI)、 PCI−X、PCI Express、InfiniBand(インフィニバンド)等を例示できる。情報処理部3は、インターフェース36に、拡張カード35と拡張カード35に接続された外部装置4との組み合わせを追加することによって、構成を柔軟に変更可能である。
情報処理部3は、メモリ31内に基本BIOS32を格納している。情報処理部3では、プロセッサ30が基本BIOS32を実行することによって、入出力機能を提供する。基本BIOS32は、構成情報生成部321、構成情報送信部322、拡張BIOS受信部323、拡張BIOS読み取り部324の各機能部を有する。情報処理部3の図示しないプロセッサは、メモリ31内の基本BIOS32を実行し、構成情報生成部321、構成情報送信部322、拡張BIOS受信部323、拡張BIOS読み取り部324として機能する。以下、「情報処理部3のプロセッサ30が構成情報生成部321等の機能部により処理を実行する」ことを「構成情報生成部321等が処理を実行する」ともいう。また、メモリ31は、記憶領域の一部に、構成情報格納部331、拡張BIOS受信データ格納部332を有する。
構成情報生成部321は、コンピュータ装置1に内蔵されたROM等に格納された装置情報、あるいは情報処理部3が持つ各ハードウェアに内蔵されたROM等に格納された情報からコンピュータ装置1の構成情報を生成し、構成情報格納部331へ格納する。コンピュータ装置1の構成情報としては、例えば、コンピュータ装置1のメーカ、モデル、プロセッサの種類、メモリの容量、周辺装置のインターフェースの種類等を例示できる。なお、プロセッサをCPUともいう。
構成情報送信部322は、構成情報格納部331に格納された構成情報を管理保守部2へ送信する。拡張BIOS受信部323は、管理保守部2から送信される拡張BIOSデータを受信し、拡張BIOS受信データ格納部332に格納する。拡張BIOS読み取り部324は、拡張BIOS受信データ格納部332内の拡張BIOSデータを読み取り、情報処理部3のメモリ31へ転送する。
構成情報格納部331は、構成情報生成部321によって生成された構成情報を格納する。拡張BIOS受信データ格納部332は、拡張BIOS受信部323が受信した拡張BIOSデータを格納する。また、情報処理部3は管理保守部2と通信するため通信インターフェース(以下、通信I/F 34)を持つ。
管理保守部2は情報処理部3とは独立したプロセッサ20とメモリ21によって動作する。また、管理保守部2はストレージ装置29を有する。ストレージ装置29は、拡張BIOSデータを格納する。
管理保守部2はメモリ21内に、拡張BIOS選択部22の機能を提供するコンピュータプログラムを保持する。また、拡張BIOS選択部22は、構成情報受信部221、拡張BIOS特定部223、および拡張BIOS送信部224を有する。管理保守部2のプロセッサ20は、メモリ21内のコンピュータプログラムを実行し、拡張BIOS選択部22、構成情報受信部221、拡張BIOS特定部223、および拡張BIOS送信部224として機能する。以下、「管理保守部2のプロセッサ20が拡張BIOS選択部22として、コンピュータプログラムにより処理を実行する」ことを「拡張BIOS選択部22が処理を実行する」ともいう。管理保守部2は、メモリ21内に、構成情報格納部231、組み合わせ表232を格納する。
構成情報受信部321は、情報処理部3から送信された構成情報を受信し、構成情報格納部231へ格納する。拡張BIOS特定部223は、構成情報格納部231に格納された構成情報と組み合わせ表232とを照らし合わせ、コンピュータ装置1の構成に応じた拡張BIOSデータを特定する。拡張BIOS送信部224は、特定した拡張BIOSデータを管理保守部2の持つストレージ29から読み出し、情報処理部3へ送信する。
構成情報格納部231は、構成情報受信部221が受信したコンピュータ装置1の構成情報を格納する。実施例1における構成情報が装置情報の一例である。組み合わせ表232は、拡張BIOS特定部223による拡張BIOS特定処理において参照され、使用される。また、管理保守部2は情報処理部3と通信するための通信I/F 24を有する。
図6にコンピュータ装置1の処理概要を例示する。また、図7にコンピュータ装置1の動作フローを例示する。以下、図7にしたがって、コンピュータ装置1の処理を説明する。なお、図6では、データの授受を示す矢印は、メモリ21、およびメモリ31上の機能部間で例示されている。
ユーザによる起動操作等にしたがって、コンピュータ装置1の情報処理部3が起動する(S1)。情報処理部3が起動すると、基本BIOS32が呼び出される。以下、情報処理部3等の「プロセッサがコンピュータプログラムを実行する」ことを「プロセッサがコンピュータプログラムを呼び出す」ともいう。基本BIOS32は、プロセッサあるいはメモリ31の初期化、各機器に対するリソース割り当て等を実行する(S2)。
次に、基本BIOS32は、情報処理部3に接続された拡張カード35上の記憶素子に格納されている拡張BIOSを検索する(S3)。そして、基本BIOS32は、検索されたそれぞれの拡張BIOSを情報処理部3のメモリ31へ転送する(S4)。S3およびS4の処理が実行される場合の例として、拡張カード35に接続された外部装置の情報を取得するために、拡張BIOSによる拡張カード35の制御を実行する場合を挙げることができる。したがって、拡張カード35に接続された外部装置の情報を取得しない場合には、S3とS4の処理を省略してもよい。
次に、基本BIOS32は、構成情報生成部321を呼び出す(S5)。構成情報生成部321が、取得手段の一例である。実施例1の構成情報が装置情報の一例である。情報処理部3のプロセッサ30は、構成情報生成部321として、メモリ31上の基本BIOS32を実行する。構成情報生成部321はコンピュータ装置1の情報としてモデル、情報処理部3のプロセッサ、チップセット、メモリ容量等の情報を取得する。
また、構成情報生成部321は拡張カード35の情報としてベンダID、デバイスID、クラスコード、サブシステムベンダID、サブシステムIDなどを取得する。構成情報生成部321が取得する拡張カード35の情報が第1情報の一例である。また、例えば、拡張カード35の情報として取得されるベンダID、デバイスID、クラスコード、サブシステムベンダID、サブシステムIDなどが、拡張接続部の構成または動作仕様に相当する。
さらに、構成情報生成部321は拡張カード35に接続された外部装置の情報として外部装置の種類やファームウェア版数などのうち、情報取得の対象とされている外部装置情報を取得する。構成情報生成部321が取得する外部装置の情報が第2情報の一例である。また、例えば、外部装置の種類やファームウェア版数などが、外部装置(拡張装置)の構成または動作仕様に相当する。実施例1のコンピュータ装置1では、第1情報と第2情報とが取得されるので、コンピュータ装置1に対して適切な拡張BIOSを決定できる。
情報取得の対象は、例えば、構成情報生成部321として情報処理部3が実行するコンピュータプログラム内に定義しておけばよい。情報取得の対象は、例えば、構成情報生成部321に付与する外部のパラメータテーブル等に定義しておいてもよい。そして、構成情報生成部321は取得した情報を基に、構成情報を生成する。生成された構成情報は情報処理部3の構成情報格納部331へ格納される。構成情報生成部321による、構成情報取得時のデータフローは図6の矢印で示されている。
次に、基本BIOS32は、構成情報送信部322を呼び出す(S5)。構成情報送信部322は構成情報格納部331へ格納された構成情報を、通信I/F 34を通じて管理保守部2へ送信する。構成情報送信部322から管理保守部2への構成情報のフローも、図6の矢印で示されている。
次に、拡張BIOS受信部323が呼び出される(SA)。拡張BIOS受信部323は、管理保守部2から通信I/F 34を介して拡張BIOSデータを受信する。管理保守部2から拡張BIOSデータが送信されると、拡張BIOS受信部323は受信した拡張BIOSデータを拡張BIOS受信データ格納部332へ格納する。管理保守部2から拡張BIOS受信部323への拡張BIOSデータのフロー、および、拡張BIOS受信部323から拡張BIOS受信データ格納部332への拡張BIOSデータのフローは、図6に矢印で示されている。
次に、拡張BIOS読み取り部324が呼び出される。例えば、拡張BIOS受信部323が拡張BIOSデータの拡張BIOS受信データ格納部332への格納を完了すると、基本BIOS32が、拡張BIOS読み取り部324を呼び出すようにすればよい。拡張BIOS読み取り部324は拡張BIOS受信データ格納部332に格納された拡張BIOSデータを検索する(SB)。そして、拡張BIOS読み取り部324は、検索した拡張BIOSデータを情報処理部3のメモリ31上へ転送する(SC)。拡張BIOS読み取り部324による拡張BIOSデータ転送時のデータのフローは図6に矢印で示されている。
次に、情報処理部3のプロセッサ30は、拡張BIOSによる拡張カード35の初期化、初期設定、制御を行った後(SD)、OSを起動する(SE)。次に、管理保守部2の動作を説明する。まず、管理保守部2のプロセッサ20は構成情報受信部221を呼び出す。構成情報受信部221は、通信I/F 24を介して情報処理部3から送られてくる構成情報を受信する機能を持つ。構成情報受信部221は、構成情報を受信すると、受信した構成情報を管理保守部2の構成情報格納部231へ格納する(S6)。構成情報受信部221から構成情報格納部231に格納される構成情報のフローは図6に矢印で示される。
次に、管理保守部2のプロセッサは拡張BIOS特定部223を呼び出す。拡張BIOS特定部223は、構成情報格納部231に格納された構成情報と、組み合わせ表232を比較する(S7)。組み合わせ表232には、コンピュータ装置1の構成を定義する構成情報、例えば、コンピュータ装置1の情報、拡張カード35の情報、あるいは、外部装置に関する外部装置情報等と、適切な拡張BIOSとの関係が定義されている。そして、拡張BIOS特定部223は、構成に応じた適切な拡張BIOSを特定する(S8)。拡張BIOS特定部223は、決定手段の一例である。処理部3のプロセッサ30は、拡張BIOS特定部223として、メモリ31上の基本BIOS32を実行する。
次に、管理保守部2のプロセッサは拡張BIOS送信部224を呼び出す。拡張BIOS送信部224は、拡張BIOS特定部223によって特定された拡張BIOSのデータを、管理保守部のストレージ装置29から読み出し、通信I/F 24を介して情報処理部3へ送信する(S9)。拡張BIOS送信部224から情報処理部3への拡張BIOSのデータのフローは図6に矢印で示される。
以上述べたように、図6および図7に示した動作フローにより、コンピュータ装置1の構成に応じた適切な拡張BIOSが特定され、情報処理部3に導入される。さらに、図6および図7の動作フローでは、コンピュータ装置1のユーザは、どの拡張BIOSのデータが適切な拡張BIOSに該当するかを意識しなくてもよい。したがって図6および図7の動作フローによりユーザが、コンピュータ装置1に含まれる装置の構成に応じて適切な拡張BIOSを考慮すること、あるいは、拡張カード34の記憶素子上の拡張BIOSデータを適切なものに書き換えること等の拡張BIOS管理の負担が軽減できる。
例えば、ユーザがコンピュータ装置1を導入後に、拡張カード35、あるいは外部装置4を追加する場合、あるいは、既存の拡張カード35、あるいは外部装置4に代えて、他の拡張カードあるいは外部装置を導入する場合を想定する。このように、ユーザがコンピュータ装置1を導入後に、拡張カード35あるいは外部装置4の構成を変更したとしても、実施例1のコンピュータ装置1では、構成情報受信部221が、情報処理部3の構成情報を受信し、拡張BIOS特定部223が、組み合わせ表232にしたがって、適切な拡張BIOSを特定し、拡張BIOS送信部224が、ストレージ装置29内の適切な拡張BIOSのデータを情報処理部3に引き渡す。したがって、ユーザが、コンピュータ装置1を導入後に、拡張カード35、外部装置4を変更したとしても、コンピュータ装置1の処理によって、情報処理部3は、適切な拡張BIOSにより、拡張カード35、外部装置4を制御することができる。したがって、拡張カード35、外部装置4の変更に伴う、ユーザ負担を軽減できる。
そのため、コンピュータ装置は、ストレージ装置29内の拡張BIOSのデータおよび組み合わせ表232を更新するようにすればよい。更新は、定期的に実行してもよい。また、更新は、ユーザの更新指示にしたがって実行してもよい。また、更新は、拡張カード35、外部装置4の変更を契機として実行してもよい。
<構成>
図8に実施例2に係る情報システムの構成図を例示する。本情報システは、サーバ装置1Aと、サーバ装置1Aに接続されるFibre Channel Switch (FC SW)41A、41Bと、FC SW 41A、41Bにそれぞれ接続されるストレージシステム42A、42Bと、表示装置46とを有している。また、サーバ装置1Aは、情報処理部3と管理保守部2を有している。したがって、実施例1の外部装置4として、実施例2では、FC SW 41A、41B、およびストレージシステム42A、42Bが例示されている。FC SW 41A、41Bが拡張装置の一例である。
また、情報処理部3は、基本BIOS32と格納部33とを含むメモリと、Fibre Channel Host Bus Adapter(FC HBA)35A、35Bと、通信I/F 34とを有している。実施例2では、情報処理部3が実施例1の拡張カード34として、FC HBA 35A、35Bを有する。情報処理部3の詳細構成は、図9により後述する。
また、管理保守部2は、メモリ上に、拡張BIOS選択22、外部装置情報取得部26、データ更新部、および、通知表示部として機能するコンピュータプログラムと、格納部23とを有する。また、管理保守部2は、通信I/F 24、ストレージ装置29、ネットワークI/F 25、および表示I/F 26を有する。表示I/F 26には、表示装置46が接続される。
また、管理保守部2は、ネットワークI/F 25を通じて、FC SW 41A、41Bと接続される。実施例1では、情報処理部3が、拡張カード35を介して、構成情報の一部として外部装置4に関する情報を取得した。一方、実施例2では、管理保守部2の外部装置情報取得部26が実施例1の外部装置4に相当するFC SW 41A、41Bに関する情報を取得する。なお、管理保守部2の詳細構成は、図11により後述する。
表示装置46は、例えば、液晶ディスプレイ、エレクトロルミネッセンスパネル、プラズマディスプレイ、Cathode Ray Tube(陰極線管、CRT)等である。また、表示I/F 26は、管理保守部2のプロセッサ20およびチップセットと、表示装置46との間のインターフェースである。
以下、情報処理部3、管理保守部2、FC HBA 35A、35BおよびFC SW 41A、41Bの詳細構成を例示する。なお、FC HBA 35A、35Bを総称する場合には、単に、FC HBAという。ただし、実施例2の情報システムにおいて、FC HBA 35が2個に限定される訳ではない。同様に、FC SW 41A、41Bを総称する場合には、FC SW 41という。ただし、実施例2の情報システムにおいて、FC SW 41が2個に限定される訳ではない。
図9に情報処理部3の構成図を例示する。図9のように、サーバ装置1A内の情報処理部3は、情報処理部3の機能を提供するためのプロセッサ30とメモリ31とPCIバスインターフェース36A、36Bを有する。プロセッサ30とメモリ31とPCIバスインターフェース36A、36Bとは内部バスで接続される。PCIバスインターフェース36A、36Bは、実施例1のインターフェース36の一例である。PCIバスインターフェース36A、36Bは、PCIバスによる接続機能を提供する。PCIバスに接続される拡張カードをPCI拡張カードという。実施例2では、拡張接続部の一例として、PCI拡張カードを用いる。
PCIバスインターフェース36A、36Bには、PCI拡張カードとしてFC HBA 35A及びFC HBA 35Bが接続されている。FC HBA 35A及びFC HBA 35Bは、実施例1の拡張カードの一例である。FC HBA 35A及びFC HBA 35Bは、拡張接続部の一例でもある。また、FC HBA 35AとFC SW 41Bの組み合わせは被接続装置の一例である。同様に、また、FC HBA 35BとFC SW 41Bの組み合わせは被接続装置の一例である。さらに、情報処理部3は管理保守部2との通信を行うための通信I/F 34を持つ。
さらに、実施例1と同様、情報処理部3は、メモリ31上に基本BIOS32を格納する領域と、格納部33とを有する。基本BIOS32は、初期化部325、構成情報生成部321、構成情報送信部322、拡張BIOS受信部323、拡張BIOS読み取り部324、およびハードウェア制御部326を有する。
初期化部325は、情報処理部3が持つプロセッサ30やメモリ31の初期診断、初期化、ハードウェアに対するリソース割り当て等を実行する。構成情報生成部321は、サーバ装置1Aが持つ各ハードウェアの情報から構成情報を生成する。ただし、実施例1と異なり、構成情報生成部321は、構成情報の中に、外部装置4の一例であるFC SW 41の情報を含めない。構成情報生成部321は、第1取得手段の一例と考えこともできる。情報処理部3のプロセッサ30は、構成情報生成部321として、メモリ31上の基本BIOS32を実行する。
ハードウェア制御部326は、拡張BIOS読み取り部324によってメモリ31に格納された拡張BIOSを用いて、各PCI拡張カードのデバイス依存の初期化や設定を実施し、ハードウェアの制御を行う。なお、構成情報送信部322、拡張BIOS受信部323、拡張BIOS読み取り部324は、実施例1のものと同様である。
実施例2では、FC HBA35A、35Bは同一ベンダ製であると仮定する。また、FC HBA 35Bの方がFC HBA 35Aよりも新しい製品であると仮定する。また、それぞれのFC HBA 35A、35Bに搭載されるPCI I/Fチップは同一のものである。なお、PCI I/Fチップは、FC HBA 35A、35BがPCIバスを通じて、情報処理部3と通信するとともに、FC HBA 35A、35Bに接続される外部装置、例えば、FC SW 41A、41Bと通信する。
FC HBA 35A、35Bは、不揮発性の記憶装置、例えば、EEPROMを有している。FC HBA 35A、35BのEEPROM内にはそれぞれ拡張BIOSデータA、拡張BIOSデータBが格納されている。
拡張BIOS Aは新しい製品であるFC HBA 35Bの制御には対応していないと仮定する。一方、拡張BIOS BはFC HBA 35AおよびFC HBA 35B双方の制御に対応していると仮定する。また、実施例2では、FC HBA 35A、35B双方の制御に対応しており、さらにFC SW 41と正しく通信を行えることがベンダによって保証されているような拡張BIOS Cがあるものと仮定して説明をする。すなわち、拡張BIOS Cを用いることにより、サーバ装置1Aは正常動作する。
図10にFC SW 41の構成を例示する。FC SW 41は、FC SW 41を動作させるための独立したプロセッサ410とメモリ411を持ち、FC SW 41のファームウェアによって制御される。FC SW 41には複数のファイバチャネルインターフェース(以下FC I/F 416)が搭載されている。また、FC SW 41にはネットワークインターフェース(以下、ネットワークI/F 417)が搭載されている。FC SW 41はLAN(Local Area Network)経由でネットワークに接続することができる。実施例2では、例えば、図8のFC SW 41AにはIPアドレス「10.0.0.100」、FC SW 41Bには「10.0.0.101」が割り当てられていると仮定する。
また、FC SW 41のファームウェアは、接続構築部412、通信部413、コマンド受信部414、コマンド応答部415を有する。接続構築部412は、FC HBAやストレージシステム42との接続を確立する。
通信部413は、FC HBAやストレージシステム42との通信を行う。コマンド受信部414は、ネットワークI/F 417を介しコマンドを受信する。コマンド応答部415は、ネットワークI/F 417を介しコマンドに応答する。実施例2では、コマンド受信部414が「inquiry」コマンドを受け取るとFC SW 41の装置情報をコマンド応答部415が送信するものとする。
図11に管理保守部2の構成図を例示する。管理保守部2は、管理保守部2を動作させるためのプロセッサ20とメモリ21を有する。また、管理保守部2は、情報処理部3と通信を行うための通信I/F 24、表示装置46(図8参照)と接続するための表示インターフェース(以下、表示I/F 26)、LAN経由でネットワークと接続するためのネットワークI/F 25を有する。管理保守部2には、ストレージインターフェース(以下、ストレージI/F 25A)を介してストレージ装置29が接続されている。ストレージ装置29は、例えば、フラッシュメモリ等である。ストレージ装置29内には、複数種類の拡張BIOSデータが格納される。複数種類の拡張BIOSデータの中には、FC HBA 35A及びFC HBA 35Bをともに制御可能で、外部装置4として接続されるFC SW 41に対する待ち時間が600msに設定されているなど、ベンダによって動作保証されている拡張BIOS Cが含まれている。
管理保守部2は、プロセッサ20を拡張BIOS選択部22、外部装置情報取得部27、通知表示部、およびデータ更新部として機能させるコンピュータプログラムをメモリ21内の領域に保持する。また、管理保守部2は、メモリ21内に格納部23を有する。
格納部23は、管理保守部2が管理する各種情報、例えば、情報処理部3を管理し、保守するための情報処理部3に関する情報を格納する。例えば、格納部23は、組み合わせ表格納部232A内に、拡張BIOS管理表232B、および拡張カード識別子管理表232Cを保持する。組み合わせ表格納部232Aの拡張BIOS管理表232B、および拡張カード識別子管理表232Cを単に組み合わせ表ともいう。拡張BIOS管理表232Bについては図28により後述する。また、拡張カード識別子管理表232Cについては、図26により後述する。
さらに、格納部23は、情報処理部3の構成情報を格納する構成情報格納231、外部装置管理表を格納する外部装置管理表格納部233、および、情報処理部3のFC HBAに接続された外部装置の情報を格納する外部装置情報格納部234を有する。構成情報については、図14により後述する。また、外部装置管理表については、図20により後述する。また、外部装置情報については、図23により後述する。
(外部装置情報取得部)
次に、外部装置情報取得部27の機能を説明する。外部装置情報取得部27は、コマンド発行部271、コマンド応答受信部272、外部装置情報生成部273により、通信I/F 24を介して取得した外部装置(例えば、図8のFC SW 41)の情報から、外部装置情報を生成する。外部装置情報取得部27は、第2取得手段の一例である。管理保守部2のプロセッサ20は、外部装置情報取得部27として、メモリ21上のコンピュータプログラムを実行する。
コマンド発行部271は、ネットワークI/F 25を介して外部装置管理表に記載された外部装置へ、装置情報問い合わせコマンドを発行する。コマンド応答受信部272は、ネットワークI/F 25を介して外部装置からの装置情報問い合わせコマンドに対する応答結果を受信する。外部装置情報生成部273は、コマンド応答結果から外部装置情報を生成する。外部装置情報生成部273は、生成した外部装置情報を外部装置情報格納部231に格納する。
(拡張BIOS選択部)
以下、拡張BIOS選択部22の各機能を説明する。拡張BIOS選択部22は、構成情報受信部221、拡張カード識別子特定部222、拡張BIOS特定部223、拡張BIOS送信部224により、サーバ装置1Aの構成情報および外部装置の情報に対して、適切な拡張BIOSを選択し、情報処理部3に提供する。第1取得手段としての構成情報生成部321により得られた構成情報と、第2取得手段としての外部装置情報取得部27により得られた外部装置情報とによって、拡張BIOS選択部22は、適切な拡張BIOSの選択が可能となる。
構成情報受信部221は、通信I/F 24を介して、情報処理部3から送信されたサーバ装置1Aの構成情報を受信する。構成情報受信部221は、第1取得手段の一例と考えることもできる。管理保守部2のプロセッサ20は、構成情報受信部221として、メモリ21上のコンピュータプログラムを実行する。
拡張カード識別子特定部222は、受信したサーバ装置1Aの構成情報と組み合わせ表格納部232Aの拡張カード識別子管理表232Cとを照らし合わせ、拡張カード識別子を特定する。
拡張BIOS特定部223は、外部装置情報取得部27が取得した外部装置情報と構成情報受信部221が受信した構成情報とから、適切な拡張BIOSデータを特定する。拡張BIOS特定部223は、決定手段の一例である。管理保守部2のプロセッサ20は、拡張BIOS特定部223として、メモリ21上のコンピュータプログラムを実行する。
すなわち、拡張BIOS特定部223は、外部装置情報と、構成情報と、拡張カード識別子との組み合わせを基に、組み合わせ表格納部232Aの拡張BIOS管理表232Bを参照し、適切な拡張BIOSデータを特定する。拡張BIOS送信部224は、特定した拡張BIOSデータを管理保守部2のストレージ装置29から読み出し、通信I/F 24を介して情報処理部3へ送信する。
(その他の機能部)
通知表示部は、表示I/F 26を介して表示装置46に種々の情報を表示する。表示される情報は、例えば、サーバ装置1Aの構成情報、外部装置の情報、サーバ装置1Aの構成に対応する適切な拡張BIOSが特定できなかったときの通知等である。
データ更新部は、ネットワークI/F 25を介してネットワーク上のコンピュータ、サーバ等から拡張BIOS管理表232B、拡張カード識別子管理表232Cを取得し、組み合わせ表格納部232Aに格納する。また、データ更新部は、ネットワークI/F 25を介してネットワーク上のコンピュータ、サーバ等から拡張BIOSデータ等を取得し、ストレージ装置29に格納する。例えば、データ更新部は、例えば、サーバ装置1Aのベンダ、PCI拡張カードのベンダ等が提供するネットワーク上のサーバから、拡張BIOS管理表232B、拡張カード識別子管理表232C、拡張BIOSデータを所定の契機に取得すればよい。所定の契機は、所定の時期、ユーザ操作によって指示されたとき、あるいは、サーバ装置1Aの構成の変更、PCI拡張カードの変更、追加等がなされたとき等である。
<処理フロー>
情報処理部3のプロセッサ30は、初期化部325、構成情報生成部321、構成情報送信部322、拡張BIOS受信部323、拡張BIOS読み取り部324、およびハードウェア制御部326として、メモリ31上の基本BIOS32を実行する。実施例2では、はじめ、サーバ装置1A内の情報処理部3の電源は投入されておらず、管理保守部2、および、FC SW 41A、41Bの電源は入っているものとする。
図12に、初期化部325の処理フローを例示する。情報処理部3の電源投入後、図12の処理を実行する基本BIOS32の初期化部325が呼び出される。初期化部325は、まず、情報処理部3のプロセッサ初期診断・初期化(S21)、メモリの初期診断・初期化を実行する(S22)。次に、情報処理部3は、情報処理部3内にある各種ハードウェアの初期診断およびリソース割り当てを実行する(S23)。ここで、リソース割り当てでは、例えば、メモリ31の領域をレジスタとして用いる各種ハードウェアに対して、メモリ31の領域が割り当てられる。
図13に、構成情報生成部321の処理フローを例示する。構成情報生成部321はサーバ装置1Aのハードウェアの構成に係る情報を収集し、構成情報を生成する。構成情報生成部321は、まず、サーバ装置1Aのモデル情報を取得する(S51)。サーバ装置1Aのモデル情報は、例えば、情報処理部3のROM上等に格納されている。次に、構成情報生成部321は、情報処理部3のプロセッサ30およびメモリ31の構成に関する情報、チップセットの情報等を取得する(S52)。S51およびS52の処理で取得した情報は、サーバ情報と呼ばれる。
次に、構成情報生成部321は、拡張カードの情報としてFC HBA 35のベンダID、デバイスID、クラスコード、サブシステムベンダID、サブシステムIDを取得する(S53)。FC HBA 35の情報は、コンフィグレーション・レジスタを呼び出すことで取得可能である。コンフィグレーション・レジスタは、入出力処理用のために情報処理部3の物理アドレス空間の一部に割り付けられている。構成情報生成部321がFC HBA 35の情報取得指令用のコンフィグレーション・レジスタに所定の値を設定する。すると、FC HBA 35が自身の情報を情報出力用のコンフィグレーション・レジスタに出力する。次に、構成情報生成部321は、図14で例示される構成情報を生成する(S54)。構成情報生成部321は、生成した構成情報を構成情報格納部331へ格納する。
図14に、構成情報のデータ例を示す。図14の例では、構成情報は、サーバ情報と拡張カード情報を含む。また、サーバ情報は、モデル情報、CPUに関する情報、チップセットに関する情報、メモリに関する情報を含む。さらに、モデル情報は、サーバのメーカを指定する情報、モデルを指定する情報、およびシリアル番号を含む。メモリに関する情報とは、例えば、メモリの容量等である。
拡張カード情報は、サーバ装置1Aが接続されるそれぞれの拡張カードについて、ベンダID、デバイスID、クラスコード、サブシステムベンダID、サブシステムIDを有する。
図15に構成情報送信部322の処理を例示する。構成情報送信部322は構成情報格納部331に格納された構成情報を読み出す(S55)。そして、構成情報送信部322は通信I/F 34を介して構成情報を管理保守部2へ送信する(S56)。
図16に、拡張BIOS受信部323の処理を例示する。拡張BIOS受信部323は管理保守部2から送信される拡張BIOSデータを受信する機能を有する。拡張BIOS受信部323は、起動されると、定められたタイムアウト値に達するまで管理保守部2からの拡張BIOSデータ送信を待つ(SA1)。
拡張BIOSデータが受信されると(SA2でYの場合)、拡張BIOS受信部323は、送信された拡張BIOSデータを拡張BIOS受信データ格納部332へ格納する(SA3)。タイムアウト値に達するまで管理保守部2から拡張BIOSデータが送信されない場合、あるいは拡張BIOS受信部323が管理保守部2からの送信終了通知を受け取った場合(SA1でYの場合)、拡張BIOS受信部323は処理を終了する。以上の処理により、タイムアウト値に達する前に拡張BIOSデータが管理保守部2から送信されると、受信された拡張BIOSデータが拡張BIOS受信データ格納部332に格納される。
図17に、拡張BIOS読み取り部324の処理を例示する。拡張BIOS読み取り部324は、拡張BIOS受信部323の処理終了後に起動される。拡張BIOS読み取り部324は情報処理部3のメモリ31に、拡張BIOS受信データ格納部332の拡張BIOSデータを転送する。
拡張BIOS読み取り部324は、起動された後、拡張BIOS受信データ格納部332の拡張BIOSデータを検索する。拡張BIOS受信データ格納部332に拡張BIOSデータがある場合(SC1でYの場合)、拡張BIOS読み取り部324は、検索された拡張BIOSデータをメモリ31上へ転送する(SC2)。拡張BIOS受信部323による処理でのタイムアウトなどにより拡張BIOSデータが拡張BIOS受信データ格納部332にない場合、拡張BIOS読み取り部324は拡張カードの記憶素子内の拡張BIOSデータを情報処理部3のメモリ上へ転送する(SC3)。以上の処理によって、拡張BIOS受信データ格納部332に拡張BIOSデータCが格納されている場合、メモリ31上に適切な拡張BIOSが転送される。
図18に、ハードウェア制御部326の処理を例示する。ハードウェア制御部326は拡張BIOSを用いてハードウェアを制御する機能を有する。ハードウェア制御部326は、メモリ31上の拡張BIOSを用いて、拡張カードに対しデバイス依存の初期化を実施する(SD1)。デバイス依存の初期化としては、拡張カードごとに固有の初期化処理、例えば、FC HBA 35に対するレジスタのクリア処理、初期値設定等を例示できる。
次に、ハードウェア制御部326は、拡張カードに対してデバイスの設定を実施する(SD2)。拡張カードに対するデバイスの設定としては、拡張カードごとに固有の設定処理、例えば、FC HBA 35に対するPCIバスとの接続設定等を例示できる。
そして、ハードウェア制御部326は、拡張BIOSを用いた拡張カードのデバイス制御を開始する(SD3)。以上の処理によって、FC HBA 35AおよびFC HBA 35Bは拡張BIOSによって制御される。例えば、拡張BIOS内に設定されているレスポンス待ち時間等にしたがって、タイムアウトの判定がなされる。
次に、管理保守部2の処理を説明する。ここでは、管理保守部2の処理のうち、外部装置情報取得処理と拡張BIOS選択処理を例示する。
まず、外部装置情報取得処理について説明する。外部装置情報取得処理は、外部装置情報取得部27により実行される。外部装置情報を最新に保つために、管理保守部2は外部装置情報取得部27を定期的に呼び出す。外部装置情報取得部27は、コマンド発行部271、コマンド応答受信部272、および外部装置情報生成部273を含む。
図19に、コマンド発行部271の処理を例示する。コマンド発行部271は、外部装置管理表(図20参照)に記載されたIPアドレスと、外部装置種類を参照する(S61、S62)。そして、コマンド発行部271は、外部装置に対して装置情報問い合わせコマンドを発行する(S63)。実施例2では、図20のようにFC SW 41A及び41Bの外部装置種類をともに「FCSW−012」であるとする。例えば、「FCSW−012」の装置情報問い合わせコマンドが「inquiry」であるとすると、コマンド発行部271は10.0.0.100と10.0.0.101それぞれに「inquiry」コマンドを発行する。
なお、コマンド発行部271は、コンピュータプログラム内で外部装置種類を基に、外部装置管理表からIPアドレスを参照し、装置情報問い合わせコマンドを発行してもよい。また、コマンド発行部271は、外部装置管理表に記載されたIPアドレスを順次参照し、装置情報問い合わせコマンドを発行してもよい。
図20に外部装置管理表のデータ例を示す。図20の表の1つの行が、1つのレコードを示している。外部装置管理表の1つレコードは、例えば、Internet Protocol(IP)アドレスと外部装置種類を特定する情報とを含む。
図21に、コマンド応答受信部272の処理を例示する。コマンド応答受信部272は、タイムアウト値に達するまで(S64でYの場合まで)、外部装置からの装置情報問い合わせコマンド応答結果を待つ(S65)。コマンド発行部272は、コマンド発行数分の応答受信、あるいはタイムアウトによって処理を終了する(S66でY)。
図22に、外部装置情報生成部273の処理を例示する。外部装置情報生成部273はコマンド応答受信部272が受信した装置情報問い合わせコマンド応答結果から、外部装置情報(図23参照)を生成する(S67)。外部装置情報生成部273は、生成した外部装置情報を外部装置情報格納部234へ格納する(S68)。以上の処理の結果、外部装置情報としてベンダ名、型番、ファームウェア(FW版)数がFC SW 41から送信されると、図23で例示される外部装置情報が得られる。図23の例では、外部装置情報は、それぞれの外部装置ごとに、IPアドレス、ベンダ名、型番、およびファームウェア(FW)版数を保持している。また、図23の例では、タイムアウト値以内にIPアドレス10.0.0.100および10.0.0.101の外部装置から応答があったことが分かる。
次に、拡張BIOS選択部22の処理について説明する。拡張BIOS選択部22の処理は、例えば、情報処理部3から構成情報を受け取ること、あるいは、または、外部装置情報取得部27が外部装置情報を外部装置情報格納部234に格納することによって開始される。拡張BIOS選択部22は、外部装置情報および情報処理部3からの構成情報に応じた適切な拡張BIOSを選択し、情報処理部3へ送信する。拡張BIOS選択部22は、構成情報受信部221、拡張カード識別子特定部222、拡張BIOS特定部223、拡張BIOS送信部224を有する。構成情報が、第1情報の一例であり、外部装置情報が第2情報の一例である。また、図14の構成情報中のベンダID、デバイスID、クラスコード、サブシステムベンダID、サブシステムID等が拡張接続部の構成または動作仕様の一例である。また、図23の外部装置情報中のベンダ名、型番、およびファームウェア(FW)版数等が拡張装置の構成または動作仕様の一例である。サーバ装置1Aは、第1情報と第2情報とによって、拡張BIOSを特定するので、サーバ装置1Aの構成に対して適切な化拡張BIOSを決定できる。
図24に、構成情報受信部221の処理を例示する。通常、管理保守部2のプロセッサ20では、構成情報受信部221が起動されている。構成情報受信部221は、通信I/F 24を介し情報処理部3から構成情報を受け取る。例えば、構成情報が情報処理部3から送信されるまでの間は、構成情報受信部221はメモリ21に常駐し受信を待つ(S71)。ただし、構成情報を受信したときに、管理保守部2が構成情報受信部221を呼び出すようにしてもよい。構成情報を取得すると(S72)、構成情報受信部221は構成情報を構成情報格納部231へ格納する(S73)。S71−S73の処理により図14に示される構成情報が受信され構成情報格納部231へ格納される。
図25に、拡張カード識別子特定部222の処理を例示する。拡張カード識別子特定部222は、まず、構成情報格納部231に格納された構成情報を参照し、構成情報内に拡張カード情報があるかを判断する(S81)。拡張カードの情報がない場合は、拡張カード識別子特定部222は処理を終了する。一方、拡張カード情報がある場合は拡張カード情報と、組み合わせ表格納部232Aの拡張カード識別子管理表232C(図26参照)との照らし合わせを実行する(S82)。拡張カード識別子管理表232Cは、ベンダID、デバイスID、クラスコード、サブシステムベンダID、サブシステムIDをキーとし、拡張カード識別子を決定するための表である。拡張カード情報と拡張カード識別子管理表232Cとの照らし合わせの結果、拡張カード情報と拡張カード識別子管理表232Cとの間で一致する情報がある場合(S83でYの場合)、拡張カード識別子特定部222は、拡張カード識別子管理表232Cの該当の情報を拡張カード識別子として特定する(S84)。構成情報内に、さらに拡張カード情報がある場合はすべての拡張カードに対して同様の処理を繰り返す(S85でYの場合)。
実施例2においては、構成情報にはFC HBA 35A及びFC HBA 35Bの拡張カード情報が含まれている。よって、この処理によって、図26に例示するような、FC HBA 35Aの拡張カード識別子「00001234」および、FC HBA 35Bの拡張カード識別子「00002234」が特定される。
図26に、拡張カード識別子管理表232Cのデータ構成を例示する。拡張カード識別子管理表232Cは、構成情報中の拡張カードに関する情報から拡張カード識別子を特定するときに使用される。拡張カード識別子管理表232Cは、ベンダID、デバイスID、クラスコード、サブシステムベンダID、サブシステムID、および拡張カード識別子の組みを有する。
ここで、ベンダIDとは、拡張カードに含まれるインターフェースチップの製造販売元を特定する情報である。また、デバイスIDとは、拡張カードに含まれるインターフェースチップのベンダがインターフェースチップに固有に付す識別情報である。クラスコードは、例えば、拡張カードに含まれるインターフェースチップの機能を特定する情報である。デバイスIDとクラスコードとによって、インターフェースチップの種類、機能等が特定される。なお、インターフェースチップの種類、機能は、拡張カードの種類ということもできる。拡張カードの種類は、例えば、ネットワークカード、グラフィックカード、サウンドカード、FC HBA等である。
サブシステムベンダIDは、拡張カードの製造販売元を特定する情報である。また、サブシステムIDは、拡張カードのベンダが拡張カードに固有に付す識別情報である。すなわち、ベンダIDがインターフェースチップの製造販売元を特定し、サブシステムベンダIDは、拡張カードの製造販売元を特定する。
図27に、拡張BIOS特定部223の処理を例示する。拡張BIOS特定部223は構成情報のサーバ情報および拡張カード識別子、外部装置情報と、組み合わせ表格納部232Aの拡張BIOS管理表232B(図28参照)との照らし合わせを実行する(S91)。拡張BIOS管理表232Bは、サーバ情報、拡張カード識別子、外部装置情報を主キーとして、適切な拡張BIOSデータを特定するために使用される表である。照らし合わせの結果、主キーに一致する情報が拡張BIOS管理表232Bにある場合(S92でYの場合)、拡張BIOS特定部223は、該当の拡張BIOSデータを適正な拡張BIOSデータとして特定する。
主キーと一致する情報が拡張BIOS管理表232Bにない場合(S92でNの場合)、拡張BIOS特定部223は、通信I/F 24を介し情報処理部3へ拡張BIOS受信部終了通知を送信する(S96)。さらに、拡張BIOS特定部223は、通知表示部を呼び出し、適切な拡張BIOSデータがない旨の通知を表示装置46に表示する(S97)。そして、拡張BIOS特定部223は、処理を終了する。
図28に、拡張BIOS管理表232Bの構成を例示する。拡張BIOS管理表232Bは、構成情報と拡張カード識別子とから適切な拡張BIOSを特定するときに使用される。図28で示される表の各行が拡張BIOS管理表232Bのレコードに相当する。拡張BIOS管理表232Bのレコードは、入力のフィールドと、出力のフィールドを有する。
さらに、入力のフィールドは、サーバ情報、1以上の拡張カード識別子のサブフィールド(拡張カード識別子1、拡張カード識別子2等)、および1以上の外部装置のサブフィールドを有する。
サーバ情報のサブフィールドには、サーバを特定する情報を格納する。また、拡張カード識別子のサブフィールドには、拡張カードを識別する情報を格納する。外部装置のサブフィールドには、拡張カードに接続される外部装置を識別する情報を格納する。
また、出力のフィールドには、1以上のファームウェアのフィールド(FW1、FW2等)を有する。ファームウェアのフィールドには、ファームウェアを特定する情報、具体的には、拡張BIOSを特定する情報を設定する。
したがって、拡張BIOS管理表232Bの1つのレコードによって、サーバ、1以上の拡張カード、1以上の外部装置の組み合わせに対して、適切なファームウェア、例えば、拡張BIOSを1以上指定できる。なお、入力のフィールドで指定される拡張カード識別子、および外部装置に対して、複数のファームウェアが特定された場合には、所定の順序、例えば、図28で出力のフィールドの左側優先で選択するようにすればよい。ただし、このような優先順に限定される訳ではない。
以上の処理により、例えば、サーバ情報、拡張カード識別子「00001234」「00002234」、外部装置情報「VFCSW5678, FW 0101」を主キーとして、適切な拡張BIOSのデータ(例えば、図28の拡張BIOS C)が特定される。
図29に、拡張BIOS送信部224の処理を例示する。拡張BIOS送信部224は、拡張BIOS特定部223によって特定された拡張BIOSデータを管理保守部2のストレージ装置29から読み出す(S91)。そして、拡張BIOS送信部224は、通信I/F 24を介して情報処理部3に拡張BIOSデータを送信する(S92)。以上の処理により、管理保守部2のストレージ装置29から適切な拡張BIOSのデータ(例えば、拡張BIOSデータC)が読み出され、情報処理部3へ送信される。
図30に、管理保守部2の通知表示部の処理を例示する。通知表示部は、拡張BIOS選択部22による処理の結果、拡張BIOS特定部223で拡張BIOSデータが特定できなかったときに呼び出される。拡張BIOSデータが特定できなかった場合、通知表示部は拡張BIOSが特定できなかった旨をユーザに通知するため、表示I/F26を介し、表示装置46にメッセージを表示する(S971)。メッセージは、例えば、メッセージが出力された日時を示すタイムスタンプ部とメッセージ本文を含む。メッセージは、例えば、「2011−11−11 11:11:11 Expansion BIOS Data Detection Failure.」といった形で表現される。
管理保守部2のデータ更新部は、組み合わせ表格納部232Aのデータ(以下、単に組み合わせ表という)、およびストレージ装置29内の拡張BIOSデータ等の更新を実行する。
図31に、データ更新部の処理フローを例示する。データ更新部は、ネットワークI/F 25を介し、ネットワークから組み合わせ表、あるいは、拡張BIOSデータを取得する(SG1)。ここで、組み合わせ表は、拡張カード識別子管理表232Cおよび拡張BIOS管理表232Bを含む。取得した組み合わせ表と拡張BIOSデータを用い、データ更新部は管理保守部2の組み合わせ表格納部232A、ストレージ装置29内の拡張BIOSデータの更新を行う(SG2)。
ここで、組み合わせ表と拡張BIOSデータを取得する取得先は、例えば管理保守部2のベンダの提供する外部サーバである。管理保守部2のベンダが、構成に応じた適切な拡張BIOSの組み合わせ表、および拡張BIOSデータを提供し、ユーザサイトの管理保守部2がベンダの外部サーバから提供されるデータを取得すればよい。
(FC SWの処理)
図32に、FC SW 41の接続構築部412の処理を例示する。接続構築部412は、図32の処理によってFC HBA 35、あるいはストレージシステム42との接続を確立する。FC I/F 416を介してFC SWが相手装置と接続されると、接続構築部412は、まず、物理リンクの確立を行う(SE21)。次に、FCで接続されている相手装置から論理リンクの確立要求を受け取ると(SE22でYの場合)、接続構築部412は装置とのパラメータ交換を行い(SE23)、論理リンクを確立する(SE24)。相手装置がFC HBA 35の場合、FC HBA 35がFC SW 41へ論理リンクの確立要求を送るタイミングは、拡張BIOSによってFC HBA 35が情報処理部3のプロセッサ20から制御可能になった後である。
接続構築部412によって相手装置、例えば、情報処理部3のFC HBA 35との論理リンクが確立されると、通信部413が情報処理部3との通信処理を実行する。図33に、FC SW 41の通信部413の通信処理を例示する。この処理では、通信部413は、FC I/F 416を介してFC HBA 35等の相手装置と通信する(SE31)。FC SW 41はネットワーク I/F 417を介した外部からのコマンドを受信する機能部として、コマンド受信部414を有する。
図34に、FC SW 41のコマンド受信部414の処理を例示する。コマンド受信部414は、ネットワーク I/F 417を介して、管理保守部2のネットワークI/F25から、「Inquiry」コマンドを受信する(SE32)。
図35に、FC SW 41のコマンド応答部415の処理を例示する。コマンド応答部415は、例えば、「Inquiry」の応答としてFC SW 41のベンダ名、型番、FW版数の装置情報を、管理保守部2のネットワークI/F 25へ送信する(SE33)。
以上の図12−図35によって例示した処理によって、情報処理部3は、構成情報と外部装置情報に対応する適切な拡張BIOS(例えば、図28の拡張BIOS C)を用いてFC HBA 35A及びFC HBA 35Bを制御する。拡張BIOS CはFC HBA 35A、FC HBA 35Bをともに制御可能である。また、拡張BIOS Cは待ち時間はFC SW 41のレスポンス時間の最大値と同値である600msに設定されているなど、FC SW 41と組み合わせた際の動作が保証されている拡張BIOSである。よって、情報処理部3が拡張BIOS Cを用いることで、サーバ装置1Aは正常にFC HBA 35A、35Bを制御でき、FC SW 41やその先のストレージシステム42と正常に通信が可能となる。
例えば、ユーザがサーバ装置1Aを導入後に、FC HBA 35A、35B等の拡張カードあるいはFC SW41A、41B等の外部装置を追加する場合、あるいは、既存の拡張カードあるいは既存の外部装置に代えて、他の拡張カードあるいは外部装置を導入する場合を想定する。
このように、ユーザがサーバ装置1Aを導入後に、拡張カードあるいは外部装置の構成を変更したとしても、実施例2のサーバ装置1Aでは、構成情報受信部221が、情報処理部3の構成情報を受信し、外部装置情報取得部27が外部装置情報を取得する。そして、拡張BIOS特定部223が、拡張BIOS管理表232B、および拡張カード識別子管理表232Cにしたがって、適切な拡張BIOSを特定し、拡張BIOS送信部224が、ストレージ装置29内の適切な拡張BIOSのデータを情報処理部3に引き渡す。したがって、ユーザが、サーバ装置1Aを導入後に、拡張カード、あるいは外部装置等を変更したとしても、サーバ装置1Aの処理によって、情報処理部3は、適切な拡張BIOSにより、拡張カード、外部装置等を制御することができる。したがって、拡張カード、外部装置等の変更に伴う、ユーザ負担を軽減できる。
そのため、サーバ装置1Aは、ストレージ装置29内の拡張BIOSのデータ、拡張BIOS管理表232B、および拡張カード識別子管理表232Cを更新するようにすればよい。更新は、定期的に実行してもよい。また、更新は、ユーザの更新指示にしたがって実行してもよい。また、更新は、拡張カード、外部装置4の等の変更を契機として実行してもよい。
さらに、実施例2のサーバ装置1Aの構成では、管理保守部2は、通信インターフェース24を介して、外部装置であるFC SW 41の通信インターフェース417と接続され、外部装置情報を取得する。したがって、情報処理部3のFC HBA35A、35Bを介して外部装置情報を取得する構成と比較して、拡張BIOSに依存した動作の安定性の影響を受けることなく、外部装置情報を取得できる。
なお、情報処理部3と管理保守部2は通信I/F 34と通信I/F 24によって接続されているため、通信I/F 24をサーバ装置1A外に持つことによって管理保守部2はサーバ装置1A外に設けることも可能である。
<構成>
図36は、実施例3に係るサーバ装置1Bの構成を例示する図である。実施例3のサーバ装置1Bは、実施例2のサーバ装置1Aと比較して、管理保守部2が、FC SW 41A、41Bとネットワークで接続されていない点が相違する。管理保守部2が、FC SW 41A、41Bとネットワークで接続されていない点以外の構成については、サーバ装置1Bの構成は、サーバ装置1Aの構成と同様である。すなわち、サーバ装置1Bは、情報処理部3C、管理保守部2Cを有する。また、情報処理部3Cには、FC SW 41A、41B、および表示装置46が接続される。また、FC SW 41A、41Bには、ストレージシステム42A、42Bが接続される。
実施例2では、外部装置情報は、管理保守部2Cの外部装置情報取得部27が、ネットワークI/F 25を介して、FC SW 41から収集した。実施例3では、管理保守部2CがFC SW 41とネットワークによって接続されていない構成において、サーバ装置1Bの構成に対して適切な拡張BIOSを特定する処理を説明する。
図37は、実施例3に係る情報処理部3Cの構成を例示する図である。実施例3では、情報処理部3Cの初期化部325、ハードウェア制御部326、構成情報送信部322、拡張BIOS受信部323、拡張BIOS読み取り部324は実施例2と同様の処理を行う。外部装置情報取得部328、構成情報生成部321C、再初期化部327は実施例3に対応する処理を実行する。
上述のように、実施例3では、管理保守部2CがFC SW 41とネットワークによって接続されていない。そのため、情報処理部3Cには、外部装置情報取得部328および最初期化部327が追加されている。管理保守部2CとFC SW 41との接続がなされない点、外部装置情報取得部328および最初期化部327が追加されている点以外については、実施例2のサーバ装置1Bの構成は、実施例2のサーバ装置1Aと同様である。そこで、実施例2の構成要素のうち、実施例2と同一の構成要素については、同一の符号を付してその説明を省略する。
すなわち、情報処理部3Cの電源投入後、基本BIOS32の初期化部325が呼び出される。次に、拡張BIOS読み取り部324が呼び出される。この時点では、拡張BIOS受信データ格納部332に拡張BIOSデータは格納されていない。そのため、拡張BIOS読み取り部324はFC HBA 35AおよびFC HBA 35Bから、それぞれの拡張BIOSを読み取り、情報処理部3Bのメモリ31上に格納する(図17、SC3参照)。
そして、ハードウェア制御部326は、拡張カードの記憶素子から読み取った拡張BIOSを用いて、各拡張カードの、デバイス依存の初期化や設定を実施し、ハードウェアの制御を行う(図18参照)。
次に、外部装置情報取得部328が、各拡張カード経由で外部装置の情報を取得する。すなわち、外部装置情報取得部328は、拡張カードであるFC HBA 35A、35Bを通じて、FC HBA 35A、35Bに接続される外部装置、例えば、図38のFC SW 41にアクセスし、外部装置情報を取得する。なお、この場合、実施例2で述べたように、拡張カードから読み取った拡張BIOSは、拡張カードに接続される外部装置を制御できない可能性がある。しかし、外部装置情報取得部328による外部装置情報の取得は、図40の処理で後述するように、外部装置との論理リンク接続時に1回行えばよい。したがって、拡張カードから読み取った拡張BIOSによって、外部装置情報を取得する場合に、拡張BIOSが不適切であることによる影響は、通常動作状態、すなわち、論理リンク接続時以降のデータ入出力時よりも小さい。
次に、構成情報生成部321Cは、サーバ装置1Bが持つ各ハードウェアの情報と、外部装置の情報から構成情報を生成する。さらに、構成情報送信部322は、外部装置の情報を含む構成情報を管理保守部2Cへと送信する。
そして、拡張BIOS受信部323は、管理保守部2Cから、外部装置の情報を含む構成情報に対応する適切な拡張BIOSデータを受信し、拡張BIOS読み取り部324は、受信したデータから適切な拡張BIOSデータを読み取る。再初期化部327は、受信した拡張BIOSを使用するために必要な初期化処理を行う。
実施例3では、拡張BIOS受信データ格納部332に、拡張BIOSが格納されてない段階では、拡張BIOS読み取り部324は、情報処理部3に接続された各拡張カードの記憶素子から拡張BIOSのデータを読み取る。この処理は、実施例2と同様である。また、拡張カードの記憶素子から読み取られる拡張BIOSは、第1の制御プログラムの一例である。また、拡張BIOS読み取り部324は、拡張接続部から第1の制御プログラムを取得する手段の一例である。
そして、適切な拡張BIOSが格納された段階で、拡張BIOS読み取り部324は、管理保守部2Cからの受信データから、外部装置の情報を含む構成情報に対応する適切な拡張BIOSデータを読み取る。この処理も、実施例2と同様である。
しかしながら、実施例3では、情報処理部3Cが拡張カードを通じて、外部装置情報を取得する点が実施例2と相違する。そして、情報処理部3Cが、外部装置情報を含む構成情報を管理保守部2Cに送信する。さらに、管理保守部2Cがその拡張カードと拡張カードに接続された外部装置に対応する適切な拡張BIOSを決定し、情報処理部3Cへ送信する。そして、情報処理部3Cの再初期化によって、適切な拡張BIOSによる制御が可能となる。
図38にFC SW 41の構成図を例示する。実施例3では、実施例2のFC SW 41と比較して、FC SW 41において、ネットワークI/F 417、コマンド受信部414、およびコマンド応答部415が省略されている点が相違する。ただし、実施例3において、FC SW 41が、ネットワークI/F 417、コマンド受信部414、およびコマンド応答部415を有するようにしてもよい。
図39に管理保守部2Cの構成を例示する図である。実施例3において、管理保守部2Cは、実施例2の管理保守部2と比較して、外部装置情報取得部27、外部装置管理表格納部233、および外部装置情報格納部234が省略されている。管理保守部2Cの他の構成要素は、実施例2と同様であるので、その説明を省略する。
<処理フロー>
以下、図40から図44に図面を参照して、サーバ装置1B(情報処理部3C)の構成に対して、適切な拡張BIOSを特定する処理を例示する。実施例3に係る処理フロー実行する前提として、拡張BIOS特定前、実施例2の図17に示した拡張BIOS読み取り部324による処理が実行済みであるとする。拡張BIOS特定前、すなわち、サーバ装置1Bの構成に対して適切な拡張BIOS受信前に、図17に示した拡張BIOS読み取り部324による処理を実行すると、拡張BIOS受信データ格納部332に、拡張BIOSが存在しない。このため、図17のSC1の判定がNとなり、拡張カード上の拡張BIOS、すなわち、FC HBA 35A、35B等に格納された拡張BIOSが、メモリ31にローディングされる(図17のSC3参照)。
図40に、情報処理部3Cの外部装置情報取得部328の処理を例示する。外部装置情報取得部328は拡張BIOSを用いて拡張カードを制御し、外部装置との論理リンクを確立する(S151、S152)。外部装置情報取得部328は、第2取得手段の一例である。情報処理部3Cのプロセッサ30は、外部装置情報取得部328として、メモリ31の基本BIOS32を実行する。なお、外部装置情報取得部328は、第2取得手段の一例と考える場合には、S151、S152が、第2取得ステップの一例となる。また、プロセッサ30が実行するメモリ31の基本BIOS32と、プロセッサ20が実行するメモリ21上のコンピュータプログラムの組み合わせが情報処理プログラムの一例となる。
例えば、図36に例示したFC HBA 35AとFC SW 41Aとの間の論理リンクは、fabric login(ファブリックログイン、FLOGI)によって実行される。ファブリックログインは、通常、所定の契機、例えば、FC SW 41Aにファイバチャネル接続されるデバイスが接続されたとき、あるいは、論理リンク確立の指示が、サーバ装置1BからFC HBA 35Aに指示されたとき等に、実行される。
ファブリックログインでは、まず、FC SW 41Aに接続されるデバイスであるFC HBA 35AがFLOGIフレームをFC SW 41Aに送信する。FLOGIフレームには、ファイバチャネルのノードとして機能するFC HBA 35Aに関する情報が含まれる。
FC SW 41Aは、FLOGIフレームを受信すると、FLOGIフレームを送信した送信元(FC HBA 35A)に、accept(アクセプト、ACC)フレームを返信する。このACCフレームには、FC SW 41Aに関する情報、および、FC SW 41AがFLOGIフレームを送信した送信元(FC HBA 35A)に割り当てたポートアドレスが含まれる。以上のFLOGIフレームおよびACCフレームの送受信によって、FC HBA 35AとFC SW 41Aとの間で論理リンクが確立し、通信が実行される。
以上のように、論理リンク確立時には、情報処理部3CのFC HBA 35Aと拡張カードであるFC SW 41Aとは、互いのパラメータ情報を交換する。FC HBA 35BとFC SW 41Bについても同様である。このパラメータ情報にベンダ情報、型番、FW版数を含めることで、外部装置情報取得部328は、外部装置情報を取得する(S153)。なお、S151、S152による論理リンク確立時は、サーバ装置1B(情報処理部3C)の構成に対して、適切な拡張BIOSが取得されていない。したがって、FC HBA 35Aと、FC SW 41Aとの間のデータの入出力で、タイムアウトの設定値の相違等に起因して、エラーとリトライとが発生する可能性がある。しかしながら、図40で例示した論理リンク確立時には、FLOGIフレームおよびACCフレームの送受信を行えばよい。このため、大量のデータをストレージシステム42A等に格納する場合と比較して、タイムアウトの発生する確率が低く、かつ、たとえ、タイムアウトが発生してもリトライで対処できる。また、リトライすることによるデータ転送速度低下等の影響も少ない。したがって、サーバ装置1B(情報処理部3C)の構成に対して、適切な拡張BIOSが取得されていない場合でも、図40の処理は、正常に実行可能である。
図41に、構成情報生成部321Cの処理を例示する。図41において、S51およびS52の処理は、実施例2の図13と同様である。図41では、実施例2との処理に対して、構成情報生成部321Cが拡張カードの制御に使用されている拡張BIOS情報、および外部装置情報を取得する点が追加されている。
すなわち、構成情報生成部321Cは、拡張カードのベンダID、デバイスID、クラスコード、サブシステムベンダID、サブシステムIDに加えて、拡張カードの制御に用いている拡張BIOSを特定する情報を取得する(S53A)。 次に、構成情報生成部321Cは、外部装置情報取得部328が取得した外部装置情報を取得する(S53B)。そして、構成情報生成部321Cは、S53Aで取得した情報およびS53Bで取得した情報を基に、構成情報を生成する(S54B)。構成情報生成部321Cは、生成した構成情報を構成情報格納部331へ格納する。
図42に、構成情報生成部321Cが生成する構成情報を例示する。実施例3の構成情報は、実施例2の構成情報(図14参照)と比較して、拡張情報に拡張BIOSを特定する情報が追加されている(<使用拡張BIOS>のタグを参照)。また、実施例3の構成情報は、外部装置情報が追加されている(<外部装置情報>のタグを参照)。
次に、構成情報送信部322が管理保守部2Cに構成情報を送信する。管理保守部2Cが構成に適した拡張BIOSを特定すると、管理保守部2Cは、特定した拡張BIOSのデータを送信する。このとき、管理保守部2Cが特定し、送信する拡張BIOSが第2の制御プログラムの一例である。
そこで、拡張BIOS受信部323が拡張BIOSデータを受信し、拡張BIOS受信データ格納部332へ格納する。以上の処理により、本実施例においては拡張BIOS受信データ格納部332へはサーバ装置1Bの構成に適した拡張BIOSデータが格納される。その後、再初期化部327が呼び出される。拡張カードの記憶素子から読み取られる拡張BIOSが第1の制御プログラムの一例である。
図43に、再初期化部327の処理を例示する。再初期化部327は拡張BIOS受信データ格納部332に拡張BIOSがあるか判断する(SH1)。そして、拡張BIOSが格納されている場合は拡張カードを初期化部呼び出し後の状態に戻す処理を行う。すなわち、再初期化部327は、現在メモリ31上に格納され、拡張カードを制御している拡張BIOSを消去する(SH2)。
拡張カードを制御している拡張BIOSが消去されると、次に、再初期化部327は、拡張BIOS読み取り部324を呼び出すことによって、拡張BIOS受信データ格納部332から情報処理部3Cのメモリ上へ拡張BIOSデータを転送する。以上の処理により、FC HBA 35AおよびFC HBA 35Bは拡張BIOSによって操作や初期化がなされていない状態へ戻る。そして、再初期化部327は、拡張カードのリソースの再割り当て等の処理を実行する(SH3)。
その後、ハードウェア制御部326が、FC HBA 35AおよびFC HBA 35Bを制御する。ハードウェア制御部326は、サーバ装置1Bの構成に適した拡張BIOSによって制御を行う。
なお、SH1の判定で、拡張BIOSが格納されていなかった場合は、そのまま再初期化部327の処理は、終了し、拡張BIOS読み取り部324による処理実行されない。ハードウェア制御部326は、拡張カードから読み出した拡張BIOSによる制御を継続する。
図44に、管理保守部2Cの拡張BIOS特定部223Cの処理を例示する。図44の処理で、S91−S93、およびS96−S97の処理は、実施例2の場合と同様である(図27参照)。すなわち、S91−S93の処理によって、拡張BIOS管理表の一致行に記載された拡張BIOS(例えば、図28の拡張BIOS C等)が特定される。
実施例3では、さらに、構成情報の使用拡張BIOSとS91−S93の処理で特定された拡張BIOSとが一致するか否かを判定する。構成情報の使用拡張BIOSとは、現在、情報処理部3Cで使用中の拡張BIOSである。S94の判定で、2つの拡張BIOSが一致すると判定された場合、拡張BIOS特定部223Cは、情報処理部3Cの拡張BIOS受信部323へ終了通知を送信する。すなわち、S91−S93で特定した拡張BIOSと使用拡張BIOSが一致した場合、拡張BIOS特定部223Cはサーバ装置1Bが既に適切な拡張BIOSを使用しているものとみなす。そして、拡張BIOS受信部323へ終了通知を送信することで、サーバ装置1Bに既に最適な拡張BIOSが構成されている場合に、再初期化部327、あるいは拡張BIOS読み取り部324の処理による不必要な時間の消費を防止することができる。
以上の実施例3の処理によっても、拡張BIOS選択部22は、情報処理部3Cの構成に応じた適切な拡張BIOSを特定できる。実施例3では、実施例2と異なり、FC SW 41A、41B等が、図10に例示したネットワークインターフェース417を有しない場合でも、FC HBA 35A、35Bを通じて、外部装置情報を取得できる。
そして、情報処理部3Cは、構成情報に対して適切な拡張BIOSを用いてFC HBA 35A及びFC HBA 35Bを制御する。実施例3の処理で特定された適切な拡張BIOSはFC HBA 35A、FC HBA 35Bをともに制御可能である。また、待ち時間はFC SW 41のレスポンス時間の最大値と同値である600msに設定されているなど、FC SW 41と組み合わせた際の動作が保証されている拡張BIOSである。よって、情報処理部3Cが構成情報に対して適切な拡張BIOSを用いることで、サーバ装置1Bは正常にFC HBA 35を制御でき、FC SW 41およびFC SW 41の接続先のストレージシステム42と正常に通信可能となる。
例えば、ユーザがサーバ装置1Bを導入後に、FC HBA 35A、35B等の拡張カードあるいはFC SW 41A、41B等の外部装置を追加する場合、あるいは、既存の拡張カードあるいは既存の外部装置に代えて、他の拡張カードあるいは外部装置を導入する場合を想定する。
このように、ユーザがサーバ装置1Bを導入後に、拡張カードあるいは外部装置の構成を変更したとしても、実施例3のサーバ装置1Bでは、構成情報受信部221が、情報処理部3の構成情報を受信し、拡張BIOS特定部223Cが、拡張BIOS管理表232B、拡張カード識別子管理表232Cにしたがって、適切な拡張BIOSを特定し、拡張BIOS送信部224が、ストレージ装置29内の適切な拡張BIOSのデータを情報処理部3Cに引き渡す。したがって、ユーザが、サーバ装置1Bを導入後に、拡張カード、あるいは外部装置等を変更したとしても、サーバ装置1Bの処理によって、情報処理部3Cは、適切な拡張BIOSにより、拡張カード、外部装置等を制御することができる。したがって、拡張カード、外部装置等の変更に伴う、ユーザ負担を軽減できる。
また、実施例3においては、管理保守部2Cが適切な拡張BIOSを見つけることができなかった場合、あるいは既にサーバ装置の拡張BIOSが適切なものであった場合、情報処理部3Cは拡張カードの持つ拡張BIOSを使用し続ける。このときは、再初期化部327による再初期化処理とその後の拡張BIOS読み取り部324による拡張BIOS受信データ格納部332からの拡張BIOS読み取り処理といった、必要のない処理は行われない。
<コンピュータが読み取り可能な記録媒体>
コンピュータその他の機械、装置(以下、コンピュータ等)に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD−ROM、CD−R/W、DVD、ブルーレイディスク、DAT、8mmテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやROM(リードオンリーメモリ)等がある。
1 コンピュータ装置
1B、1C サーバ装置
2、2C 管理保守部
3、3C 情報処理部
4 外部装置
20、30、410 プロセッサ
21、31 メモリ
22 拡張BIOS選択部
23 格納部
24、34 通信I/F
25、35、417 ネットワークI/F
26 外部装置情報取得部
29 ストレージ装置
32 基本BIOS
35、35A、35B FC HBA
36 インターフェース
36A、36B PCIバスインターフェース
41、41A、41B FC SW
42、42A、42B ストレージ装置
221 構成情報受信部
222 拡張カード識別子特定部
223 拡張BIOS特定部
224 拡張BIOS送信部
231 構成情報格納部
232A 組み合わせ管理表格納部
232B 拡張BIOS管理表
232C カード識別子管理表
233 外部装置管理表格納部
234 外部装置情報格納部
321、321C 構成情報生成部
322 構成情報送信部
323 拡張BIOS受信部
324 拡張BIOS読み取り部
325 初期化部
326 ハードウェア制御部
327 再初期化部
328 外部装置情報取得部

Claims (9)

  1. 拡張接続部と前記拡張接続部に接続される拡張装置とを含む被接続装置を接続可能なインターフェースと、
    前記インターフェースに接続された被接続装置の構成または動作仕様を含む装置情報を取得する取得手段と、
    前記装置情報に基づいて、前記拡張接続部を制御するための制御プログラムを決定する決定手段と、
    前記決定された制御プログラムを用いて前記拡張接続部を制御する制御手段と、
    を備え、
    前記取得手段は、
    前記インターフェースに接続された拡張接続部の構成または動作仕様を含む第1情報を取得する第1取得手段と、
    前記拡張接続部に接続される拡張装置の構成または動作仕様を含む第2情報を取得する第2取得手段と、
    を含む
    情報処理装置。
  2. 前記拡張接続部から第1の制御プログラムを取得する手段をさらに備え、
    前記第2取得手段は、前記第1の制御プログラムを用いて前記拡張接続部を介して前記拡張装置から前記第2情報を取得し、
    前記決定手段は、前記第1情報と前記取得された第2情報とに基づいて第2の制御プログラムを特定し、
    前記制御手段は、前記第2の制御プログラムを用いて前記拡張接続部を制御する
    請求項1に記載の情報処理装置。
  3. 前記第2取得手段は、前記拡張接続部を介さない通信インターフェースを介して前記拡張装置から前記第2情報を取得する請求項1に記載の情報処理装置。
  4. コンピュータが、
    インターフェースに接続された被接続装置であって拡張接続部と前記拡張接続部によっ
    て接続される拡張装置とを含む被接続装置の構成または動作仕様を含む装置情報を取得する取得ステップと、
    前記装置情報に基づいて、前記拡張接続部を制御するための制御プログラムを決定する決定ステップと、
    前記決定された制御プログラムを用いて前記拡張接続部を制御する制御ステップと、を実行し、
    前記取得ステップは、
    前記インターフェースに接続された拡張接続部の構成または動作仕様を含む第1情報を取得する第1取得ステップと、
    前記拡張接続部によって接続される拡張装置の構成または動作仕様を含む第2情報を取得する第2取得ステップと、
    を含む
    情報処理方法。
  5. 前記拡張接続部から第1の制御プログラムを取得するステップをさらに実行し、
    前記第2取得ステップは、前記第1の制御プログラムを用いて前記拡張接続部を介して前記拡張装置から前記第2情報を取得するステップを含み、
    前記決定ステップは、前記第1情報と前記第1の制御プログラムを用いて取得された第2情報とに基づいて第2の制御プログラムを特定するステップを含み、
    前記制御ステップは、前記第2の制御プログラムを用いて前記拡張接続部を制御するステップを含む
    請求項4に記載の情報処理方法。
  6. 前記第2取得ステップは、前記拡張接続部を介さない通信インターフェースを介して前記拡張装置から前記第2情報を取得するステップを含む請求項4に記載の情報処理方法。
  7. コンピュータに、
    インターフェースに接続された被接続装置であって拡張接続部と前記拡張接続部によって接続される拡張装置とを含む被接続装置の構成または動作仕様を含む装置情報を取得する取得ステップと、
    前記装置情報に基づいて、前記拡張接続部を制御するための制御プログラムを決定する決定ステップと、
    前記決定された制御プログラムを用いて前記拡張接続部を制御する制御ステップと、を実行させ、
    前記取得ステップは、
    前記インターフェースに接続された拡張接続部の構成または動作仕様を含む第1情報を取得する第1取得ステップと、
    前記拡張接続部によって接続される拡張装置の構成または動作仕様を含む第2情報を取得する第2取得ステップと、
    を含む
    情報処理プログラム。
  8. 前記コンピュータに、前記拡張接続部から第1の制御プログラムを取得するステップをさらに実行させ、
    前記第2取得ステップは、前記第1の制御プログラムを用いて前記拡張接続部を介して前記拡張装置から前記第2情報を取得するステップを含み、
    前記決定ステップは、前記第1情報と前記第1の制御プログラムを用いて取得された第2情報とに基づいて第2の制御プログラムを特定するステップを含み、
    前記制御ステップは、前記第2の制御プログラムを用いて前記拡張接続部を制御するステップを含む
    請求項7に記載の情報処理プログラム。
  9. 前記第2取得ステップは、前記拡張接続部を介さない通信インターフェースを介して前記拡張装置から前記第2情報を取得するステップを含む請求項7に記載の情報処理プログラム。
JP2013520372A 2011-06-15 2011-06-15 情報処理装置、情報処理方法、および情報処理プログラム Expired - Fee Related JP5664778B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/063732 WO2012172666A1 (ja) 2011-06-15 2011-06-15 情報処理装置、情報処理方法、および情報処理プログラム

Publications (2)

Publication Number Publication Date
JP5664778B2 true JP5664778B2 (ja) 2015-02-04
JPWO2012172666A1 JPWO2012172666A1 (ja) 2015-02-23

Family

ID=47356692

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013520372A Expired - Fee Related JP5664778B2 (ja) 2011-06-15 2011-06-15 情報処理装置、情報処理方法、および情報処理プログラム

Country Status (3)

Country Link
US (1) US9298663B2 (ja)
JP (1) JP5664778B2 (ja)
WO (1) WO2012172666A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6020478B2 (ja) * 2014-01-29 2016-11-02 ダイキン工業株式会社 通信アダプタ
JP6256063B2 (ja) * 2014-02-05 2018-01-10 富士通株式会社 情報処理システム及びプログラム管理方法
JP6432199B2 (ja) * 2014-08-05 2018-12-05 日本電気株式会社 情報処理システム、情報処理装置、制御方法およびプログラム
WO2016151845A1 (ja) 2015-03-26 2016-09-29 富士通株式会社 情報処理装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01311351A (ja) * 1988-06-10 1989-12-15 Nec Corp システム生成時におけるシステム構成の認識方式
JPH1097414A (ja) * 1996-09-19 1998-04-14 Toshiba Corp 携帯型情報機器およびプログラム起動制御方法
JP2000293474A (ja) * 1999-03-09 2000-10-20 Texas Instr Inc <Ti> コンピュータシステムおよびその使用方法
JP2003084984A (ja) * 2001-09-12 2003-03-20 Canon Inc 情報処理装置、及び、情報処理方法、及び、制御プログラム、及び、制御プログラムを記憶した記憶媒体
JP2009122963A (ja) * 2007-11-15 2009-06-04 Hitachi Ltd デプロイ方法およびシステム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5887145A (en) * 1993-09-01 1999-03-23 Sandisk Corporation Removable mother/daughter peripheral card
JPH09237141A (ja) * 1996-02-29 1997-09-09 Toshiba Corp コンピュータシステム及びコンピュータシステムに適用する拡張ユニット
US6892263B1 (en) * 2000-10-05 2005-05-10 Sun Microsystems, Inc. System and method for hot swapping daughtercards in high availability computer systems
JP5043416B2 (ja) * 2006-12-15 2012-10-10 キヤノン株式会社 情報処理装置、システム及びプログラム、デバイス、並びに記憶媒体
US20090100233A1 (en) * 2007-10-16 2009-04-16 Motorola, Inc. Persistent memory module
US8069293B1 (en) * 2009-05-22 2011-11-29 Qlogic Corporation Flexible server network connection upgrade systems and methods

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01311351A (ja) * 1988-06-10 1989-12-15 Nec Corp システム生成時におけるシステム構成の認識方式
JPH1097414A (ja) * 1996-09-19 1998-04-14 Toshiba Corp 携帯型情報機器およびプログラム起動制御方法
JP2000293474A (ja) * 1999-03-09 2000-10-20 Texas Instr Inc <Ti> コンピュータシステムおよびその使用方法
JP2003084984A (ja) * 2001-09-12 2003-03-20 Canon Inc 情報処理装置、及び、情報処理方法、及び、制御プログラム、及び、制御プログラムを記憶した記憶媒体
JP2009122963A (ja) * 2007-11-15 2009-06-04 Hitachi Ltd デプロイ方法およびシステム

Also Published As

Publication number Publication date
US9298663B2 (en) 2016-03-29
US20140108693A1 (en) 2014-04-17
WO2012172666A1 (ja) 2012-12-20
JPWO2012172666A1 (ja) 2015-02-23

Similar Documents

Publication Publication Date Title
US9182998B2 (en) Remote bios update in system having multiple computers
JP5065297B2 (ja) Mmc/sdデバイスからホストデバイスをブートする方法,mmc/sdデバイスからブート可能なホストデバイス及びホストデバイスをブートできるmmc/sdデバイス
JP2018045688A (ja) プロキシ装置、その動作方法、及びプロキシ装置に係る装置の動作方法
US20060230125A1 (en) System and method for SAS PHY dynamic configuration
JP4797636B2 (ja) 複合型情報プラットフォーム装置とその情報処理装置構成方法
US10789141B2 (en) Information processing device and information processing method
JP2010003061A (ja) 計算機システム及びそのi/o構成変更方法
JP2010152704A (ja) 計算機システムの運用管理システム及び管理方法
US20130007289A1 (en) Remote control system and remote control method of the same
KR20180012181A (ko) 호스트 없는 환경에서 멀티 프로토콜을 지원하는 셀프-구성 에스에스디
US8615586B2 (en) Discovery of logical images at storage area network endpoints
US20170286097A1 (en) Method to prevent operating system digital product key activation failures
JP5664778B2 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
EP1372069A2 (en) Method system and software for configuring a graphics processing communication mode
US11055104B2 (en) Network-adapter configuration using option-ROM in multi-CPU devices
US7610482B1 (en) Method and system for managing boot trace information in host bus adapters
TWI439869B (zh) 調整連結速度的方法及其電腦系統
US9304779B2 (en) Optimizing boot time of a storage system
EP3522055A1 (en) System and method to enable component inventory and compliance in the platform
JP4433372B2 (ja) データアクセスシステム及び方法
KR20180019806A (ko) 종단 장치로부터 제공되는 부트 업 명령어에 기초하여 부팅 동작을 수행하도록 구성되는 전자 장치
TWI704460B (zh) 叢集式系統中維持記憶體共享方法
US20210019221A1 (en) Recovering local storage in computing systems
US20230409505A1 (en) Dynamic allocation of peripheral component interconnect express bus numbers
JP2015011357A (ja) 情報処理システム及び情報処理システムの制御方法

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141111

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141124

R150 Certificate of patent or registration of utility model

Ref document number: 5664778

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees