JPWO2013027298A1 - 通信確立方法、コンピュータシステム、及びコンピュータ - Google Patents
通信確立方法、コンピュータシステム、及びコンピュータ Download PDFInfo
- Publication number
- JPWO2013027298A1 JPWO2013027298A1 JP2013529830A JP2013529830A JPWO2013027298A1 JP WO2013027298 A1 JPWO2013027298 A1 JP WO2013027298A1 JP 2013529830 A JP2013529830 A JP 2013529830A JP 2013529830 A JP2013529830 A JP 2013529830A JP WO2013027298 A1 JPWO2013027298 A1 JP WO2013027298A1
- Authority
- JP
- Japan
- Prior art keywords
- cluster
- console
- connection
- communication
- processing device
- 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.)
- Withdrawn
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
Abstract
本発明を適用した1システムでは、複数のコンピュータは、それぞれ、ネットワークを介したデータ処理装置との通信を確立する、或いは該通信を終了することで該データ処理装置との通信状態に変化が生じた場合に、該通信状態の変化を該複数のコンピュータの他のコンピュータに通知することにより、該複数のコンピュータのなかで該データ処理装置と通信を確立しているコンピュータである第1のコンピュータを認識する。それにより、複数のコンピュータは、それぞれ、認識している第1のコンピュータの数が予め定めた所定数以下であることを条件に、データ処理装置からの要求により通信を確立する。
Description
本発明は、複数のコンピュータとデータ処理装置の間のネットワークを介した通信を確立するための技術に関する。
複数のコンピュータをネットワークに接続したコンピュータシステムの多くは、コンソール(データ処理装置)を用いて各コンピュータを個別に管理するようになっている。このコンソールは、これまでコンピュータ毎に用意するのが普通であった。しかし、コンピュータ毎にコンソールを用意する場合、コンピュータの数が多くなるほどコンソールの数も多くなる。このため、コンソールに掛かるコストは増大し、コンソールの設置スペースはより大きくなる。オペレータにとっては、管理しようとするコンピュータに応じて移動しなければならないことから、操作性が悪い。このようなことから、近年では、複数のコンピュータが接続されたネットワークにコンソールを接続することが行われている。
コンソールを複数のコンピュータが接続されたネットワークに接続した場合、そのコンソールは全てのコンピュータと通信を行うことが可能となる。そのため、オペレータにとっては、管理しようとするコンピュータに応じて移動しなくとも済むこととなる。
コンピュータシステムでは、複数のコンピュータのなかでコンソールと実際に通信を行うコンピュータを1台に制限しなければならない場合がある。例えばコンソールとコンピュータ間の通信に用いられるプロトコルのなかには、コンソールが並行して(同時に)通信を行えるコンピュータが1台のみとなっているプロトコル(以降、便宜的に「第1のプロトコル」と呼ぶ)がある。そのような第1のプロトコルを採用したコンピュータシステムでは、コンソールと並行して通信が行えるコンピュータを1台のみに制限する必要がある。
第1のプロトコルは、コンピュータ毎にコンソールを用意していたコンピュータシステムで広く採用されていた。そのようなコンピュータシステムでは、第1のプロトコルを採用しつつ、複数のコンピュータ、及びコンソールをネットワークに接続させるように変更することが考えられる。その場合、コンソールと同時に通信が行えるコンピュータは1台のみに制限する必要がある。
コンピュータによる通信の確立(コンピュータの通信対象)を制限できる従来の方法の一つとして、各コンピュータに、通信対象とするコンピュータを設定するというものがある。この従来の方法では、各コンピュータは、設定内容に従って通信対象を制限する。設定内容は、通信対象からの要求により変更可能とさせる。それにより、この従来の方法を採用した場合、各コンピュータは、通信対象を制限しつつ、通信対象を切り替えることができる。
コンソールと同時に通信が行えるコンピュータを1台のみに制限すべきコンピュータシステムにこの従来の方法を採用した場合、複数のコンピュータのなかの1台にのみ、コンソールを通信対象に設定すれば良い。コンソールと通信を行うコンピュータの切り替えは、2台のコンピュータ間の通信により行わせれば良い。例えばそれまでコンソールと通信を行っているコンピュータ(コンソールを通信対象に設定したコンピュータ。以降、便宜的に「第1のコンピュータ」と呼ぶ)は、次にコンソールと通信を行うコンピュータ(以降、便宜的に「第2のコンピュータ」と呼ぶ)に、そのコンソールを通信対象として設定する。第1のコンピュータは、自身で設定を更新し、コンソールを通信対象から除外する。
このような2台のコンピュータ間の通信を前提とした切り替えでは、コンソールは常に第1のコンピュータとの通信を行わなければならない。例えば起動したコンソールは、その起動時の第1のコンピュータと通信を行わなければならない。そのため、第1のコンピュータが故障等によって正常に動作していない場合、コンソールは第1のコンピュータとの通信が行えないだけでなく、第1のコンピュータの切り替えも行えなくなる。従って、コンソールは何れのコンピュータとも通信を行えない状態になる。その状態は、通信を行っている間に第1のコンピュータが正常に動作しなくなった場合にも発生する。その状態の発生は、オペレータにとっては、コンソールにより他の正常に動作するコンピュータも管理できなくなることを意味する。
コンピュータが常に正常に動作し続けるとは限らない。コンピュータに発生する故障、及びコンピュータへの電源の切断(供給停止)等は、コンピュータの正常な動作を不可能にさせる。そのような故障、及び電源の切断等は想定すべき事象である。このことから、コンソールと同時に通信を行うコンピュータの制限は、何れのコンピュータが正常に動作しなくなった場合にも継続できるようにすることが重要である。
本発明を適用した技術は、コンソール(データ処理装置)、及び複数のコンピュータがネットワークに接続されている場合に、何れのコンピュータが正常に動作しなくなっても、コンソールと同時に通信を行えるコンピュータを適切に制限できるようにすることを目的とする。
本発明を適用した1システムでは、複数のコンピュータが、それぞれ、ネットワークを介したデータ処理装置との通信を確立する、或いは該通信を終了することで該データ処理装置との通信状態に変化が生じた場合に、該通信状態の変化を該複数のコンピュータの他のコンピュータに通知することにより、該複数のコンピュータのなかで該データ処理装置と通信を確立しているコンピュータである第1のコンピュータを認識し、複数のコンピュータが、それぞれ、認識している第1のコンピュータの数が予め定めた所定数以下であることを条件に、該データ処理装置からの要求により通信を確立する。
本発明を適用した1システムでは、データ処理装置、及び複数のコンピュータがネットワークに接続されている場合に、何れのコンピュータが正常に動作しなくなっても、データ処理装置と同時に通信を行えるコンピュータを適切に制限することができる。
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
図1は、本実施形態によるコンピュータシステムの構成例を説明する図である。図1に表すように、コンピュータシステムは、サーバとして用いられる複数のコンピュータ(以降「クラスタ」と表記)1(1−0〜1−3)、2台のHW(HardWare)コンソール2及び3、統合コンソール6を備えている。統合コンソール6及び各クラスタ1は、例えば2つのLAN(Local Area Network)5(5−0及び5−1)に接続されている。HWコンソール2及び3と各クラスタ1は、例えば2つのLAN4(4−0及び4−1)と接続されている。HWコンソール2及び3は共に、本実施形態によるコンピュータシステムにおけるデータ処理装置に相当する。
図1は、本実施形態によるコンピュータシステムの構成例を説明する図である。図1に表すように、コンピュータシステムは、サーバとして用いられる複数のコンピュータ(以降「クラスタ」と表記)1(1−0〜1−3)、2台のHW(HardWare)コンソール2及び3、統合コンソール6を備えている。統合コンソール6及び各クラスタ1は、例えば2つのLAN(Local Area Network)5(5−0及び5−1)に接続されている。HWコンソール2及び3と各クラスタ1は、例えば2つのLAN4(4−0及び4−1)と接続されている。HWコンソール2及び3は共に、本実施形態によるコンピュータシステムにおけるデータ処理装置に相当する。
統合コンソール6は、コンピュータシステム全体を管理(操作を含む)するためのコンソールである。統合コンソール6の管理機能は、統合コンソール6に搭載されたSVPM(SerVice Processor Manager)6aによって提供される。フォルトトレランスのため、統合コンソール6と各クラスタ1は2つのLAN5と接続されている。クラスタ1間のデータ通信には、LAN5が用いられる。
HWコンソール2は、例えば各クラスタ1が設置された室内に配置されているLSC(Local System Console)である。HWコンソール3は、各クラスタ1が設置された室内でない場所に配置されたRSC(Remote System Console)である。HWコンソール2及び3は共に、各クラスタ1の管理(保守)用コンソールである。HWコンソール2と各クラスタ1は、LAN4−0を介した通信が可能であり、HWコンソール3と各クラスタ1は、LAN4−1を介した通信が可能になっている。それにより、HWコンソール2及び3のうちの一方、或いはLAN4−0及び4−1のうちの一方に障害が発生しても、各クラスタ1を管理することができるようになっている。
HWコンソール2及び3は、それぞれLAN4を介した通信を可能にするLANインターフェース21及び31を備えている。図1中に表記の「LSC-IP」「RSC-IP」はそれぞれ、LANインターフェース21及び31を介した通信を行うためのIP(Internet Protocol)アドレスを表している。
各クラスタ1は、本実施形態によるコンピュータに相当し、SVP(SerVice Processor)11、2つのSCA(SVP Communication Adapter)12、13を備えている。SVP11は、各HWコンソール2及び3を用いたクラスタ1の管理を可能にする処理装置である。各クラスタ1のSVP11は、各HWコンソール2及び3との間の通信に仮想IPアドレス14を用いる。各SCA12及び13は、それぞれLAN4及び5を介した通信を可能にするために、2つのLANインターフェースを備えている。
SCA12は、2つのLANインターフェースにより、LAN5−0及び4−0を介した通信を可能にさせる。SCA13は、2つのLANインターフェースにより、LAN5−1及び4−1を介した通信を可能にさせる。クラスタ1−0において、SCA12に表記の「CL0-SVP-IP0」及び「CL0-CSL-IP0」はそれぞれ、LAN5−0及び4−0を介して通信を行うためのSCA12のIPアドレスを表している。SCA13に表記の「CL0-SVP-IP1」及び「CL0-CSL-IP1」はそれぞれ、LAN5−1及び4−1を介して通信を行うためのSCA13のIPアドレスを表している。これは、他のクラスタ1−1〜1−3でも同様である。
図2は、本実施形態によるクラスタの構成例を説明する図である。図2に表すようにクラスタ1は、本体10に、2つのSSU(System Storage Unit)156、及び2つの入出力装置(図2中「I/O」と表記)を接続した構成である。本体10内には、上記SVP11、2つのSCA12、13の他に、システムボード(図2中「SYSBD」と表記)152が搭載されている。
システムボード152は、複数のCPU(Central Processing Unit)152a及び複数のメモリモジュール(図2中「DIMM」と表記。DIMMはDual Inline Memory Moduleの略記である)152bを備え、1台のコンピュータとして機能する。図2では一つのみ表しているが、通常、システムボード152は複数、クラスタ1に搭載される。
システムボード152には、クロック発生器(図2中「CLK」と表記)153からクロックが供給される。システムボード152は、SSX(System Storage Extender)155(155−0、155−1)、及びSSM(System Storage Mover)154を介して、2つのSSU156へのアクセスを行う。システムボード152は、2つの入出力装置159とのアクセスに、それぞれ、異なる系統のCHU(CHannel Unit)158、及びIOP(Input/Output Processor)157を用いる。
システムボード152、クロック発生器153、SSM154、各IOP157はSCI(System Console Interface)151と接続されている。SCI151は、接続されたSVP11がそれらを制御する、或いはそれらと通信するためのインターフェースを提供する。
SVP11は、MPU(Micro-Processing Unit)111、RAM(Random Access Memory)112、DPRAM(Dual Port RAM)113、MDA(Micro Disk Adapter)114、SCIA(SCI Adapter)115、それらが接続されたバス116、複数のフラッシュメモリ117、フラッシュメモリ117とMDA114を接続するバス118を備えている。
SCA12は、MPU121、RAM122、及び2つのLANインターフェース123、124を備えている。SCA13も同様に、MPU131、RAM132、及び2つのLANインターフェース133、134を備えている。
上記の構成において、システムボード152の各CPU152aは、例えば2つのSSU156のうちの何れかに格納されたプログラムを取得して実行することで、クラスタ1をサーバとして機能させる。クラスタ1間の通信、及びHWコンソール2或いは3との通信は、SCA12或いは13を介して行われる。各CPU152aは、SCA12及び13と接続されており、SCA12或いは13を介して、他のクラスタ1との間でデータの送受信を行う。
SVP11のMPU111は、例えばMDA114を介してフラッシュメモリ117からプログラムを読み出してRAM112に格納し実行することで、SVP11としての機能を提供する。RAM112に格納されるプログラムには、メッセージ転送プログラム161、コンソール接続制御プログラム162が含まれる。メッセージ転送プログラム161は、他のクラスタ1を介したHWコンソール2或いは3へのメッセージの送信、及び他のクラスタ1から受信したメッセージのHWコンソール2或いは3への転送を実現させるためのプログラムである。コンソール接続制御プログラム162は、複数のクラスタ1−0〜1−3のなかの1台のクラスタ1のみ、HWコンソール2或いは3との通信を可能にさせるためのプログラムである。
本実施形態によるコンピュータは、SVP11のMPU111が、少なくともコンソール接続制御プログラム162を実行することで実現される。そのコンソール接続制御プログラム162(及びメッセージ転送プログラム162)は、フラッシュメモリ117以外の記録媒体に格納しても良く、LAN5等を介して受信するようにしても良い。
他のクラスタ1、或いはHWコンソール2若しくは3との通信は、DPRAM113を介して、SCA12或いは13との間でデータを入出力することで行われる。DPRAM113には、コンソール接続ステータステーブル171が格納される。このコンソール接続ステータステーブル171は、SCA12及び13によりHWコンソール2及び3との通信を管理するためのテーブルである。コンソール接続ステータステーブル171には、SCA12及び13のLANインターフェース124及び134を介したHWコンソール2及び3との通信を管理するためのデータ(以降「コンソール接続ステータスデータ」と呼ぶ)が格納される。RAM112に格納されたクラスタ構成テーブル163は、クラスタ1毎に、HWコンソール2及び3との通信状態を特定するためのテーブルである。このクラスタ構成テーブル163には、クラスタ1毎に、HWコンソール2及び3のコンソール接続ステータスデータが格納される。
DPRAM113の記憶領域は、例えば用途によって分けられている。より具体的には、例えばデータ(メッセージ)を入出力する組み合わせ(SVP11→SCA12、SVP11→SCA13、SCA12→SVP11、SCA13→SVP11)、データの種類等によってDPRAM113の記憶領域は分けられている。それにより、DPRAM113を介して、SVP11とSCA12間、及びSVP11とSCA13間のデータの入出力が行われる。コンソール接続ステータステーブル171はDPRAM113に格納される。このため、SCA12及び13の各MPU121及び131は、コンソール接続ステータステーブル171に直接的にアクセスすることができる。
SCA12のMPU121は、例えばDPRAM113の対応する記憶領域をそれぞれ監視し、記憶領域に格納されたデータを処理する。そのデータ処理により、LANインターフェース123或いは124を介したメッセージの送信が実現される。各LANインターフェース123及び124は、受信したメッセージを例えばRAM122に格納し、メッセージの受信をMPU121に通知する。MPU121は、その通知が行われた場合、RAM122に格納されたメッセージを読み出し、DPRAM113の対応する記憶領域に格納する。それにより、SVP11は、受信したメッセージを取得する。
図3は、HWコンソールの構成例を説明する図である。図3に表すように、HWコンソール2は、ディスプレイ制御装置200に、ディスプレイ240、及びキーボード250を接続した構成である。ディスプレイ制御装置200は、MPU201、NVRAM(Non Volatile RAM)202、RAM203、入出力コントローラ204、キーボード・インターフェース205、ディスプレイ・インターフェース206、及びLANインターフェース21を備えている。
不揮発性のメモリであるNVRAM202には、MPU201によってRAM203に読み出されるロード用データ211、ゲートウェイテーブル212、サーバIPアドレス213、自IPアドレス214が格納されている。ゲートウェイテーブル212、サーバIPアドレス213、自IPアドレス214は、HWコンソール2がLAN4−0を介して各クラスタ1と通信を行うためのセットアップ情報である。
ロード用データ211は、MPU201が実行する制御プログラム220、及び処理に用いられるデータ部230を含む。制御プログラム220は、サブプログラムとして、初期化プログラム221、出力制御プログラム222、入力制御プログラム223、LAN通信制御プログラム224、及びセットアップ情報更新プログラム225を含む。LAN通信制御プログラム224は、サブプログラムとして、データ送受信制御プログラム226、ゲートウェイ選択制御プログラム227、及び接続制御プログラム228を含む。
初期化プログラム221は、電源投入(起動)時の初期化を行うプログラムである。出力制御プログラム222は、ディスプレイ240へのデータ(画面)出力を行うプログラムである。入力制御プログラム223は、キーボード250への操作に応じてデータ入力を行うプログラムである。LAN通信制御プログラム224は、LAN4−0を介した各クラスタ1との通信を行うためのプログラムである。セットアップ情報更新プログラム225は、NVRAM202に格納されたセットアップ情報を更新するためのプログラムである。
LAN通信制御プログラム224のサブプログラムであるデータ送受信制御プログラム226は、LANインターフェース21、及びLAN4−0を介して各クラスタ1との間でデータ(メッセージ)の送受信を行うためのプログラムである。ゲートウェイ選択制御プログラム227は、複数のクラスタ1のなかで実際に通信を行うクラスタ1(のSCA12)を選択するためのプログラムである。接続制御プログラム228は、クラスタ1との通信状態、つまり通信を確立しているクラスタ1が存在するか否かを管理するためのプログラムである。
データ部230は、画面情報231、文字パタン情報232、使用ゲートウェイ番号233、及び接続状態情報234を含む。画面情報231は、ディスプレイ240上に画面を表示させるための情報である。文字パタン情報232は、ディスプレイ240上に表示される画面上に配置すべき文字(文字列)、シンボル等を配置するための情報である。使用ゲートウェイ番号233は、現在、通信を確立しているクラスタ1を管理するための情報であり、LAN通信制御プログラム224のゲートウェイ選択制御プログラム227によって更新される。接続状態情報234は、通信を確立しているクラスタ1が存在するか否かを表す情報であり、LAN通信制御プログラム224の接続制御プログラム228によって更新される。
ゲートウェイテーブル212は、各クラスタ1のSCA12に割り当てられたIPアドレスを格納したテーブルである。図3中に表記の「ゲートウェイ0」〜「ゲートウェイ3」はそれぞれ、クラスタ1−0〜1−3の各SCA12に割り当てられた番号(ゲートウェイ番号)を表している。サーバIPアドレス213は、各クラスタ1のSVP11との通信に用いられる仮想IPアドレス14である。自IPアドレス214は、HWコンソール2に割り当てられたIPアドレスと、LANインターフェース21のID(IDentifier)番号であるMAC(Media Access Control)アドレスを含む。
電源が投入された場合、MPU201は、NVRAM202からロード用データ211を読み出してRAM203に格納し、ロード用データ211の制御プログラム220の実行を開始する。制御プログラム220の実行を開始した後のMPU201は、キーボード250へのオペレータの操作、或いはLANインターフェース21によるメッセージの受信に対応した制御を行う。
HWコンソール2及び3としては、同じ構成のデータ処理装置を用いることができる。ここでは説明上、便宜的にHWコンソール3は図3に表す構成と想定し、構成要素にはHWコンソール2と同じ符号を用いる。
本実施形態によるコンピュータシステムは、上記のような4台のクラスタ1、並びに2台のHWコンソール2及び3を用いて構築されている。しかし、コンピュータシステムの構成は、図1に表すようなものに限定されない。また、クラスタ1、並びにHWコンソール2及び3の構成も、図2或いは図3に表すような構成に限定されない。
上記コンピュータシステムでは、各HWコンソール2及び3とクラスタ1間の通信を規定するプロトコルとして、各HWコンソール2及び3は同時に(並行して)1台のクラスタ1とのみ通信を確立させる必要のあるプロトコルが採用されている。このことから本実施形態では、各HWコンソール2及び3が同時に通信を確立できるクラスタ1は1台のみに制限している。以降、そのような制限の実現方法について、図4〜図6を参照して詳細に説明する。各HWコンソール2及び3が同時に通信を確立できるクラスタ1は2台以上であっても良く、同時に通信を確立できるクラスタ1の台数を制限する理由は、上記とは別の理由であっても良い。
図4は、各HWコンソールと通信を確立するクラスタを制限する方法を説明するための図である。始めに、図4を参照して、その方法について具体的に説明する。その方法はHWコンソール2及び3で同じであることから、以降、便宜的にHWコンソール2にのみ着目する形で説明を行う。また、特に断らない限り、以降「接続」とは通信の確立、つまり通信を行える状態を指す意味で用いる。
本実施形態では、HWコンソール2とクラスタ1の通信の確立(接続)は、HWコンソール2側からの接続を要求するメッセージである接続要求の送信により行われることを前提としている。接続するクラスタ1の選択(変更)は、通常、オペレータによって行われる。制御プログラム220の出力制御プログラム222は、オペレータがクラスタ1を選択するための画面をディスプレイ240上に出力し、その画面上で選択されたクラスタ1は入力制御プログラム223によって認識される。その認識結果は、例えばゲートウェイ番号の形でLAN通信制御プログラム224に通知される。それにより、LAN通信制御プログラム224のゲートウェイ選択制御プログラム227は、入力制御プログラム223から通知されたゲートウェイ番号のIPアドレスをゲートウェイテーブル212から読み出し、そのIPアドレスをメッセージの送信先アドレスとして設定する。ゲートウェイ番号は、ゲートウェイ選択制御プログラム227によってデータ部230の使用ゲートウェイ番号233として保存される。
入力制御プログラム223からのゲートウェイ番号の通知は、接続するクラスタ1の切り替えをオペレータが指示したことを意味する。このことから、LAN通信制御プログラム224の接続制御プログラム228は、ゲートウェイ番号の通知により、現在、接続中のクラスタ1が存在している場合、そのクラスタ1に、通信を終了して、他のクラスタ1との通信を確立することを通知するメッセージである接続パス切り替え指示を送信する。その後に、接続制御プログラム228は、通知されたゲートウェイ番号が割り当てられているクラスタ1に、接続要求を送信する。その接続要求の送信により、HWコンソール2はオペレータが選択したクラスタ1との通信を確立する。実際のメッセージの送受信は、データ送受信制御プログラム226によって行われる。
ゲートウェイ選択制御プログラム227による使用ゲートウェイ番号233の更新は、通信を確立すべきクラスタ1が決定した場合、或いは決定したクラスタ1との通信が確立した場合に行われる。その場合、接続制御プログラム228は、接続状態情報234として、クラスタ1と接続された状態を表す値を格納する。オペレータが選択したクラスタ1との通信が確立しなかった場合、ゲートウェイ選択制御プログラム227は使用ゲートウェイ番号233の更新を行わない。このとき、接続制御プログラム228は、接続状態情報234として、クラスタ1と接続されていない状態を表す値を格納する。以降、クラスタ1と接続された状態を表す値は「1」、クラスタ1と接続されていない状態を表す値は「0」と想定する。
このようにして、HWコンソール2は、常に1台のクラスタ1とのみ通信を確立させるように動作する。一方のクラスタ1は、たとえHWコンソール2が不適切に動作したとしても、1台のクラスタ1のみがHWコンソール2と接続するように、自律的に動作する。クラスタ構成テーブル163、及びコンソール接続ステータステーブル171は、その自律的な動作に用いられる。
コンソール接続ステータステーブル171は、SCA12及び13のLANインターフェース124及び134によるHWコンソール2及び3との接続を管理するために用いられる。コンソール接続ステータスデータは、図4に表すように、アダプタ番号、インターフェース(IF)番号、IPアドレス、接続状況情報、及び接続許可情報を含む。
アダプタ番号は、SCA12及び13にそれぞれ割り当てられた識別情報であり、「0」はSCA12、「1」はSCA13をそれぞれ表している。インターフェース番号は、SCA12及び13が備えた2つのLANインターフェースにそれぞれ割り当てられた識別情報であり、「0」はLANインターフェース123及び133、「1」はLANインターフェース124及び134をそれぞれ表している。IPアドレスは、複数のクラスタ1が接続を制限すべき対象を表す識別情報として用いられる。図4中に表記の「LSC-IP」「RSC-IP」はそれぞれHWコンソール2及び3のIPアドレスを表している。接続状況情報は、HWコンソール2(或いは3)と接続しているか否かを表す情報であり、「0」は未接続、「1」は接続をそれぞれ表している。接続許可情報は、HWコンソール1(或いは3)との接続が行えるか否かを表す情報であり、「0」は接続が行えない不許可、「1」は接続を行える許可、をそれぞれ表している。
クラスタ1のHWコンソール2との通信状態は、上記接続状況情報、及び接続許可情報によって管理される。接続状況情報、及び接続許可情報は共に「0」か「1」の2値の情報である。このため、接続状況情報、及び接続許可情報によって表される組み合わせの数は4である。しかし、HWコンソール2と接続している状況ではHWコンソール2との接続を許可するか否かは無意味となる。このことから、接続状況情報、及び接続許可情報によって表される組み合わせの数は実際には3となる。その3つの具体的な組み合わせは、接続状況情報=1、接続許可情報=0の組み合わせ、接続状況情報=0、接続許可情報=1の組み合わせ、及び接続状況情報=0、接続許可情報=0の組み合わせの3つとしている。
接続状況情報=1、接続許可情報=0の組み合わせは、HWコンソール2と接続している状態(以降「接続状態」)を表す。接続状況情報=0、接続許可情報=1の組み合わせは、HWコンソール2と接続はしていないが、HWコンソール2との接続は可能な状態(以降「接続待機状態」)を表す。接続状況情報=0、接続許可情報=0の組み合わせは、HWコンソール2との接続は許可されない状態(以降「接続不許可状態」)を表す。各クラスタ1には、起動していない状態(以降「停止状態」)が存在する。この停止状態を含めると、各クラスタ1の通信状態は全部で4つとなる。
図4には、コンソール接続ステータステーブル171に格納されたコンソール接続ステータスデータとして、(0,1,LSC−IP,未接続,不許可)及び(1,1,RSC−IP,未接続,許可)を表記している。上記のようなことから、(0,1,LSC−IP,未接続,不許可)は、SCA12のLANインターフェース124を用いた通信の対象がHWコンソール2であり、通信状態は接続不許可状態であることを表している。また、(1,1,RSC−IP,未接続,許可)は、SCA13のLANインターフェース134を用いた通信の対象がHWコンソール3であり、通信状態は接続許可状態であることを表している。
このように、コンソール接続ステータスデータは、想定する通信対象との間の通信状態を表すデータとなっている。このコンソール接続データは、自クラスタ1の通信状態を管理する他に、他のクラスタ1の通信状態の認識に用いられる。他のクラスタ1の通信状態の認識には、クラスタ構成テーブル163が用いられる。
図5は、クラスタ構成テーブルの内容例を説明する図である。
上記のように、クラスタ構成テーブル163には、各クラスタ1の2つのコンソール接続ステータスデータが格納される。2つのコンソール接続ステータスデータは、図5に表すように、クラスタ1毎に1レコード(エントリ)にまとめられる形でクラスタ構成テーブル163に格納される。図5において、SCA12のLANインターフェース124用のコンソール接続ステータスデータは「SCA0−IF1のコンソール接続ステータス」と表記している。SCA13のLANインターフェース134用のコンソール接続ステータスデータは「SCA1−IF1のコンソール接続ステータス」と表記している。
上記のように、クラスタ構成テーブル163には、各クラスタ1の2つのコンソール接続ステータスデータが格納される。2つのコンソール接続ステータスデータは、図5に表すように、クラスタ1毎に1レコード(エントリ)にまとめられる形でクラスタ構成テーブル163に格納される。図5において、SCA12のLANインターフェース124用のコンソール接続ステータスデータは「SCA0−IF1のコンソール接続ステータス」と表記している。SCA13のLANインターフェース134用のコンソール接続ステータスデータは「SCA1−IF1のコンソール接続ステータス」と表記している。
各レコードには、2つのコンソール接続ステータスデータの他に、クラスタ番号、及び投入ステータス情報が格納される。クラスタ番号は、各クラスタ1に割り当てられた識別情報である。そのクラスタ番号は、例えばゲートウェイ番号と一致する。投入ステータス情報は、対応するクラスタ1に電源が投入されているか否かを表す情報であり、「0」は電源の未投入、「1」は電源の投入(動作中)をそれぞれ表している。それにより、各クラスタ1が停止状態か否かは、投入ステータス情報により判定することができる。
各クラスタ1のSCA12のLANインターフェース124用のコンソール接続ステータスデータは、1台のクラスタ1(ここではクラスタ1−0)のみ接続状態であり、他のクラスタ1−1〜1−3は全て接続不許可状態であることを表している。それにより、1台のクラスタ1が接続状態となっている状況では、他のクラスタ1は全てHWコンソール2との接続を行うことはできない。
一方、各クラスタ1のSCA13のLANインターフェース134用のコンソール接続ステータスデータは、全てのクラスタ1が接続許可状態であることを表している。それにより、接続状態となっているクラスタ1が存在しない状況では、各クラスタ1は全てHWコンソール2との接続を行えるようになっている。その状況において、1台のクラスタ1が接続状態に移行した場合、他のクラスタ1は全て接続不許可状態に移行することになる。クラスタ1−0が接続状態に移行した場合、各クラスタ1の通信状態は、各クラスタ1のSCA12のLANインターフェース124用のコンソール接続ステータスデータによって表されるものとなる。
このように、クラスタ構成テーブル163には、クラスタ1毎に、その通信状態を認識できる情報が格納される。そのため、クラスタ構成テーブル163を参照することにより、各クラスタ1は、他のクラスタ1の通信状態を認識することができる。従って、1台のクラスタ1のみがHWコンソール2と接続できるようにする制限はもとより、予め定めた複数台のクラスタ1のみがHWコンソール2と接続できるようにする制限も、クラスタ構成テーブル163の参照により実現することができる。
図6は、各クラスタの通信状態の遷移を説明する図である。その通信状態として、上記のように、停止状態ST0、接続許可状態ST1、接続不許可状態ST2、及び接続状態ST3の4種類が存在する。起動する前の各クラスタ1は、停止状態ST0にあり、起動することによって、各クラスタ1は他のクラスタ1の2種類のコンソール接続ステータスデータを取得し、接続許可状態ST1或いは接続不許可状態ST2に移行する。より具体的には、起動したクラスタ1は、接続状態ST3のクラスタ1が存在していない場合は接続許可状態ST1に移行し、接続状態ST3のクラスタ1が存在している場合は接続不許可状態ST2に移行する。
接続状態ST3に移行したクラスタ1は、その旨を他のクラスタ1に通知する。接続状態ST3に移行したクラスタ1は、接続を終了する場合、その旨を他のクラスタ1に通知し、接続許可状態ST1、或いは接続不許可状態ST2に移行する。このようなことから、各クラスタ1は、他のクラスタ1のなかで接続状態ST3のクラスタ1の存在を認識する。接続状態ST3のクラスタ1は、以降「第1のクラスタ」とも表記する。接続状態ST3から接続不許可状態ST2への移行は、上記接続パス切り替え指示を受信した場合に、つまりHWコンソール2が接続先とするクラスタ1を切り替える場合に行われる。
各クラスタ1は、他のクラスタ1の接続状態ST3への移行を認識した場合、接続不許可状態ST2に移行させる。接続不許可状態ST2は、接続状態ST3のクラスタ1である第1のクラスタ1が存在しないことが確認されるまで維持される。このため、同時に存在できる第1のクラスタ1は1台のみとなる。
他のクラスタ1の接続状態ST3から接続許可状態ST1への移行を認識した各クラスタ1は、接続不許可状態ST2から接続許可状態ST1に移行させる。このため、複数のクラスタ1は何れもHWコンソール2と通信を確立できるようになる。それにより、オペレータはHWコンソール2を所望のクラスタ1に接続させることができる。
各クラスタ1は、電源のオフの指示、或いは故障等により、接続許可状態ST1、接続不許可状態ST2、及び接続状態ST3の何れからでも停止状態ST0に移行する。それにより、本実施形態では、各クラスタ1は図6に表すような状態遷移を行うこととなる。
各クラスタ1が他のクラスタ1の通信状態を認識しつつ、図6に表すような状態遷移を行うことにより、各クラスタ1のなかでHWコンソール2と同時に通信を確立できるクラスタ1は1台のみに制限される。1台のクラスタ1が接続状態ST3に移行した場合、第1のクラスタ1ではない1台のクラスタ1が第1のクラスタ1を含む他のクラスタ1を監視して、正常に動作しないクラスタ1を確認し、その確認結果を状態遷移に反映させる。それにより、接続状態ST3のクラスタ1が存在せず、且つ接続許可状態ST1のクラスタ1も存在しない状況では、動作中の他の全てのクラスタ1は接続許可状態ST1に移行させ、HWコンソール2との接続を可能にさせる。このため、電源がオフされた、或いは故障が発生した等の理由によって、第1のクラスタ1が正常に動作しなくなった場合でも、オペレータはHWコンソール2を他の任意のクラスタ1と接続させることができる。
上記のような状態遷移は、各クラスタ1のSVP11のMPU111がコンソール接続制御プログラム162を実行することで実現される。このコンソール接続制御プログラム162は、サブプログラムとして、パス切替プログラム181、投入/切断プログラム182、コンソール接続パス監視プログラム183、コンソール通信状態監視プログラム184、及びステータス更新プログラム185を含む。
パス切替プログラム181は、HWコンソール2との接続、或いは接続の終了等を行うためのプログラムである。投入/切断プログラム182は、クラスタ1の電源投入、及び電源のオフ(切断)に対応するためのプログラムである。コンソール接続パス監視プログラム183は、他の第一のクラスタ1が正常に動作しているか否かを監視するためのプログラムである。コンソール通信状態監視プログラム184は、自クラスタ1がHWコンソール2と接続している場合に、HWコンソール2との通信が行えるか否か、つまりHWコンソール2が正常に動作しているか否かを監視するためのプログラムである。ステータス更新プログラム185は、他のクラスタ1からのメッセージの受信等により、クラスタ構成テーブル163、及びコンソール接続ステータステーブル171のコンソール接続ステータスデータを更新するプログラムである。
上記パス切替プログラム181を実行するSVP11は、接続許可状態ST1から接続状態ST3への移行、及び接続状態ST33から接続許可状態への移行による通信状態の遷移を他のクラスタ1に通知する。そのような通知は、SVP11がステータス更新プログラム185の実行により処理され、クラスタ構成テーブル163、及びコンソール接続ステータステーブル171のコンソール接続ステータスデータが更新される。パス切替プログラム181を実行するSVP11は、クラスタ構成テーブル163を参照し、接続許可状態ST1から接続状態ST3への移行、つまりHWコンソール2との通信の確立を行う。
このようなことから、HWコンソール2と接続している他のクラスタ1の認識は、SVP11が、パス切替プログラム181、及びステータス更新プログラム185を少なくとも実行することで実現される。予め定めた台数(ここでは1台)のクラスタ1のみがHWコンソール2と接続できるようにする管理は、SVP11が、パス切替プログラム181を実行することで実現される。
以降は、図7〜図15に表す各処理のフローチャートを参照し、各クラスタ1、及びHWコンソール2のそれぞれの動作について詳細に説明する。クラスタ1の動作は、SVP11、つまりメッセージ転送プログラム161或いはコンソール接続制御プログラム162に着目して行う。HWコンソール2の動作は、制御プログラム220に着目して行う。それにより、動作説明は、HWコンソール2とクラスタ1の接続に係わる部分に着目して行う。上記のように、メッセージ転送プログラム161及びコンソール接続制御プログラム162は、例えばフラッシュメモリ117からRAM112に読み出され、SVP11のMPU111によって実行される。制御プログラム220は、NVRAM202からRAM203に読み出され、MPU201によって実行される。
図7は、起動したクラスタが実行するHWコンソールとの接続に係わる処理の流れを表すフローチャートである。図7には、起動したクラスタ(図7では「電源投入クラスタ」と表記)の他に、起動済み、つまり動作中の他のクラスタ(図7では「投入済み他クラスタ」と表記)が実行する処理のフローチャートも併せて表している。それにより、始めに図7を参照して、1台のクラスタ1が起動した場合に、起動したクラスタ1、及び動作中の他のクラスタ1がそれぞれ実行するHWコンソール2との接続に係わる処理について詳細に説明する。
ここでは説明上、便宜的に、起動するクラスタ1としてクラスタ1−0、投入済みの他のクラスタ1としてクラスタ1−1を想定する。図7に表すクラスタ1−0のSVP11の処理は、主に投入/切断プログラム182によって実現される。クラスタ1−1のSVP11の処理は、主にステータス更新プログラム185によって実現される。図7において、異なるクラスタ1で実行される処理ステップ間に配置した矢印は、メッセージが送受信される向きを表している。これは、図10〜図15でも同様である。各クラスタ1への電源投入、及び電源切断の指示等は、HWコンソール2、及び統合コンソール6から行うことができる。
起動したクラスタ1−0のSVP11は、SCA12のLANインターフェース123を用いて、電源が投入されたことを通知するメッセージであるクラスタ電源投入通知を他のクラスタ1−1〜1−3に送信する(SA1)。クラスタ電源投入通知の送信は、クラスタ構成テーブル163上にクラスタ番号が格納されている全てのクラスタ1を対象に行われる。
投入済みの他のクラスタ1−1では、SCA12のLANインターフェース123によって、クラスタ電源投入通知が受信される(SB1)。受信されたクラスタ電源投入通知は、SCA12からSVP11に出力され、SVP11は、クラスタ構成テーブル163の対応するレコードの投入ステータス情報を更新する。その更新は、上記のように、投入ステータス情報の値として「1」を格納することで行われる(SB2)。その後、SVP11は、SCA12のLANインターフェース123を用いて、クラスタ電源投入通知の応答をクラスタ1−0に送信する(SB3)。コンソール接続ステータステーブル171に格納された2種類のコンソール接続ステータスデータは、応答に付加してクラスタ1−0に送信される。クラスタ1−1のSVP11のクラスタ電源投入通知を受信したことによる一連の処理は、応答の送信によって終了する。
各クラスタ1−1〜1−3にクラスタ電源投入通知を送信したクラスタ1−0のSVP11は、クラスタ電源投入通知を送信してから規定時間が経過するまでの間、応答の受信に対応するための処理を繰り返し実行する(SA2〜SA4)。より具体的には、SVP11は、SA2において、規定時間が経過したか否か判定する。規定時間が経過していない場合、SA2の判定はNoとなり、次にSVP11は、受信された応答をSCA12から取得し(SA3)、応答に付加されたコンソール接続ステータスデータのクラスタ構成テーブル163への反映を行う(SA4)。その反映後はSA2に移行して、再度、規定時間が経過したか否かの判定を行う。規定時間が経過していた場合、SA2の判定はYesとなり、SA5に移行する。
起動した直後では、クラスタ構成テーブル163の各レコードの投入ステータス情報の値は「0」であり、コンソール接続ステータスデータは格納されていない。クラスタ1−0のSVP11は、応答を受信したクラスタ1−1のクラスタ構成テーブル163上の対応するレコードに、応答に付加された2種類のコンソール接続ステータスデータを格納する。そのレコードの投入ステータス情報の値は「1」に更新する。そのようにして、受信した応答毎に、クラスタ構成テーブル163のその応答に対応したレコードの更新を行う。応答を受信しないレコードの投入ステータス情報の値は「0」のままとなる。このようにして、起動したクラスタ1−0は、クラスタ電源投入通知の各クラスタ1−1〜1−3への送信により、他のクラスタ1−1〜1−3のなかで動作中の全てのクラスタ1の通信状態を確認することとなる。
SA5では、SVP11は、クラスタ構成テーブル163を参照して、接続状態ST3のクラスタ1が存在するか否か判定する。クラスタ構成テーブル163に格納されたHWコンソール2のコンソール接続ステータスデータのなかに接続状態ST3を表すものが存在する場合、判定はYesとなる。この場合、SVP11は、自クラスタ1−0の通信状態を接続不許可状態ST2としてコンソール接続ステータスデータを生成し、生成したステータスデータをコンソール接続ステータステーブル171、及びクラスタ構成テーブル163にそれぞれ格納する(SA7)。
一方、クラスタ構成テーブル163に格納されたHWコンソール2のコンソール接続ステータスデータのなかに接続状態ST3を表すものが存在しなかった場合、SA5の判定はNoとなる。この場合、SVP11は、自クラスタ1−0の通信状態を接続許可状態ST1としてコンソール接続ステータスデータを生成し、生成したステータスデータをコンソール接続ステータステーブル171、及びクラスタ構成テーブル163にそれぞれ格納する(SA6)。
クラスタ1−0のSVP11による起動に対応するための一連の処理は、コンソール接続ステータスデータの格納によって終了する。以降SVP11は、必要に応じて、クラスタ構成テーブル163、或いはコンソール接続ステータステーブル171を更新する。
図8は、HWコンソールの電源投入時に実行する処理のフローチャートである。次に図8を参照して、HWコンソール2の電源投入時、つまり起動時にクラスタ1との接続のために実行する処理について詳細に説明する。図8に表す処理は、主に制御プログラム220の初期化プログラム221、及びLAN通信制御プログラム224によって実現される。
先ず、HWコンソール2は、接続状態情報234として、クラスタ1と接続されていない状態を表す値の「0」を格納する(SC1)。次に、HWコンソール2は、ゲートウェイテーブル212を参照し、最初のエントリ(レコード)に格納されたゲートウェイ番号を使用ゲートウェイ番号233として設定(格納)する(SC2)。その後のHWコンソール2は、接続要求処理を実行する(SC3)。その接続要求処理の実行により、HWコンソール2は、起動時におけるクラスタ1との接続に係わる一連の処理を終了する。
本実施形態では、HWコンソール2の起動時に、何れかのクラスタ1と接続させるようにしている。SC3で実行される接続要求処理は、接続可能なクラスタ1を特定し、特定したクラスタ1と接続するための処理である。SC2での使用ゲートウェイ番号233の設定は、接続要求処理を実行するうえでの初期設定として行われる。次に図9を参照して、その接続要求処理について詳細に説明する。図9は、その接続要求処理のフローチャートである。
先ず、HWコンソール2は、使用ゲートウェイ番号233を読み出し、そのゲートウェイ番号233が割り当てられたIPアドレスを送信先として、通信の確立を要求するメッセージである接続要求をLANインターフェース21に送信させる(SC121)。次に、HWコンソール2は、接続要求を送信させた後、応答を受信する前に規定時間が経過したか否か判定する(SC122)。その規定時間が経過する前に応答を受信した場合、SC122の判定はNOとなる。その場合、HWコンソール2は、接続状態情報234の値を1に更新する(SC124)。その後、接続要求処理が終了する。
一方、規定時間が経過する前に応答を受信しなかった場合、SC122の判定はYesとなる。その場合、HWコンソール2は、使用ゲートウェイ番号233を、ゲートウェイテーブル212の次のエントリのゲートウェイ番号に更新する(SC123)。そのようにして、接続先とするクラスタ1を設定した後、上記SC121に戻る。
上記接続要求処理を実行することにより、HWコンソール2は、クラスタ1と接続するまで、接続要求の送信先とするクラスタ1を変更しつつ、接続要求を送信する。それにより、HWコンソール2は、起動時に、接続可能なクラスタ1との接続を行う。
図10は、電源を切断するクラスタが実行するHWコンソールとの接続に係わる処理の流れを表すフローチャートである。この処理は、例えばHWコンソール2或いは統合コンソール6から電源切断が指示されたことを契機に実行される。図10には、電源を切断するクラスタ(図10では「電源切断するクラスタ」と表記)の他に、電源が投入済みの他のクラスタ(図10では「投入済み他クラスタ」と表記)、及びHWコンソール2がそれぞれ実行する処理のフローチャートも併せて表している。それにより、次に図10を参照して、1台のクラスタ1が電源を切断する場合に、電源を切断するクラスタ1、投入済みの他のクラスタ1、及びHWコンソール2がそれぞれ実行する処理について詳細に説明する。
ここでは説明上、便宜的に、電源を切断するクラスタ1としてクラスタ1−0、投入済みの他のクラスタ1としてクラスタ1−1を想定する。図10に表すクラスタ1−0のSVP11の処理は、主に投入/切断プログラム182によって実現される。クラスタ1−1のSVP11の処理は、主にステータス更新プログラム185によって実現される。
HWコンソール2或いは統合コンソール6から電源切断が指示されたクラスタ1−0のSVP11は、先ず、自クラスタ1−0のコンソール接続ステータスデータを参照し、接続状況情報の値が1か否か判定する(SA11)。HWコンソール2との通信が確立している場合、接続状況情報の値は「1」となる。このため、HWコンソール2との通信が確立している場合、SA11の判定はYesとなってSA12に移行する。一方、HWコンソール2との通信が確立していない場合、SA11の判定はNoとなってSA19に移行する。自クラスタ1−0のコンソール接続ステータスデータとは、コンソール接続ステータステーブル171に格納されたコンソール接続ステータスデータである。
SA12では、SVP11は、自クラスタ1−0のコンソール接続ステータスデータ中の接続状況情報、及び接続許可情報の各値を共に「0」に設定する。次にSVP11は、SCA12に、通信の終了を要求するためのメッセージである接続切断要求をHWコンソール2に送信させる(SA13)。
HWコンソール2は、クラスタ1−0から送信された接続切断要求を受信する(SC11)。接続切断要求を受信したHWコンソール2は、自コンソール2の接続状態情報234の値を「0」に設定し(SC12)、応答をクラスタ1−0に送信する(SC13)。HWコンソール2は、次に、上述の接続要求処理を実行する(SC14)。その接続要求処理の実行により、HWコンソール2は、接続切断要求の受信による一連の処理を終了する。
接続切断要求を送信させた後のクラスタ1−0のSVP11は、その接続切断要求への応答をHWコンソール2から受信するのを待つ(SA14)。応答を受信すると、SVP11は、次に、クラスタ構成テーブル163上で電源が投入されていることが表される全てのクラスタ1に、HWコンソール2との通信が終了したことを表すメッセージであるコンソール切断通知を送信する(SA15)。
クラスタ1−1のSVP11は、SCA12を介して、受信したコンソール切断通知を受け取る(SB11)。コンソール切断通知の送信時、投入済みの他のクラスタ1は全て接続不許可状態ST2である。このことから、SVP11は、コンソール接続ステータステーブル171上のコンソール接続ステータスデータ中の接続状況情報、及び接続許可情報の各値を「0」及び「1」に設定し、接続許可状態ST1に移行させる(SB12)。次にSVP11は、クラスタ構成テーブル163上の全クラスタ1のコンソール接続ステータスデータ中の接続状況情報、及び接続許可情報の各値を「0」及び「1」に設定する(SB13)。その後、SVP11は、クラスタ1−0に応答を送信させる(SB14)。
コンソール切断通知を送信した後のクラスタ1−0のSVP11は、規定時間が経過するまでの間に受信する応答に対応するための処理を実行する(SA16〜SA18)。SA19への移行は、規定時間が経過することでSA16の判定がYesになる、或いは規定時間が経過する前に全ての応答を受信することでSA18の判定がYesとなった場合に行われる。そのSA19では、SVP11は、クラスタ構成テーブル163上で電源が投入されていることが表される全てのクラスタ1に、電源を切断することを通知するためのメッセージであるクラスタ電源切断通知を送信する(SA19)。
クラスタ1−1のSVP11は、SCA12が受信したクラスタ電源切断通知を受け取る(SB15)。次にSVP11は、クラスタ構成テーブル163の対応するエントリの投入ステータス情報の値を「0」に更新する(SB16)。その後、SVP11は、クラスタ1−0に応答を送信させる(SB17)。その応答の送信により、クラスタ1−0での電源切断に対応するための一連の処理が終了する。
クラスタ電源切断通知を送信した後のクラスタ1−0のSVP11は、規定時間が経過するまでの間に受信する応答に対応するための処理を実行する(SA20〜SA22)。SA23への移行は、規定時間が経過することでSA20の判定がYesになる、或いは規定時間が経過する前に全ての応答を受信することでSA22の判定がYesとなった場合に行われる。
そのSA23では、SVP11は、クラスタ1−0の電源を切断するための処理を実行する。その処理により、システムボード152にはシャットダウンを指示する。電源切断時の一連の処理は、システムボード152のシャットダウンを確認した後に終了する。
このようにして、本実施形態では、電源を切断するクラスタ1−0は、全ての動作中の他のクラスタ1に、電源を切断することを通知する。HWコンソール2との接続中であれば、クラスタ1−0は、HWコンソール2との接続を切断して、自クラスタ1−0のコンソール接続ステータスデータを更新し、HWコンソール2との接続の切断を全ての動作中の他のクラスタ1に通知する。そのため、これらの通知が行われるクラスタ1は、クラスタ構成テーブル163の各エントリに格納されているコンソール接続ステータスデータを含むデータを適切に更新することができる。この結果、HWコンソール2と接続中のクラスタ1が電源を切断する場合には、動作中の他のクラスタ1は何れもHWコンソール2との接続に対応することができるようになる。
図11は、クラスタがHWコンソールとの接続のために実行するコンソール接続処理のフローチャートである。図11には、このコンソール接続処理のフローチャートの他に、このコンソール接続処理を実行しない1台の他のクラスタ1(図11では「投入済み他クラスタ」と表記)、及びHWコンソール2がそれぞれ実行する処理のフローチャートも併せて表している。それにより、次に図11を参照して、1台のクラスタ1がコンソール接続処理を実行する場合に、投入済み(動作中)の他のクラスタ1、及びHWコンソール2がそれぞれ実行する処理についても併せて詳細に説明する。
ここでは説明上、便宜的に、コンソール接続処理を実行するクラスタ1としてクラスタ1−0、投入済みの他のクラスタ1としてクラスタ1−1を想定する。図11に表すクラスタ1−0のSVP11の処理は、例えば主にパス切替プログラム181によって実現される。クラスタ1−1のSVP11の処理は、主にステータス更新プログラム185によって実現される。HWコンソール2の処理は、主にLAN通信制御プログラム224によって実現される。
本実施形態では、HWコンソール2とクラスタ1間の通信の確立は、HWコンソール2からの接続要求により行うことを前提としている。このことから、コンソール接続処理は、HWコンソール2からの接続要求を受信したクラスタ1のSVP11が、その接続要求の受信を契機に実行する。
HWコンソール2は、通信を確立すべきクラスタ1−0に接続要求を送信する(SC31)。
HWコンソール2から送信された接続要求は、クラスタ1−0のSCA12によって受信され、SVP11に渡される(SA31)。SVP11は、接続要求を受け取ると、DPRAM113に格納されたコンソール接続ステータステーブル171を参照し、対応するコンソール接続ステータスデータ中の接続許可情報の値が「1」か否か判定する(SA32)。自クラスタ1−0が接続許可状態ST1であった場合、接続許可情報の値は「1」である。このため、その場合、SA32の判定はYesとなってSA33に移行する。そうでない場合、つまり自クラスタ1−0が接続不許可状態ST2であった場合、SA32の判定はNoとなり、ここで一連の処理を終了する。それにより、接続不許可状態ST2から接続状態ST3への移行は回避される。
HWコンソール2から送信された接続要求は、クラスタ1−0のSCA12によって受信され、SVP11に渡される(SA31)。SVP11は、接続要求を受け取ると、DPRAM113に格納されたコンソール接続ステータステーブル171を参照し、対応するコンソール接続ステータスデータ中の接続許可情報の値が「1」か否か判定する(SA32)。自クラスタ1−0が接続許可状態ST1であった場合、接続許可情報の値は「1」である。このため、その場合、SA32の判定はYesとなってSA33に移行する。そうでない場合、つまり自クラスタ1−0が接続不許可状態ST2であった場合、SA32の判定はNoとなり、ここで一連の処理を終了する。それにより、接続不許可状態ST2から接続状態ST3への移行は回避される。
SA33では、SVP11は、対応するコンソール接続ステータスデータ中のIPアドレスが接続要求の送信元であるHWコンソール2のIPアドレスと一致するか否か判定する。それらが一致した場合、SA33の判定はYesとなってSA35に移行する。それらが一致しなかった場合、SA33の判定はNoとなってSA34に移行する。
SA34では、SVP11は、接続対象外からの接続要求を受信したとして、応答を送信しないことを決定する。その後、一連の処理を終了する。一方、SA35では、SVP11は、SCA12を用いて、接続要求の送信元に応答を送信する。
接続要求を送信した後のHWコンソール2は、その接続要求への応答に対応するための処理を実行する(SC32〜SC35)。それにより、HWコンソール2は、規定時間が経過する前に応答を受信した場合(SC32のYes→SC33)、クラスタ1−0との通信が確立したとして、接続状態情報234の値として「1」を格納する(SC34)。一方、規定時間が経過する前に応答を受信しなかった場合(SC32のNo)、HWコンソール2は、接続状態情報234の値として「0」を格納する(SC35)。そのような接続状態情報234の更新を行った後、クラスタ1−0との接続に係わる一連の処理が終了する。
HWコンソール2が実行する上記SC31〜SC35は、図9に表す接続要求処理において、SC121、SC122及びSC124によって実現される部分に相当する。SC35は、図9には表していないが、例えばSC122の判定がYesとなった場合に、SC123に移行する前に実行される。
HWコンソール2に応答を送信させた後のクラスタ1−0のSVP11は、HWコンソール2との通信が確立したとして、コンソール接続ステータステーブル171及びクラスタ構成テーブル163の更新を行う(SA36)。それにより、自クラスタ1−0のコンソール接続ステータスデータは接続状態ST3への移行に合わせた更新が行われ、他のクラスタ1のコンソール接続ステータスデータは接続不許可状態ST2への移行に合わせた更新が行われる。その後、SVP11は、電源の投入を認識している全ての他のクラスタ1に、HWコンソール2との通信が確立した旨を通知するためのメッセージであるコンソール接続通知を送信する(SA37)。
クラスタ1−1のSVP11は、クラスタ1−0から受信したコンソール接続通知をSCA12から取得する(SB31)。SVP11は、コンソール接続通知の取得により、コンソール接続ステータステーブル171のコンソール接続ステータスデータを更新し(SB32)、その更新をクラスタ構成テーブル163に反映させる(SB33)。その後、SVP11は、コンソール接続通知の送信元のクラスタ1−0に応答を送信させる(SB34)。その応答の送信により、クラスタ1−0の接続状態ST3への移行に係わる一連の処理が終了する。コンソール接続ステータスデータの更新は、クラスタ1−1の接続不許可状態ST2への移行に合わせたものである。
コンソール接続通知を送信した後のクラスタ1−0のSVP11は、規定時間が経過するまでの間に受信する応答に対応するための処理を実行する(SA38〜SA40)。その処理は、規定時間が経過することでSA38の判定がYesになる、或いは規定時間が経過する前に全ての応答を受信することでSA40の判定がYesとなるまで行われる。コンソール接続処理は、SA38或いはSA40でYesと判定された後に終了する。
このようにして、接続状態ST3に移行したクラスタ1は、その移行を他のクラスタ1に通知し、他のクラスタ1はその通知に対応するための自クラスタ1を含む各クラスタ1のコンソール接続ステータスデータの更新を行う。このため、接続状態ST3のクラスタ1が存在する状況下では、他のクラスタ1は全て接続不許可状態ST2となる。それにより、2台以上のクラスタ1が同時に接続状態ST3となるのは回避される。
図12は、クラスタがHWコンソールとの接続を切り替えるために実行する接続パス切り替え処理のフローチャートである。この接続パス切り替え処理は、HWコンソール2から新たに接続する接続先が通知されたことを契機にクラスタ1が実行する処理である。図12には、この接続パス切り替え処理のフローチャートの他に、新たな接続先となるクラスタ1(図12では「パス切り替え先クラスタ」と表記)が実行する処理のフローチャート、及びHWコンソール2が実行する処理のフローチャートも併せて表している。それにより、次に図12を参照して、1台のクラスタ1が接続パス切り替え処理を実行する場合に、新たな接続先のクラスタ1、及びHWコンソール2がそれぞれ実行する処理についても併せて詳細に説明する。
ここでは説明上、便宜的に、接続パス切り替え処理を実行する第1のクラスタ1としてクラスタ1−0、新たな接続先のクラスタ1としてクラスタ1−1を想定する。図12に表す接続パス切り替え処理は、主にパス切替プログラム181によって実現される。クラスタ1−1のSVP11の処理は、主にステータス更新プログラム185によって実現される。
接続パス切り替え処理は、現在、接続中のクラスタ1に、接続を切断して、別のクラスタ1が新たにHWコンソール2と接続できるように準備させるために実行される。そのために、HWコンソール2は、現在、接続中のクラスタ1に対し、別のクラスタ1と新たに接続するうえでの準備を指示するメッセージである接続パス切り替え指示を送信する。新たに接続するクラスタ1を特定可能なように、接続パス切り替え指示には、新たな接続先のクラスタ1を表すコード(例えばクラスタ番号)が付加される。
新たに接続するクラスタ1は、オペレータのキーボード250を介した指示に従って選択される。HWコンソール2が実行する出力制御プログラム222は、接続先のクラスタ1を切り替えるための画面表示を行う。入力制御プログラム223は、オペレータのキーボード250への操作を解析して、オペレータの指示内容を認識し、その認識結果をLAN通信制御プログラム224に渡す。その結果、ゲートウェイ選択制御プログラム227は、オペレータの指示に従ってクラスタ1と通信するためのIPアドレスをゲートウェイテーブル212から取得する。接続制御プログラム238は、現在、接続中のクラスタ1に、接続パス切り替え指示を送信する。このことから、図12に表す部分のHWコンソール2の処理は、主に接続制御プログラム238によって実現される。
HWコンソール2は、現在、接続中のクラスタ1−0に、接続パス切り替え指示を送信する(SC51)。次にHWコンソール2は、新しい接続先の設定を行う(SC52)。その設定により、使用ゲートウェイ番号233として、新しい接続先のゲートウェイ番号が格納される。また、接続状態情報234の値は「0」に更新される。使用ゲートウェイ番号233の更新は、ゲートウェイ選択制御プログラム227によって行われ、雪像状態情報234の更新は、接続制御プログラム238によって行われる。そのような設定の変更により、接続パス切り替え指示の送信による一連の処理が終了する。
HWコンソール2から送信された接続パス切り替え指示は、クラスタ1−0のSCA12によって受信され、SVP11に渡される(SA51)。SVP11は、接続パス切り替え指示に付加されたコードにより、クラスタ構成テーブル163の対応するエントリを特定し、特定したエントリの投入ステータス情報を確認する(SA52)。その後、SVP11は、投入ステータス情報の値が「1」か否か判定する。コードで指定されたクラスタ1−1が動作中であった場合、そのクラスタ1−1の投入ステータス情報として「1」の値がクラスタ構成テーブル163に格納されている。このため、クラスタ1−1が動作中であった場合、SA53の判定はYesとなってSA54に移行する。クラスタ1−1が動作中でなかった場合、SA53の判定はNoとなってSA60に移行する。
SA54では、SVP11は、クラスタ1−1に、HWコンソール2との接続が可能な状態への移行を要求するためのメッセージであるパス切り替え要求を送信する。
クラスタ1−1は、パス切り替え要求をSCA12が受信し、受信したパス切り替え要求はSCA12からSVP11に渡される(SB51)。パス切り替え要求を受け取ったSVP11は、接続許可状態ST1に移行させるために、コンソール接続ステータステーブル171上のコンソール接続ステータスデータを更新し(SB52)、その更新をクラスタ構成テーブル163に反映させる(SB53)。その後、SVP11は、クラスタ1−0に応答を送信する(SB54)。応答の送信により、パス切り替え要求の受信による一連の処理は終了する。
クラスタ1−1は、パス切り替え要求をSCA12が受信し、受信したパス切り替え要求はSCA12からSVP11に渡される(SB51)。パス切り替え要求を受け取ったSVP11は、接続許可状態ST1に移行させるために、コンソール接続ステータステーブル171上のコンソール接続ステータスデータを更新し(SB52)、その更新をクラスタ構成テーブル163に反映させる(SB53)。その後、SVP11は、クラスタ1−0に応答を送信する(SB54)。応答の送信により、パス切り替え要求の受信による一連の処理は終了する。
クラスタ1−0のSVP11は、パス切り替え要求を送信した後、応答を受信するのを待つ(SA55)。応答を受信すると、SVP11は、接続不許可状態ST2に移行させるために、コンソール接続ステータステーブル171のコンソール接続ステータスデータを更新し(SA56)、その更新をクラスタ構成テーブル163に反映させる(SA57)。
次にSVP11は、HWコンソール2に、接続の切断を要求するためのメッセージである接続切断要求を送信させる(SA58)。接続切断要求を送信した後、SVP11は、応答を受信するのを待つ(SA59)。応答を受信することで、接続パス切り替え処理が終了する。
HWコンソール2は、クラスタ1−0から送信された接続切断要求を受信する(SC61)。接続切断要求を受信したHWコンソール2は、接続状態情報234の値を「0」に更新し(SC62)、応答をクラスタ1−0に送信する(SC63)。その後、HWコンソール2は、オペレータが指定したクラスタ1−1との通信を確立するための接続処理を実行する(SC64)。この接続処理の実行により、接続切断要求の受信による一連の処理が終了する。
この接続処理として、図11に表すSC31〜SC35をHWコンソール2は実行することになる。接続要求は、ゲートウェイ選択制御プログラム227がオペレータの指示によりゲートウェイテーブル212から取得したIPアドレスを用いて送信される。それにより、HWコンソール2は、オペレータが選択したクラスタ1−1と通信を確立することになる。
SB54で応答を送信した後のクラスタ1−1は、HWコンソール2のSC64での接続処理の実行によって、HWコンソール2から接続要求を受信することになる。その接続要求に対応するための処理は図11で詳細に説明したため、ここでの説明は省略する。
上記SA53でのNoの判定は、動作中でないクラスタ1−1を指定した接続パス切り替え指示をHWコンソール2が送信したことを意味する。このことから、SA60では、クラスタ1−0のSVP11は、接続パス切り替え指示により接続するクラスタ1の切り替えが行えない旨のオペレータへの通知を要求するメッセージであるエラーメッセージ出力要求をHWコンソール2に送信する。その後のSVP11は、HWコンソール2から応答を受信するのを待つ(SA61)。その応答の受信により、接続パス切り替え処理が終了する。
HWコンソール2は、クラスタ1−0から送信されたエラーメッセージ出力要求を受信する(SC71)。エラーメッセージ出力要求を受信したHWコンソール2は、ディスプレイ240上に、オペレータが指示したクラスタ1−1との接続が行えない旨を通知するためのエラーメッセージを表示させる(SC72)。その後、HWコンソール2は、応答をクラスタ1−0に送信する(SC73)。その応答の送信により、エラーメッセージ出力要求の受信による一連の処理が終了する。
上記エラーメッセージの出力により、オペレータは、選択したクラスタ1−1との接続が行えないことを認識することができる。そのため、他のクラスタ1を対象にした作業を直ちに開始することができる。
アラームメッセージの出力は、データ送受信制御プログラム226からの要求により、出力制御プログラム222が行う。出力するアラームメッセージのデータは、例えば文字パタン情報232を用いて生成される。
上記のように本実施形態では、HWコンソール2と接続中のクラスタ1は、コードで指定されたクラスタ1をHWコンソール2と接続可能な状態に移行させてから、HWコンソール2との接続を切断するようになっている。このような手順で接続を切断するのは、コードで指定されたクラスタ1との通信により、そのクラスタ1がHWコンソール2との接続を行えるか否かを確認し、その確認結果を接続の切断に反映させるためである。そのような手順を採用することにより、コードで指定されたクラスタ1が電源の未投入、或いは故障等によりHWコンソール2と接続できない場合、現在、接続中のクラスタ1を通して、別のクラスタ1に接続の準備をさせることができる。
上記SA54〜SA59、並びにそのSA54〜SA59によるクラスタ1−1、及びHWコンソール2の処理は、接続パス切り替え指示を正常に処理できた切り替え成功時に実行される。上記SA60〜SA61、及びそのSA60〜SA61によるHWコンソール2の処理は、切り替え失敗時に実行される。
しかし、上記のように、パス切り替え要求を送信したクラスタ1−1が正常に動作していない場合もありうる。その場合、クラスタ1−1は、応答を送信しない。このため、クラスタ1−0のSVP11は、SA55で規定時間が経過する前に応答を受信できなかった場合、その旨をHWコンソール2に通知し、接続状態ST3を維持する。SA56〜SA59は実行しない。そのようにして、次の接続パス切り替え指示の受信に対応可能な状態が維持される。
接続パス切り替え指示の受信によりHWコンソールとの接続を切断するクラスタ1−0は、そのことを他のクラスタ1に通知しない。これは、次にHWコンソール2と接続するクラスタ1−1は、その接続を他のクラスタ1に通知するからである。その通知は、クラスタ1−0の接続は切断することを意味するからである。このことは、接続を切断するクラスタ1は、必ずしも接続の切断を他のクラスタ1に通知しなくとも良いことを意味している。
HWコンソール2は、常に正常に動作しているとは限らない。電源の切断、或いは故障等の理由により、HWコンソール2が正常に動作していない場合がありうる。このことから本実施形態では、接続中のクラスタ1に、随時、HWコンソール2との通信が行えるか否かを監視させるようにしている。それにより、HWコンソール2との通信が行えないことが確認された場合、動作中の全てのクラスタ1は接続許可状態ST1に移行させるようにしている。
動作中の全てのクラスタ1を接続許可状態ST1に移行させることにより、正常に動作する状態にHWコンソール2が復帰した場合、HWコンソール2は何れのクラスタ1とも接続することができる。それにより、HWコンソール2が正常に動作するようになった場合、オペレータは所望のクラスタ1にHWコンソール2を直ちに接続させることができることから、作業効率の低下等は抑えられることとなる。
図13は、コンソール監視処理のフローチャートである。このコンソール監視処理は、HWコンソール2と接続中のクラスタ1(図13中「コンソールと接続状態のクラスタ」と表記)が、HWコンソール2との通信が行えるか否かを監視するために実行する処理であり、例えば予め定めたタイミングで実行される。より具体的には、コンソール監視処理は、例えばHWコンソール2との通信が所定時間以上、行われなかったことを条件に実行される。
図13には、コンソール監視処理のフローチャートの他に、HWコンソール2、及び接続中でない他のクラスタ1がそれぞれ実行する処理のフローチャートも併せて表している。それにより、次に図13を参照して、接続中のクラスタ1がコンソール監視処理を実行する場合に、HWコンソール2及び他のクラスタ1がそれぞれ実行する処理についても併せて詳細に説明する。ここでは説明上、便宜的に、コンソール監視処理を実行するクラスタ1、つまり第1のクラスタ1としてクラスタ1−0、他のクラスタ1としてクラスタ1−1を想定する。図13に表すコンソール監視処理は、主にコンソール通信状態監視プログラム184によって実現される。クラスタ1−1のSVP11の処理は、主にステータス更新プログラム185によって実現される。
クラスタ1−0のSVP11は、先ず、HWコンソール2に、動作状態の確認に用いるメッセージであるステータス通知要求を送信する(SA81)。
HWコンソール2は、正常に動作している場合、送信されたステータス通知要求を受信し(SC81)、その応答を送信する(SC82)。
HWコンソール2は、正常に動作している場合、送信されたステータス通知要求を受信し(SC81)、その応答を送信する(SC82)。
クラスタ1−0のSVP11は、ステータス通知要求を送信させた後、規定時間が経過するまでの間、応答を受信するのを待つ(SA82、SA83)。それにより、ステータス通知要求を送信させてから規定時間が経過する前に応答を受信した場合(SA82のNo→SA83)、HWコンソール2は正常に動作していると見なされ、ここでコンソール監視処理が終了する。一方、ステータス通知要求を送信させてから規定時間が経過する前に応答を受信しなかった場合(SA82のYes)、HWコンソール2は正常に動作していないと見なされ、SA84に移行する。
SA84では、SVP11は、接続許可状態ST1に移行させるために、コンソール接続ステータステーブル171上のコンソール接続ステータスデータを更新する。次にSVP11は、その更新をクラスタ構成テーブル163に反映させる(SA85)。その後、SVP11は、クラスタ構成テーブル163から動作中と確認できる全てのクラスタ1に、HWコンソール2との接続を切断した旨を通知するためのメッセージであるコンソール切断通知を送信する(SA86)。
コンソール切断通知を送信した後のSVP11は、規定時間が経過するまでの間に受信する応答に対応するための処理を実行する(SA87〜SA89)。その処理は、規定時間が経過することでSA87の判定がYesになる、或いは規定時間が経過する前に全ての応答を受信することでSA89の判定がYesとなるまで行われる。コンソール監視処理は、SA87或いはSA89でYesと判定された後に終了する。
HWコンソール2と接続中でないクラスタ1−1のSVP11は、SCA12を介して、クラスタ1−0から受信したコンソール切断通知を受け取る(SB81)。SVP11は、コンソール切断通知の受信により、接続許可状態ST1への移行のために、コンソール接続ステータステーブル171上のコンソール接続ステータスデータを更新し(SB82)、その更新をクラスタ構成テーブル163に反映させる(SB83)。その後、SVP11は、応答をクラスタ1−0に送信する(SB84)。その応答の送信により、コンソール切断通知の受信による一連の処理が終了する。
このようにして、HWコンソール2と接続中のクラスタ1は、HWコンソール2が正常に動作するか否かの確認を行い、HWコンソール2が正常に動作しない場合に、動作中の全てのクラスタ1を接続許可状態ST1に移行させる。そのため、正常に動作する状態に復帰したHWコンソール2は、任意のクラスタ1との接続を行うことができる。
クラスタ1も、HWコンソール2と接続中のクラスタ1を含め、正常に動作しなくなる可能性がある。HWコンソール2と接続中のクラスタ1が、何らかの理由によって正常に動作しない、或いは他のクラスタ1との通信が行えなくなった場合、他の動作中の全てのクラスタ1は、接続不許可状態ST2にある。従って、その場合、オペレータはHWコンソール2を別のクラスタ1と接続させることができなくなる状況となる。このことから、本実施形態では、HWコンソール2と接続していないクラスタ1に、そのような状況が発生したか否かを監視させるようにしている。それにより、そのような状況が発生した場合、動作中のクラスタ1は全て接続許可状態ST1に移行させるようにしている。その移行により、HWコンソール2がクラスタ1と接続できなくなる状況となるのを回避させることができ、コンピュータシステムはより安定的な運用を行えるようになる。
HWコンソール2と接続中のクラスタ1は、HWコンソール2からの要求に応じた処理を行わなければならない。そのため、HWコンソール2と接続していないクラスタ1より負荷が重くなっている可能性が高い。このことから、本実施形態では、HWコンソール2と接続していないクラスタ1に上記監視を行わせるようにしている。その監視は、HWコンソール2と接続中のクラスタ1に行わせても良い。
図14は、コンソール接続パス監視処理のフローチャートである。このコンソール接続パス監視処理は、HWコンソール2と接続していないクラスタ1が、動作中と認識している他のクラスタ1の動作状態を監視するために実行する処理であり、例えば予め定めたタイミングで実行される。より具体的には、コンソール接続パス監視処理は、例えばHWコンソール2と接続していないクラスタ1のうちの何れかが、所定時間が経過する毎に実行される。コンソール接続パス監視処理は、その実行頻度がクラスタ1によって大きく異なるようなことを回避するために、実行頻度の小さい、或いはコンソール接続パス監視処理を実行してからの経過時間が長いクラスタ1に実行させるのが望ましい。
図14には、コンソール接続パス監視処理のフローチャートの他に、動作中の他のクラスタ1(図14中「投入済み他クラスタ」と表記)が実行する処理のフローチャートも併せて表している。それにより、次に図14を参照して、1台のクラスタ1がコンソール接続パス監視処理を実行する場合に、他のクラスタ1が実行する処理についても併せて詳細に説明する。ここでは説明上、便宜的に、コンソール接続パス監視処理を実行するクラスタ1としてクラスタ1−0、他のクラスタ1としてクラスタ1−1を想定する。図14に表すコンソール接続パス監視処理は、主にコンソール接続パス監視プログラム183によって実現される。クラスタ1−1のSVP11の処理は、主にステータス更新プログラム185によって実現される。
クラスタ1−0のSVP11は、先ず、クラスタ構成テーブル163上で電源の投入を確認できる全ての他のクラスタに、コンソール接続ステータスデータの送信を要求するためのメッセージであるコンソール接続ステータス要求を送信する(SA101)。その後、SVP11は、規定時間が経過するまでの間に受信する応答に対応するための処理を実行する(SA102〜SA104)。その処理は、規定時間が経過することでSA102の判定がYesになる、或いは規定時間が経過する前に全ての応答を受信することでSA104の判定がYesとなるまで行われる。SA102或いはSA104でYesと判定された場合、SA105に移行する。
コンソール接続ステータス要求が送信されたクラスタ1−1のSVP11は、SCA12を介して、受信されたコンソール接続ステータス要求を受け取る(SB101)。SVP11は、コンソール接続ステータス要求の受信により、コンソール接続ステータステーブル171に格納されている自クラスタ1−1のコンソール接続ステータスデータを応答に付加して送信する(SB102)。
コンソール接続ステータス要求を送信したクラスタ1−0のSVP11は、その応答の受信により、応答を送信した各クラスタ1の通信状態を認識することができる。SA105では、SVP11は、受信した応答から、接続中、或いは接続可能なクラスタ1が有るか否か判定する。接続状態ST3或いは接続許可状態ST1のクラスタ1が存在しないことは、現在、HWコンソール2と接続中のクラスタ1、及びHWコンソール2と接続可能なクラスタ1の何れも存在しないことを意味する。このことから、接続状態ST3のクラスタ1、及び接続許可状態ST1のクラスタ1の何れも存在しない場合、SA105の判定はNoとなってSA106に移行する。接続状態ST3のクラスタ1、或いは接続許可状態ST1のクラスタ1が存在する場合、SA105の判定はYesとなり、ここでコンソール接続パス監視処理が終了する。
SA106では、SVP11は、接続許可状態ST1を設定するために、自クラスタ1−0のコンソール接続ステータスデータを更新し、応答を受信した各クラスタ1の接続許可状態ST1の設定を想定したクラスタ構成テーブル163の更新を行う。次にSVP11は、更新後のクラスタ構成テーブル163に格納された各クラスタ1のコンソール接続ステータスデータを付加したメッセージであるクラスタ構成テーブル通知を、応答を受信した全てのクラスタ1に送信する(SA107)。
その後、SVP11は、規定時間が経過するまでの間に受信する応答に対応するための処理を実行する(SA108〜SA110)。その処理は、規定時間が経過することでSA108の判定がYesになる、或いは規定時間が経過する前に全ての応答を受信することでSA110の判定がYesとなるまで行われる。SA108或いはSA110でYesと判定された後、コンソール接続パス監視処理が終了する。
クラスタ構成テーブル通知が送信されたクラスタ1−1のSVP11は、SCA12を介して、受信されたクラスタ構成テーブル通知を受け取る(SB103)。SVP11は、クラスタ構成テーブル通知の受信により、クラスタ構成テーブル通知に付加された全てのコンソール接続ステータスデータをクラスタ構成テーブル163に格納する(SB104)。次にSVP11は、自クラスタ1−1のコンソール接続ステータスデータをコンソール接続ステータステーブル171に反映させる(SB105)。その後、SVP11は、応答をクラスタ1−0に送信する(SB106)。その応答の送信により、クラスタ1−0のSVP11によるコンソール接続パス監視処理の実行に対応するための一連の処理が終了する。クラスタ1−0がクラスタ構成テーブル通知を送信しない場合には、一連の処理はSB102の実行後に終了する。
このようにして、本実施形態では、HWコンソール2が新たにクラスタ1と接続できない状況となった場合、動作中の全てのクラスタ1を接続許可状態ST1に強制的に移行させる。その結果、オペレータは、接続中のクラスタ1が正常に動作しなくなったとしても、他のクラスタ1を対象にした作業を継続して行うことができる。
クラスタ1では、HWコンソール2のオペレータに通知すべき情報が発生する場合がある。例えば故障、若しくはエラーが発生した場合、そのことをオペレータに認識させる必要がある。このことから、本実施形態では、オペレータに通知すべき情報が発生したクラスタ1に、その情報の内容をオペレータに通知するためのメッセージであるアラームメッセージ出力要求をHWコンソール2に送信させるようにしている。
クラスタ1側のなかでHWコンソール2と通信を行える状態になっているのは、1台のみである。接続していないクラスタ1は、直接、HWコンソール2にアラームメッセージ出力要求を送信することはできない。このことから、本実施形態では、接続していないクラスタ1は、接続しているクラスタ1を介して、アラームメッセージ出力要求を送信するようにさせている。そのように、接続しているクラスタ1を介したアラームメッセージ出力要求の転送により、全てのクラスタ1は必要なときにアラームメッセージ出力要求をタイムリにHWコンソール2に送信することができる。
図15は、アラームメッセージ出力処理のフローチャートである。このアラームメッセージ出力処理は、HWコンソール2に送信すべきアラームメッセージ出力要求が発生した場合に、そのアラームメッセージ出力要求を直接、或いは間接的にHWコンソール2に送信するために実行される処理である。このアラームメッセージ出力処理の実行により、クラスタ1はHWコンソール2に必要なデータを直接、或いは間接的に送信することができる。
図15には、アラームメッセージ出力処理のフローチャートの他に、HWコンソール2と接続中のクラスタ1が実行するメッセージ転送処理、及びHWコンソール2が実行する処理も併せて表している。メッセージ転送処理は、接続していないクラスタ1からの要求により、アラームメッセージ出力要求をHWコンソール2に転送するために実行される処理である。それにより、最後に図15を参照して、接続していないクラスタ1がアラームメッセージ出力処理を実行する場合に、接続しているクラスタ1、及びHWコンソール2がそれぞれ実行する処理についても併せて詳細に説明する。
ここでは説明上、便宜的に、アラームメッセージ出力処理を実行するクラスタ1としてクラスタ1−0、メッセージ転送処理を実行する他のクラスタ1としてクラスタ1−1を想定する。図15に表すアラームメッセージ出力処理は、主にメッセージ転送プログラム161によって実現される。クラスタ1−1のSVP11が実行するメッセージ転送処理も同様に、主にメッセージ転送プログラム161によって実現される。HWコンソール2が実行する処理は、主にデータ送受信制御プログラム226によって実現される。
アラームメッセージ出力要求を送信すべき状況となったクラスタ1−0のSVP11は、先ず、リトライ回数に初期値を設定(代入)する(SA131)。リトライ回数は、実際には、アラームメッセージ出力要求の転送を他のクラスタ1に依頼した回数を計数するための変数であり、その初期値とは、例えば「0」である。本実施形態では、転送の依頼回数を計数することにより、転送を依頼する回数は予め設定した上限までとしている。
次にSVP11は、自クラスタ1−0のコンソール接続ステータスデータの接続状況情報の値が「1」か否か判定する。HWコンソール2と接続している場合、接続状況情報の値として「1」が設定されている。このため、HWコンソール2と接続している場合、SA132の判定はYesとなってSA133に移行する。HWコンソール2と接続していない場合、SA133の判定はNoとなってSA135に移行する。
SA133では、SVP11は、HWコンソール2宛てにアラームメッセージ出力要求を送信する。次にSVP11は、HWコンソール2から応答を受信するのを待つ(SA134)。応答を受信した後、アラームメッセージ出力処理が終了する。
アラームメッセージ出力要求が送信されたHWコンソール2は、そのアラームメッセージ出力要求を受信する(SC131)。アラームメッセージ出力要求を受信したHWコンソール2は、そのアラームメッセージ出力要求によって特定されるアラームメッセージをディスプレイ240に出力させる(SC132)。その後、アラームメッセージ出力要求の受信に係わる一連の処理が終了する。
アラームメッセージの出力は、データ送受信制御プログラム226からの要求により、出力制御プログラム222が行う。出力するアラームメッセージのデータは、例えば文字パタン情報232を用いて生成される。
上記SA132の判定がNoとなってSA135に移行したクラスタ1−0のSVP11は、クラスタ構成テーブル163を参照して、HWコンソール2と接続中のクラスタ1−1を確認する。次にSVP11は、確認したクラスタ1−1に、アラームメッセージ出力要求の転送を要求するためのメッセージであるアラームメッセージ転送要求を送信する(SA136)。アラームメッセージ出力要求は、アラームメッセージ転送要求に付加されてクラスタ1−1に送信される。
クラスタ1−1のSVP11は、SCA12から、そのSCA12が受信したアラームメッセージ転送要求を受け取る(SB131)。アラームメッセージ転送要求を受け取ったSVP11は、自クラスタ1−1のコンソール接続ステータスデータを確認し(SB132)、接続状況情報の値が「1」か否か判定する(SB133)。接続状況情報の値が「1」、つまり自クラスタ1−1がHWコンソール2と接続中であった場合、SA133の判定はYesとなってSB134に移行する。接続状況情報の値が「1」でない場合、SA133の判定はNoとなってSB137に移行する。
SB134では、SVP11は、アラームメッセージ転送要求に付加されたアラームメッセージ出力要求をHWコンソール2に送信させる。アラームメッセージ出力要求を送信させたSVP11は、HWコンソール2から応答を受信するのを待つ(SB135)。応答を受信すると、SVP11は、アラームメッセージ出力要求の転送が正常に終了した旨を表す終了ステータスを格納した応答をクラスタ1−0に送信する(SB136)。その応答の送信により、メッセージ転送処置が終了する。
一方、SB137では、SVP11は、アラームメッセージ出力要求の転送にエラーが発生した旨を表す終了ステータスを格納した応答をクラスタ1−0に送信する。その応答の送信により、メッセージ転送処置が終了する。
アラームメッセージ転送要求を送信した後のクラスタ1−0のSVP11は、クラスタ1−1から応答を受信するのを待つ(SA137)。応答を受信すると、SVP11は、受信した応答の終了ステータスが正常を表しているか否か判定する(SA138)。終了ステータスが正常を表していた場合、SA138の判定はYesとなり、アラームメッセージ出力処理はここで終了する。終了ステータスが正常を表していない場合、SA138の判定はNoとなってSA139に移行する。
SA139では、SVP11は、リトライ回数に1を加算する。次にSVP11は、リトライ回数は規定回数以内か否か判定する(SA140)。リトライ回数が規定回数以内であった場合、つまりアラームメッセージ転送要求の送信によって他のクラスタ1にアラームメッセージ出力要求の転送を依頼した回数が上限に達していない場合、SA140の判定はYesとなって、上記SA135に戻る。それにより、再度、アラームメッセージ転送要求の送信を行う。一方、リトライ回数が規定回数より大きい場合、SA140の判定はNoとなり、ここでメッセージ出力処理が終了する。
このようにして、アラームメッセージ出力要求を送信すべき状況となったクラスタ1は、HWコンソール2と接続中か否かにより、直接、或いは間接的にHWコンソール2にアラームメッセージ出力要求を送信する。そのため、オペレータにとっては、HWコンソール2と接続させているか否かに係わらず、動作中の各クラスタ1の状態等をタイムリに把握することができる。
なお、本実施形態では、各クラスタ1がそれぞれ他のクラスタ1の通信状態を認識し、自クラスタ1の通信状態の移行を行っているが、各クラスタ1の通信状態を認識するクラスタ1は限定しても良い。つまり、各クラスタ1の通信状態を認識し、他のクラスタ1の通信状態の移行を管理するクラスタ1を1台以上、用意するようにしても良い。このことは、通信状態を移行させるための制御は、通知を送信する側、通知を受信する側の何れに行わせても良いことを意味する。
また、HWコンソール2と接続中のクラスタ1の認識は、接続状態ST3への移行時、及びHWコンソール2の正常動作が確認できない状況での接続状態ST3から接続許可状態ST1への移行時の通知により行うようになっている。しかし、通知を送信するタイミング、及び通知を送信する順序等は、本実施形態に限定されない。それらは、様々な変形が可能である。
HWコンソール2は、現在、接続中のクラスタ1−0に、接続パス切り替え指示を送信する(SC51)。次にHWコンソール2は、新しい接続先の設定を行う(SC52)。その設定により、使用ゲートウェイ番号233として、新しい接続先のゲートウェイ番号が格納される。また、接続状態情報234の値は「0」に更新される。使用ゲートウェイ番号233の更新は、ゲートウェイ選択制御プログラム227によって行われ、接続状態情報234の更新は、接続制御プログラム238によって行われる。そのような設定の変更により、接続パス切り替え指示の送信による一連の処理が終了する。
Claims (7)
- 複数のコンピュータとデータ処理装置の間のネットワークを介した通信を確立するための方法であって、
前記複数のコンピュータが、それぞれ、前記データ処理装置との間の通信状態に変化が生じた場合に、該通信状態の変化を他のコンピュータに通知し、
前記通信状態変化の通知に基づいて、該複数のコンピュータのなかで該データ処理装置と通信を確立しているコンピュータを認識し、
前記複数のコンピュータがそれぞれ、前記データ処理装置と通信を確立していると認識したコンピュータの数が予め定めた所定数以下である場合に、該データ処理装置からの要求により前記データ処理装置との間の通信を確立する、
ことを特徴とする通信確立方法。 - 請求項1記載の通信確立方法であって、
前記データ処理装置と通信を確立しているコンピュータは、
前記データ処理装置が正常に動作するか否か監視し、
該監視により該データ処理装置が正常に動作していないと判別した場合に、該データ処理装置との通信が終了したことを他のコンピュータに通知する。 - 請求項1記載の通信確立方法であって、
前記コンピュータは、他のコンピュータの通信状態を確認し、
該確認の結果を基に、他のコンピュータに通信状態を移行させる。 - 請求項1記載の通信確立方法であって、
前記データ処理装置との間の通信を確立していないコンピュータは、前記データ処理装置に送信すべきデータが発生した場合、送信すべきデータの該データ処理装置への転送を前記データ処理装置との間で通信を確立しているコンピュータに依頼し、
前記データ処理装置との間で通信を確立しているコンピュータは、前記依頼により、前記送信すべきデータを前記データ処理装置に転送する。 - 複数のコンピュータと、前記コンピュータとネットワークを介して接続されるデータ処理装置とを備えたコンピュータシステムにおいて、
前記コンピュータはそれぞれ、
前記データ処理装置との通信を確立している他のコンピュータ認識する認識手段と、
前記認識手段の認識結果を基に、前記複数のコンピュータによる前記データ処理装置との通信を管理し、該複数のコンピュータのなかで該データ処理装置と同時に通信する第1のコンピュータの数を制限する管理手段と、
を具備することを特徴とするコンピュータシステム。 - ネットワークを介した通信が可能なコンピュータにおいて、
前記ネットワークに他のコンピュータ及びデータ処理装置が接続されている場合に、該データ処理装置との通信を確立している他のコンピュータを認識する認識手段と、
前記データ処理装置との通信を、前記認識手段の認識結果を基に行う通信制御手段と、
を具備することを特徴とするコンピュータ。 - ネットワークを介した通信が可能なコンピュータに、
前記ネットワークに複数の他のコンピュータ、及びデータ処理装置が接続されている場合に、該複数の他のコンピュータのなかで該データ処理装置との通信を確立している他のコンピュータである第1のコンピュータを認識し、
前記データ処理装置との通信の確立を、前記第1のコンピュータの認識結果を基に行う処理を実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013529830A JPWO2013027298A1 (ja) | 2011-08-25 | 2011-08-25 | 通信確立方法、コンピュータシステム、及びコンピュータ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013529830A JPWO2013027298A1 (ja) | 2011-08-25 | 2011-08-25 | 通信確立方法、コンピュータシステム、及びコンピュータ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2013027298A1 true JPWO2013027298A1 (ja) | 2015-03-05 |
Family
ID=52697067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013529830A Withdrawn JPWO2013027298A1 (ja) | 2011-08-25 | 2011-08-25 | 通信確立方法、コンピュータシステム、及びコンピュータ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPWO2013027298A1 (ja) |
-
2011
- 2011-08-25 JP JP2013529830A patent/JPWO2013027298A1/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7525218B2 (en) | Uninterruptible power supply, uninterruptible power supply system and shutdown processing program product | |
JP5561622B2 (ja) | 多重化システム、データ通信カード、状態異常検出方法、及びプログラム | |
JP2007304687A (ja) | クラスタ構成とその制御手段 | |
US20130262700A1 (en) | Information processing system and virtual address setting method | |
JP2007011672A (ja) | Raid装置、通信接続監視方法及びプログラム | |
JP2010055284A (ja) | 記憶装置 | |
US7499987B2 (en) | Deterministically electing an active node | |
JP2011065480A (ja) | 電源制御装置及びその制御方法並びにストレージシステム | |
JP5022062B2 (ja) | プールi/oデバイス動作確認方法、及び計算機システム | |
JP5112246B2 (ja) | ストレージシステム及び通信方法 | |
JP4806382B2 (ja) | 冗長化システム | |
WO2013027298A1 (ja) | 通信確立方法、コンピュータシステム、及びコンピュータ | |
JPWO2013027298A1 (ja) | 通信確立方法、コンピュータシステム、及びコンピュータ | |
JP4630234B2 (ja) | 二重系システム | |
JPWO2007099587A1 (ja) | コンピュータシステム及びコンピュータシステム構成方法 | |
JP4893731B2 (ja) | 通信制御装置 | |
JP4483947B2 (ja) | 入出力制御装置 | |
JP4816983B2 (ja) | ディスクアレイ装置、ディスクアレイ装置における電源制御方法及び電源制御プログラム | |
JP2008204113A (ja) | ネットワーク監視システム | |
JP5609272B2 (ja) | サーバ装置、サーバシステム及びサーバ装置の制御方法 | |
JP2007213411A (ja) | バスブリッジ装置 | |
JP5549688B2 (ja) | 情報処理システム、及び、情報処理システムの制御方法 | |
JP2006309292A (ja) | サーバ装置、サーバシステム、及びサーバシステムでの系切り換え方法 | |
JP4871832B2 (ja) | 計算機システム | |
JP2013250732A (ja) | ブレードサーバシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140228 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140228 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20141110 |