【実施例1】
【0020】
以下の実施例1では、
図1を用いて、それぞれ独立した筐体を有する情報処理装置を複数有する情報処理システムの一例を説明する。
図1は、実施例1に係る情報処理システムを説明するための図である。なお、情報処理システム1は、少なくとも、それぞれ独立した筐体を有する複数の情報処理装置を有し、各種サービスの提供を行うシステムである。
【0021】
図1に示すように、情報処理システム1は、複数の筐体2〜5を有し、各筐体2〜5をLocal Access Network(LAN)等の任意のネットワークで接続する。なお、
図1には、情報処理システム1が4つの筐体2〜5を有する例について記載したが、実施例はこれに限定されるものではなく、情報処理システム1は、任意の数の筐体を有してよい。
【0022】
また、筐体2〜5は、筐体2と同様の機能を発揮するものとして、以下の説明を省略する。また、筐体2〜5は、それぞれ独立した筐体であり、情報処理システム1の構築を行うため、筐体単位で出荷される情報処理装置である。例えば、筐体2〜5は、それぞれ独立して動作可能なサーバであり、いわゆるビルディングボックス(BB)である。
【0023】
筐体2は、複数のCPU6〜9、SC10、メモリ11、FAN12、PSU13、運用管理部20を有する。CPU6〜9は、筐体2を制御するOperating System(OS)や、各種アプリケーションプログラムを実行する演算処理装置である。また、SC10は、各CPU6〜9によるメモリ11に対するメモリアクセスを制御する。また、メモリ11は、各CPU6〜9が実行するプログラムや、プログラムの実行に用いるデータを記憶する記憶装置である。
【0024】
また、FAN12は、CPU6〜9、SC10、メモリ11、PSU13、運用管理部20等、筐体2が有する各種装置の冷却を行う冷却ファンである。なお、筐体12は、FAN12に代えて、水冷システム等、任意の冷却システムを有してもよい。また、PSU13は、CPU6〜9、SC10、メモリ11、PSU13、運用管理部20等、筐体2が有する各種装置に電力を供給する電力供給装置である。
【0025】
運用管理部20は、他の筐体3〜5が有する運用管理部と協調し、情報処理システム1の運用を管理する機能を有する。具体的には、運用管理部20には、筐体2の出荷時において、物理パーティションに対して振り分ける装置固有情報が1つ設定されている。そして、運用管理部20は、他の筐体3〜5が有する運用管理部と協調し、所定のルールに従って、運用系として動作する筐体を選択する。
【0026】
また、運用管理部20は、筐体2が運用系として動作する場合には、筐体3〜5が有する運用管理部と通信を行い、各筐体3〜5に対して予め設定された装置固有情報を収集する。そして、運用管理部20は、情報処理システム1の起動時において、収集した装置固有情報をファームウェアを介して、筐体2が実行するOSに通知する。その後、情報処理システム1は、運用管理部20が収集した装置固有情報を情報処理システム1における物理パーティションに割り当てることで、処理を実行する。
【0027】
次に、
図2を用いて、運用管理部20が実行する処理を詳細を説明する。
図2は、各筐体の運用管理部が実行する処理を説明するための図である。
図2に示すように、運用管理部20は、記憶部21、制御部22を有する。また、筐体3は、筐体2と同様に、記憶部24、制御部25を有する運用管理部23を有する。
【0028】
また、筐体4は、筐体2と同様に、記憶部27、制御部28を有する運用管理部26を有する。また、筐体5は、筐体2と同様に、記憶部30、制御部31を有する運用管理部29を有する。なお、運用管理部23、運用管理部26、運用管理部29は、運用管理部20と同様の機能を発揮するものとして、詳細な説明を省略する。
【0029】
ここで、記憶部21、記憶部24、記憶部27、記憶部30には、それぞれ筐体2〜5における物理パーティションに対して割り当てる装置固有情報が予め格納されている。例えば、記憶部21は、hostid「#0」とMACアドレス「#0」とを予め記憶し、記憶部24は、hostid「#1」とMACアドレス「#1」とを予め記憶する。また、記憶部27には、hostid「#2」とMACアドレス「#2」とを予め記憶し、記憶部30には、hostid「#3」とMACアドレス「#3」とを予め記憶する。
【0030】
なお、上述した例において、各記憶部21、24、27、30は、それぞれ1つのhostidとMACアドレスとを記憶した。すなわち、各記憶部21、24、27、30は、各筐体2〜5に対して物理パーティションが1つずつ設定される場合には、1つの筐体を識別する装置固有情報を1種類につき1つ記憶していた。しかし、実施例はこれに限定されるものではなく、例えば、各記憶部21、24、27、30は、それぞれ1つのhostid、またはMACアドレスのどちらかを記憶してもよい。
【0031】
また、各記憶部21、24、27、30は、各筐体2〜5に対して物理パーティションが複数設定される場合には、物理パーティションの数と同じ数のhostid、またはMACアドレスを記憶してもよい。例えば、筐体4に2つの物理パーティションが設定される場合には、記憶部27は、2つのhostidと2つのMACアドレスとを予め記憶してもよい。
【0032】
このように、各記憶部21、24、27、30には、筐体2〜5の出荷時において、各筐体2〜5が必要な数の装置固有情報が格納される。例えば、筐体2に1つの物理パーティションが設定される場合には、筐体2の出荷時において、1つのhostidと1つのMACアドレスとが予め格納される。また、筐体3に2つの物理パーティションが設定される場合には、筐体3の出荷時において、2つのhostidと2つのMACアドレスとがあらかじめ格納される。
【0033】
次に、各運用管理部20、23、26、29の接続について説明する。例えば、運用管理部20は、LANを介して他の運用管理部23、26、29と接続するため、#0〜#2までの3つのLANポートを有する。また、
図2に示す例では、運用管理部20のLANポート#0が運用管理部23のLAMポート#0と接続され、LANポート#1が運用管理部26のLANポート#0と接続され、LANポート#2が運用管理部29のLANポート#0と接続されている。また、運用管理部23のLANポート#1が運用管理部26のLANポート#1と接続され、LAMポート#2が運用管理部29のLAMポート#1と接続されている。
【0034】
このような接続の結果、筐体2は、筐体番号「BB#0」のサーバとして動作し、筐体3は、筐体番号「BB#1」のサーバとして動作する。また、筐体4は、筐体番号「BB#2」のサーバとして動作し、筐体5は、筐体番号「BB#3」のサーバとして動作する。なお、筐体4と筐体5の筐体番号は逆でもよい。
【0035】
ここで、各筐体2〜5のうち、他の筐体全てに接続されている筐体は、筐体番号#0の筐体2、および筐体番号#1の筐体3である。このため、各運用管理部20、23、26、29は、協調して筐体番号#0の筐体2、または筐体番号#1の筐体3のいずれかを運用系の運用管理部として選択し、他の筐体を待機系の運用管理部とする。
【0036】
具体的には、各運用管理部20、23、26、29は、情報処理システム1の起動時、運用系の運用管理部が故障した際、またはオペレータの指示により、以下のルールに従って、運用系の運用管理部を選択する。すなわち、各運用管理部20、23、26、29は、運用系の運用管理部を1つだけ選択し、他の運用管理部を待機系の運用管理部とする。
【0037】
また、各運用管理部20、23、26、29は、筐体番号#0の筐体2が有する運用管理部20、または筐体番号#1の筐体3が有する運用管理部23のいずれかを運用系の運用管理部とする。また、各運用管理部20、23、26、29は、筐体番号が#2以降となる筐体が有する運用管理部、すなわち運用管理部26、29については、必ず待機系の運用管理部とする。
【0038】
また、各運用管理部20、23、26、29は、可能な限り、前回起動時の状態を引き継ぐため、前回起動時に運用系として選択した運用管理部を再度運用系の運用管理部にする。例えば、各運用管理部20、23、26、29は、運用管理部20を運用系として選択した際に情報処理システム1の電源がオフになり、再度情報処理システム1の電源が投入された場合には、可能な限り、運用管理部20を運用系として選択する。
【0039】
また、各運用管理部20、23、26、29は、筐体2が故障した等の理由により運用管理部20を運用系として再度選択することができない場合には、運用系として選択可能な運用管理部のうち、筐体番号が最若番となる筐体の運用管理部を選択する。すなわち、各運用管理部20、23、26、29は、運用管理部20を運用系として選択できない場合は、運用管理部23を新たな運用系として選択する。
【0040】
続いて、運用系の運用管理部が実行する処理について説明する。なお、以下の説明では、運用管理部20が運用系として選択された例について説明する。また、以下の説明では、運用系の運用管理部が実行する処理として、アドレス管理テーブルを生成する処理、アドレス管理テーブルを保守する処理、運用系の運用管理部が故障した際に、新たな運用系の運用管理部を選択する処理について説明する。
【0041】
まず、運用系の運用管理部20がアドレス管理テーブルを生成する処理について説明する。例えば、運用管理部20は、LANを介して、各筐体3〜5の運用管理部23、26、29と通信し、各運用管理部23、26、29が記憶する装置固有情報を収集する。そして、運用管理部20は、収集した装置固有情報をまとめたアドレス管理テーブルを生成し、生成したアドレス管理テーブルを記憶部21に格納する。
【0042】
図3は、アドレス管理テーブルの一例を説明するための図である。例えば、運用管理部20は、記憶部21に記憶されたhostid「#0」とMACアドレス「#0」とを、筐体2の筐体番号「BB#0」と対応付けて記憶する。また、運用管理部20は、記憶部24に記憶されたhostid「#1」とMACアドレス「#1」とを、筐体3の筐体番号「BB#1」と対応付けて記憶する。
【0043】
また、運用管理部20は、記憶部27に記憶されたhostid「#2」とMACアドレス「#2」とを、筐体4の筐体番号「BB#2」と対応付けて記憶する。また、運用管理部20は、記憶部30に記憶されたhostid「#3」とMACアドレス「#3」とを、筐体3の筐体番号「BB#3」と対応付けて記憶する。
【0044】
なお、運用管理部20は、何れかの記憶部に複数のhostidとMACアドレスとが記憶されている場合には、複数のhostidとMACアドレスとを収集元の筐体番号と対応付けて記憶する。例えば、
図4は、複数の物理パーティションを設定した際のアドレス管理テーブルの一例を説明するための図である。
【0045】
例えば、筐体2に2つの物理パーティションが設定される場合には、記憶部21には、2つのhostid「#0」、「#1」、および2つのMACアドレス「#0」、「#1」が予め格納される。このため、運用管理部20は、装置番号「BB#0」にhostid「#0」およびMACアドレス「#0」を対応付けるとともに、装置番号「BB#0」にhositid「#1」およびMACアドレス「#1」を対応付けたアドレス管理テーブルを作成する。
【0046】
その後、運用管理部20は、ファームウェアにアドレス管理テーブルを渡すことで、アドレス管理テーブルの内容を筐体2のOSに通知する。この結果、情報処理システム1は、運用管理部20が収集した装置固有情報を各物理パーティションに割り当てて、処理を実行することができる。すなわち、各筐体2〜5には、それぞれの筐体における物理パーティションに割り当てる装置固有情報を予め記憶する。
【0047】
そして、運用系の運用管理部20が、各筐体2〜5から装置固有情報を収集し、収集した装置固有情報をOSに通知する。この結果、情報処理システム1は、未使用の装置固有情報を発生させることなく、各物理パーティションに割り当てる装置固有情報を取得することができる。
【0048】
続いて、運用系の運用管理部20がアドレス管理テーブルの保守を行う処理について説明する。例えば、運用管理部20は、情報処理システム1の運用状態において、LAN等を介して運用管理部23、26、29と通信し、運用管理部23、26、29が有する記憶部24、27、30にアクセスする。そして、運用管理部20は、アクセスできない記憶部が存在するか否かを判別し、アクセスできない記憶部が存在する場合には、アクセスできない記憶部から収集した装置固有情報をアドレス管理テーブルから削除するようファームウェアに指示する。
【0049】
すなわち、運用管理部20は、故障が発生した筐体や、情報処理システム1の規模を縮小するために取り除かれた筐体から収集した装置固有情報を、物理パーティションに対する割り当て対象から除外するよう、ファームウェアに指示する。例えば、運用管理部20は、記憶部27にアクセスできなくなった場合には、
図3に示すアドレス管理テーブルのうち、筐体番号「BB#2」と対応付けられたhostid「#2」とMACアドレス「#2」とを削除する。この結果、ファームウェアは、hostid「#2」とMACアドレス「#2」とを、物理パーティションに対する割り当て対象から除外する。
【0050】
例えば、運用管理部20は、レジスタを有し、レジスタにアドレス管理テーブルを格納する。ここで、アドレス管理テーブルを格納するレジスタを、ファームウェアやOSからアクセス可能なレジスタとすることで、ファームウェアやOSは、アドレス管理テーブルに格納された装置固有情報を取得することができる。また、運用管理部20は、レジスタ格納された装置固有情報を削除することで、装置固有情報を割り当て対象から除外してもよい。
【0051】
なお、運用管理部20は、縮退等により、使用しない筐体が発生したとしても、アドレス管理テーブルの更新は行わない。また、運用管理部20は、筐体4の電源が落とされてから記憶部27にアクセスできなくなった場合、すなわち停止減設された場合には、筐体番号「BB#2」と対応付けられたhostid「#2」とMACアドレス「#2」とを削除する。一方、運用管理部20は、筐体4の電源が投入されたまま筐体4が減設された場合、すなわち活性減設された場合には、減設コマンドのエラー終了を発行する。
【0052】
また、運用管理部20は、運用管理部23が搭載されたボードが交換された場合や、記憶部24が予め記憶した装置固有情報が消去された場合には、アドレス管理テーブルから筐体3の装置番号と対応付けらられた装置固有情報を取得する。そして、運用管理部20は、取得した装置固有情報を記憶部24に対して書き戻す。
【0053】
続いて、運用系の運用管理部20が故障した際に、各運用管理部20、23、26、29が運用系の運用管理部を選択する処理について説明する。例えば、運用管理部20は、筐体2や運用管理部20における故障事項を検出すると、待機系の運用管理部のうち、運用系に切り換え可能な運用管理部から、新たな運用管理部を選択する。
【0054】
そして、運用管理部20は、選択した運用管理部に対して、割り込み通知を送信し、運用系の運用管理部の切り替えを行う。すると、割り込み通知を受信した運用管理部は、割り込み通知の送信元となる運用管理部を含む他の運用管理部から装置固有情報を収集し、アドレス管理テーブルを作成し、新たな運用系の運用管理部として動作する。
【0055】
なお、運用管理部20は、運用管理部23が運用系の運用管理部として動作する際は、待機系の運用管理部として動作する。ここで、運用管理部23に障害が発生した場合には、運用管理部20は、運用管理部23から割り込み通知を受信する。すると、運用管理部20は、記憶部24、27、30から装置固有情報を収集してアドレス管理テーブルを作成し、新たな運用系の運用管理部として動作する。
【0056】
以下、
図5を用いて、運用系と待機系の運用管理部を切り替える処理の一例について説明する。
図5は、運用系と待機系の切り替え処理の一例を説明するための図である。なお、
図5に示す例では、運用系の運用管理部を「マスタ」、待機系の運用管理部を「スレーブ」と記載した。例えば、
図5中(A)に示すように、筐体2の運用管理部20がマスタとして動作する場合には、筐体3の運用管理部23、筐体4の運用管理部26、筐体5の運用管理部29は、スレーブとして動作する。
【0057】
ここで、運用管理部20は、故障事項を検出すると、運用管理部23がマスタに切り替え可能な運用管理部であると判別する。そして、運用管理部20は、運用管理部23に対して、割り込み通知を送信する。すると、運用管理部23は、自身の記憶部24に予め格納された装置固有情報を取得する。
【0058】
また、運用管理部23は、運用管理部20、26、29の記憶部21、27、30から装置固有情報を収集し、アドレス管理テーブルを作成する。そして、運用管理部23は、マスタとして動作する。この結果、
図5中(B)に示すように、筐体3の運用管理部23がマスタとして動作し、運用管理部20、運用管理部26、運用管理部29がスレーブとして動作する。
【0059】
また、筐体2、または運用管理部20の修理が行われた後に、運用管理部23が故障事項を検出すると、運用管理部23は、運用管理部20に割り込み通知を送信する。すると、
図5中(A)に示すように、運用管理部20は、再度アドレス管理テーブルを作成してマスタとして動作し、運用管理部23は、スレーブとして動作する。
【0060】
次に、
図6を用いて、運用管理部20として動作するハードウェアの一例について説明する。
図6は、運用管理部のハードウェア構成の一例を説明するための図である。
図6に示すように、運用管理部20は、記憶部として、Electrically Erasable Programmable Read−Only Memory(EEPROM)32を有する。
【0061】
また、運用管理部20は、制御部22として、Micro Processing Unit(MPU)33とメモリ34とを有する。また、運用管理部20は、local busを介してMPU33と接続されたField Programmable Gate Array(FPGA)35を有する。
【0062】
ここで、FPGA35は、メンテナンスバス(maintebus)を介して筐体3〜5と接続されている。また、EEPROM32は、Inter Integrated Circuit(I2C)、およびDUALと呼ばれるコネクタを介し、運用系として動作する運用管理部23と接続されている。なお、運用管理部23以外にも、運用系として動作する運用管理部が存在する場合には、運用管理部20は、DUALを介して、運用系として動作する運用管理部の装置固有情報が格納されたEEPROMと接続される。
【0063】
また、EEPROM32には、筐体2の出荷時において、筐体2における物理パーティションに割り当てられる装置固有情報が格納されている。また、メモリ34は、運用管理部20のメインメモリであり、例えば、Double Data Rate3 Synchronous Dynamic Random Access Memory(DDR3SDRAM)である。また、メモリ34には、MPU33により、運用管理部20のファームウェアが展開される。
【0064】
また、MPU33は、運用管理部20のメインプロセッサであり、上述したアドレス管理テーブルを生成する処理、アドレス管理テーブルを保守する処理、運用系の運用管理部が故障した際に、新たな運用系の運用管理部を選択する処理等を実行する。例えば、MPU33は、運用管理部20が運用系として動作する場合には、FPGA35を介して、各筐体3〜5の運用管理部23、26、29から装置固有情報等、情報処理システム1の運用に用いられる各種情報を取得する。そして、MPU33は、アドレス管理テーブルを作成し、作成したアドレス管理テーブルをメモリ34に格納する。
【0065】
また、MPU33は、運用管理部20が待機系として動作する場合には、FPGA35を介して、運用系として動作する運用管理部23から装置固有情報の送信要求を受信する。すると、MPU33は、EEPROM32から装置固有情報を取得し、FPGA35を介して、装置固有情報を筐体3の運用管理部23に送信する。
【0066】
ここで、運用管理部20は、MPU33が故障した場合や、FPGA35が故障した場合には、FPGA35を介して、EEPROM32に格納された装置固有情報を運用管理部23に送信することができない。このような場合には、運用管理部23は、DUAL、およびI2Cを介して、EEPROM32から装置固有情報を直接読み出すことができる。同様に、MPU33は、FPGA35、およびDUALを介して、運用管理部23が有するEEPROMと接続されているため、故障した運用管理部23から装置固有情報を直接読み出すことができる。
【0067】
なお、
図6に示す例では、運用管理部20は、運用管理部20の状態を示す複数のLight Emitting Diode(LED)と、各LEDを制御するLED driverを有する。なお、各LEDは、運用管理部20が動作中であるか(Active)、準備中であるか(Ready)、動作チェック中であるか(Check)、マスタとして動作しているか(Master)を示すLEDである。
【0068】
また、運用管理部20は、MPU33のアクセス先を切り替えるMultiplexer(MUX)、計時を行うReal Time Clock(RTC)、クロック信号を生成するClock Driver(CLK_DRV)を有する。また、運用管理部20は、Universal Cereal Bass(USB)規格による通信を行うためのUSBポート、およびUSB Controllerを有する。
【0069】
また、運用管理部20は、LAN接続を行うため、LANポートであるLAN#0、LAN#1、トランス、Physical Layer(PHY)チップ、各筐体3〜5、およびDUALを介したLAN接続を集線するLAN HUBを有する。また、運用管理部20は、シリアルバスを介して通信を行うためのTRVを有する。
【0070】
次に、
図7を用いて、運用系の運用管理部と待機系の運用管理部の接続について説明する。
図7は、運用系と待機系との接続を説明するための図である。例えば、
図7に示す例では、記憶部21、24は、装置番号、hostid、MACアドレスをそれぞれ記憶する。そして、筐体2、および筐体3は、装置間通信用バス、DUALケーブルを介して、接続される。
【0071】
ここで、筐体2、および筐体3は、装置間通信用バスを介して、相手装置実装信号と割り込み信号とを送受信する。ここで、相手装置実装信号とは、相手装置が接続されているか否かを示すイネーブル信号である。例えば、筐体2は、筐体3〜5からの相手装置実装信号を受信することにより、3台の筐体と接続されている旨を識別し、筐体3〜5に相手装置実装信号を送信することにより、自身が各筐体3〜5に接続している旨を通知する。
【0072】
また、割り込み信号とは、相手装置で異常が発生した際にイネーブルとなる信号である。例えば、筐体3の運用管理部23は、筐体2からの割り込み信号がイネーブルになった場合には、運用系の運用管理部として動作する。この際、運用管理部23は、装置間通信用バスを介して、運用管理部20、26、29から装置固有情報を収集する。
【0073】
なお、運用管理部23は、運用管理部20が故障した際に、装置間通信用バスを介して、運用管理部20から装置固有情報を収集できない場合には、DUALケーブルを介して、記憶部21から装置固有情報を直接収集する。
【0074】
次に、
図8を用いて、運用系の運用管理部20がアドレス管理テーブルを作成する処理の流れについて説明する。
図8は、アドレス管理テーブルを作成する処理の流れを説明するためのフローチャートである。なお、
図8に示す例では、説明を簡単にするため、装置番号が「BB#0」の筐体が有する運用管理部のみが運用系、すなわちマスタの運用管理部として動作する例について記載した。
【0075】
例えば、運用管理部20は、情報処理システム1が起動したことをトリガとして(ステップS101)、処理を開始する。まず、運用管理部20は、相手装置実装信号を受信しているか否かを判別する(ステップS102)。そして、運用管理部20は、相手装置実装信号を受信していない場合には(ステップS102否定)、情報処理システム1に筐体2しか存在していないと判別し、マスタに遷移する(ステップS103)。そして、運用管理部20は、運用状態に遷移し(ステップS110)、処理を終了する。
【0076】
一方、運用管理部20は、相手装置実装信号を受信している場合は(ステップS102肯定)、自身の装置番号が「BB#0」であるか否かを判別する(ステップS104)。そして、運用管理部20は、自身の装置番号が「BB#0」ではない場合には(ステップS104否定)、スレーブに遷移し(ステップS105)、運用状態に遷移して(ステップS110)、処理を終了する。
【0077】
また、運用管理部20は、自身の装置番号が「BB#0」である場合には(ステップS104肯定)、マスタに遷移する(ステップS106)。続いて、運用管理部20は、自装置が記憶する装置固有情報、すなわち、記憶部21が記憶するhostidとMACアドレスとを取得する(ステップS107)。次に、運用管理部20は、他の運用管理部から、他の運用装置が記憶するhostidとMACアドレスとを収集する(ステップS108)。そして、運用管理部20は、アドレス管理テーブルを作成し、ファームウェアを介して、OSにアドレス管理テーブルを通知する(ステップS109)。その後、運用管理部20は、運用状態に遷移し(ステップS110)、処理を終了する。
【0078】
次に、
図9を用いて、故障が発生した際に運用系の運用管理部20が実行する処理の流れを説明する。
図9は、故障発生時に運用系の運用管理部が実行する処理の流れを説明するためのフローチャートである。なお、
図9に示す例では、運用系の運用管理部20に故障が発生した場合には、運用管理部23が新たな運用系の運用管理部として選択されるものとする。
【0079】
まず、運用管理部20は、運用系の運用管理部、すなわちマスタとして動作する(ステップS201)。ここで、運用管理部20は、故障事象の発生を検出すると(ステップS202)、新たな運用系の運用管理部23に対して、割り込み通知を送信し(ステップS203)、待機系の運用管理部、すなわちスレーブに遷移する(ステップS204)。その後、運用管理部20は、運用状態に遷移し(ステップS205)、処理を終了する。
【0080】
次に、
図10を用いて、運用系の運用管理部20に故障が発生した際に、新たな運用系の運用管理部23が実行する処理の流れを説明する。
図10は、故障発生時に新たな運用系の運用管理部が実行する処理の流れを説明するためのフローチャートである。まず、運用管理部23は、待機系の運用管理部、すなわちスレーブとして動作している(ステップS301)。ここで、運用管理部23は、マスタである運用管理部20から割り込み通知を受信すると(ステップS302)、マスタに遷移する(ステップS303)。
【0081】
そして、運用管理部23は、自装置が記憶する装置固有情報、すなわち、記憶部24が記憶するhostidとMACアドレスとを取得する(ステップS304)。次に、運用管理部23は、他の運用管理部からhostidとMACアドレスとを収集する(ステップS305)。そして、運用管理部23は、アドレス管理テーブルを作成し、ファームウェアを介して、OSにアドレス管理テーブルを通知する(ステップS306)。その後、運用管理部20は、運用状態に遷移し(ステップS307)、処理を終了する。
【0082】
[実施例1の効果]
上述したように、筐体2は、筐体3〜5とともに情報処理システム1に含まれる。また、筐体2が有する運用管理部20は、物理パーティションに対して割り当てる装置固有情報を記憶する。そして、運用管理部20は、運用系の運用管理部として動作する際は、他の運用管理部23、26、29が記憶する装置固有情報を収集する。その後、運用管理部20は、収集した装置固有情報からアドレス管理テーブルを生成し、生成したアドレス管理テーブルをOSに通知する。
【0083】
このため、情報処理システム1は、最小限の装置固有情報を保持し、省資源化を図ることができる。例えば、各筐体2〜5に物理パーティションが1つずつ設定される場合には、各運用管理部20、23、26、29は、装置固有情報がそれぞれ1つずつ設定された状態で出荷される。そして、運用系として動作する運用管理部20が、装置固有情報を収集してアドレス管理テーブルを生成する。
【0084】
このため、情報処理システム1は、各運用管理部20、23、26、29に設定された装置固有情報をあまらせずに、全て利用することができる。また、各運用管理部20、23、26、29に対して、各筐体2〜5に設定される物理パーティションの数だけ装置固有情報が設定されるので、情報処理システム1は、正常に動作することができる。
【0085】
また、運用管理部20は、運用管理部23、26、29において障害が発生した場合には、障害が発生した運用管理部から収集した装置固有情報を、アドレス管理テーブルから削除することで、物理パーティションに対する割り当て対象から除外する。このため、運用管理部20は、運用管理部23、26、29において障害が発生した際にも、適切に動作を継続することができる。
【0086】
また、運用管理部20、23、26、29は、それぞれ協調し、所定のルールに従って、運用系の運用管理部を選択する。このため、情報処理システム1は、各筐体2〜5の外部に管理装置等を設けずとも、自動で運用系の運用管理部を選択し、サービスの提供を開始することができる。
【0087】
また、運用管理部20、23、26、29は、運用系の運用管理部が故障した場合には、所定のルールに従い、新たな運用系の運用管理部を選択する。例えば、運用管理部23、26、29は、運用系の運用管理部20が故障した場合には、運用管理部23を新たな運用管理部として選択する。そして、新たな運用系の運用管理部23は、各運用管理部20、26、29から、装置固有情報を収集する。このため、情報処理システム1は、運用管理部20が故障した場合にも、運用管理部23が装置固有情報を管理するので、サービスの提供を継続することができる。
【0088】
また、運用管理部20は、運用系として動作中に故障が発生した場合は、新たな運用系の運用管理部として選択した運用管理部23に対して、割り込み信号を送信する。このため、新たに運用系として動作する運用管理部23は、運用管理部20が故障したことを即座に識別し、運用系としての動作を迅速に開始することができる。また、割り込み通知を受信した運用管理部23は、他の運用管理部20、26、29から装置固有情報を収集するので、新たな運用系の運用管理部として動作することができる。
【0089】
なお、運用管理部20は、筐体2に設定される物理パーティションの数だけ、装置固有情報を記憶する。また、他の運用管理部23、26、29も同様に、それぞれ筐体3〜5に設定される物理パーティションの数だけ、装置固有情報を記憶する。このため、情報処理システム1は、各筐体2〜5を接続した際に、設定する全ての物理パーティションに対して、装置固有情報を割り当てることができる。
【実施例2】
【0090】
これまで本発明の実施例について説明したが実施例は、上述した実施例以外にも様々な異なる形態にて実施されてよいものである。そこで、以下では実施例2として本発明に含まれる他の実施例を説明する。
【0091】
(1)筐体の数について
上述した情報処理システム1は、4つの筐体2〜5を有していた。しかし、実施例はこれに限定されるものではなく、情報処理システム1は、任意の数の筐体を有してよい。運用管理部20は、運用系の運用管理部として動作する場合には、筐体の数によらず、情報処理システム1に設定される全ての物理パーティションに割り当てる装置固有情報を、各運用管理部から収集するからである。
【0092】
(2)運用系の運用管理部を選択するルールについて
上述した情報処理システム1においては、運用管理部20、または運用管理部23が運用系の運用管理部として選択された。しかし、実施例はこれに限定されるものではなく、全ての運用管理部20、23、26、29が相互に接続されているのであれば、運用管理部26、または運用管理部29が運用系の運用管理部として選択されてもよい。また、運用管理部20、23、26、29は、新たな運用管理部を選択することができない場合には、利用者に対してエラーを通知し、処理を終了してもよい。
【0093】
(3)装置固有情報について
上述した運用管理部20、23、26、29は、装置固有情報として、hostid、およびMACアドレスを記憶していた。しかし、実施例は、これに限定されるものではなく、物理パーティションに割り当てる情報であれば、任意の情報を装置固有情報として記憶してもよい。
【0094】
(4)プログラム
ところで、実施例1に係る運用管理部20は、ハードウェアを利用して各種の処理を実現する場合を説明した。しかし、実施例はこれに限定されるものではなく、あらかじめ用意されたプログラムをコンピュータが実行することによって実現するようにしてもよい。そこで、以下では、
図11を用いて、実施例1に示した運用管理部20と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。
図11は、収集プログラムを実行するコンピュータの一例を説明するための図である。
【0095】
図11に例示されたコンピュータ100は、Read Only Memory(ROM)110、Hard Disk Drive(HDD)120、Random Access Memory(RAM)130、Central Processing Unit(CPU)140がバス160で接続される。また、
図11に例示されたコンピュータ100は、他のコンピュータと接続するためのInput Output(I/O)150を有する。
【0096】
RAM130には、収集プログラム131があらかじめ保持される。CPU140が収集プログラム131をRAM130から読み出して実行することによって、
図11に示す例では、収集プログラム131は、収集プロセス141として機能するようになる。なお、収集プロセス141は、
図1に示した運用管理部20と同様の処理を実行する。
【0097】
なお、本実施例で説明した収集プログラム131は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。
【0098】
また、収集プログラム131は、ハードディスク、フレキシブルディスク(FD)、Compact Disc Read Only Memory(CD−ROM)などのコンピュータで読取可能な記録媒体に記録される。また、収集プログラム131は、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【0099】
また、収集プログラム131は、アプリケーションプログラムとしてのみならず、OSが有する機能の一部として、あるいはファームウェアの一部として機能することも可能である。
【0100】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0101】
(付記1)他の情報処理装置とともに情報処理システムに含まれる情報処理装置において、
前記情報処理装置における物理パーティションに対して割り当てる識別情報を記憶する記憶部と、
前記情報処理システムが有する他の情報処理装置が記憶する識別情報を収集する収集部と、
前記収集部が収集した識別情報をオペレーティングシステムに通知する通知部と
を有することを特徴とする情報処理装置。
【0102】
(付記2)前記通知部は、前記他の情報処理装置において障害が発生した場合には、当該他の情報処理装置から前記収集部が収集した識別情報を、前記物理パーティションに対する割り当て対象から除外する旨を前記オペレーティングシステムに指示することを特徴とする付記1に記載の情報処理装置。
【0103】
(付記3)他の情報処理装置と協調し、所定のルールに従って、前記情報処理システムが有する情報処理装置から、1つの情報処理装置を運用系の情報処理装置として選択する選択部を有することを特徴とする付記1または2に記載の情報処理装置。
【0104】
(付記4)前記選択部は、前記運用系の情報処理装置が故障した場合には、所定のルールに従って、運用系の情報処理装置を新たに選択し、
前記収集部は、自装置が前記選択部によって新たな運用系の情報処理装置に選択された場合には、前記情報処理システムが有する他の情報処理装置が記憶する識別情報を収集する
ことを特徴とする付記3に記載の情報処理装置。
【0105】
(付記5)自装置が運用系の情報処理装置として動作中に故障した場合には、前記選択部が新たな運用系の情報処理装置として選択した前記他の情報処理装置に対し、運用系の切替を指示する割り込み通知を送信する割り込み部を有することを特徴とする付記4に記載の情報処理装置。
【0106】
(付記6)前記収集部は、前記他の情報処理装置から割り込み通知を受信した場合には、前記情報処理システムが有する他の情報処理装置が記憶する識別情報を収集することを特徴とする付記5に記載の情報処理装置。
【0107】
(付記7)前記記憶部は、自装置に設定される物理パーティションの数だけ前記識別情報を記憶することを特徴とする付記1〜6のいずれか1つに記載の情報処理装置。
【0108】
(付記8)他のコンピュータとともに情報処理システムに含まれ、自装置における物理パーティションに対して割り当てる識別情報を記憶するコンピュータに、
前記情報処理システムが有する他のコンピュータが記憶する識別情報を収集し、
前記収集した識別情報をオペレーティングシステムに通知する
処理を実行させることを特徴とする収集プログラム。
【0109】
(付記9)前記他のコンピュータにおいて障害が発生した場合には、当該他のコンピュータから収集した識別情報を、前記物理パーティションに対する割り当て対象から除外する旨を前記オペレーティングシステムに指示する処理を前記コンピュータに実行させることを特徴とする付記8に記載の収集プログラム。
【0110】
(付記10)他のコンピュータと協調し、所定のルールに従って、前記情報処理システムが有するコンピュータから、1つのコンピュータを運用系のコンピュータとして選択する処理を前記コンピュータに実行させることを特徴とする付記8または9に記載の収集プログラム。
【0111】
(付記11)前記運用系のコンピュータが故障した場合には、所定のルールに従って、運用系のコンピュータを新たに選択し、
自装置が新たな運用系のコンピュータに選択された場合には、前記情報処理システムが有する他のコンピュータが記憶する識別情報を収集する
処理を前記コンピュータに実行させることを特徴とする付記10に記載の収集プログラム。
【0112】
(付記12)自装置が運用系のコンピュータとして動作中に故障した場合には、新たな運用系のコンピュータに対し、運用系の切替を指示する割り込み通知を送信する処理を前記コンピュータに実行させることを特徴とする付記11に記載の収集プログラム。
【0113】
(付記13)前記他のコンピュータから割り込み通知を受信した場合には、前記情報処理システムが有する他のコンピュータが記憶する識別情報を収集する処理を前記コンピュータに実行させることを特徴とする付記12に記載の収集プログラム。
【0114】
(付記14)前記コンピュータは、自装置に設定される物理パーティションの数だけ前記識別情報を記憶することを特徴とする付記8〜13のいずれか1つに記載の収集プログラム。
【0115】
(付記15)他の情報処理装置とともに情報処理システムに含まれ、自装置における物理パーティションに対して割り当てる識別情報を記憶する情報処理装置が、
前記情報処理システムが有する他の情報処理装置が記憶する識別情報を収集し、
前記収集した識別情報をオペレーティングシステムに通知する
処理を実行することを特徴とする収集方法。
【0116】
(付記16)前記他の情報処理装置において障害が発生した場合には、当該他の情報処理装置から前記収集した識別情報を、前記物理パーティションに対する割り当て対象から除外する旨を前記オペレーティングシステムに指示することを特徴とする付記15に記載の収集方法。
【0117】
(付記17)他の情報処理装置と協調し、所定のルールに従って、前記情報処理システムが有する情報処理装置から、1つの情報処理装置を運用系の情報処理装置として選択する処理を実行することを特徴とする付記15または16に記載の収集方法。
【0118】
(付記18)前記運用系の情報処理装置が故障した場合には、所定のルールに従って、運用系の情報処理装置を新たに選択し、
自装置が前記選択部によって新たな運用系の情報処理装置に選択された場合には、前記情報処理システムが有する他の情報処理装置が記憶する識別情報を収集する
ことを特徴とする付記17に記載の収集方法。
【0119】
(付記19)自装置が運用系の情報処理装置として動作中に故障した場合には、前記新たな運用系の情報処理装置に対し、運用系の切替を指示する割り込み通知を送信することを特徴とする付記18に記載の収集方法。
【0120】
(付記20)前記他の情報処理装置から割り込み通知を受信した場合には、前記情報処理システムが有する他の情報処理装置が記憶する識別情報を収集することを特徴とする付記19に記載の収集方法。
【0121】
(付記21)前記情報処理装置は、自装置に設定される物理パーティションの数だけ前記識別情報を記憶することを特徴とする付記15〜20のいずれか1つに記載の収集方法。