まず、本実施例に係るブレード型システムの構成について説明する。図1は、本実施例に係るブレード型システムの構成を示す機能ブロック図である。同図に示すように、このブレード型システム20は、ネットワーク13を介してクライアント11および12にWebサービス、電子メールサービスなどのアプリケーションサービスを提供するアプリケーションサーバ14および15とクライアント11および12との間で通信を中継し、アプリケーションサーバ14および15ならびにアプリケーションサーバを切り替えるスイッチ16とともにブレード型サーバシステム1を構成する。
なお、ここでは説明の便宜上、2台のクライアントおよび2台のアプリケーションサーバのみを示したが、ネットワーク13には任意の台数のクライアントが接続され、ブレード型サーバシステム1は任意の台数のアプリケーションサーバから構成される。
ブレード型システム20は、アプリケーションサーバ14および15に関する負荷分散、セキュリティ管理、帯域制御、SSL−VPNアクセラレータ等の機能を有し、機能ブレード21〜23と、ルータ・スイッチブレード24と、管理ブレード25とを有する。
なお、ここでは説明の便宜上、3台の機能ブレードのみを示すが、ブレード型システム20は、より多くの機能ブレードを備えることができる。また、機能ブレード21〜23は、同一の機能構成を有するので、ここでは、機能ブレード21について説明する。また、管理ブレード25は、運用系と待機系の2台があるが、同一の機能構成を有するので、図1では1台の管理ブレード25のみを示す。
機能ブレード21は、各クライアントと各クライアントに振分けられたアプリケーションサーバとの間のコネクションを担う装置であり、IF部211と、記憶部212と、制御部213とを有する。
IF部211は、ルータ・スイッチブレード24と通信を行うためのインタフェースであり、具体的には、ネットワークインタフェースカード(以下「NIC」という。)である。
記憶部212は、ハードディスクドライブ(以下「HDD」という。)などの記憶装置であり、構成情報記憶部212aと、コネクション情報記憶部212bとを有する。構成情報記憶部212aは、管理ブレード25から送られてくる構成情報を記憶する記憶部であり、コネクション情報記憶部212bは、クライアントとアプリケーションサーバとの通信に必要な通信プロトコルに関する情報であるコネクション情報(ポート番号やIPアドレス等)を記憶する記憶部である。
制御部213は、記憶部212を用いて機能ブレード21を制御する制御部であり、装置二重化部213aを有する。装置二重化部213aは、構成情報記憶部212aが記憶する構成情報に基づいて、コネクション情報を共有する二重系を構成する処理を行う処理部である。すなわち、この装置二重化部213aは、n運用m待機ホットスタンバイ構成を確立するために必要な機能として、機能ブレードの生存の通知機能、ネゴシエーション機能、待機から運用への切替え機能などを有する。
ルータ・スイッチブレード24は、ネットワーク13を介してクライアント11および12と通信を行うとともに、管理ブレード25、機能ブレード21〜23の間の通信を中継するルータであり、コネクション振分け部241を有する。
コネクション振分け部241は、管理ブレード25からコネクション振分けルールを受付け、受付けたコネクション振分けルールに基づいてコネクションを特定の機能ブレードに振分ける処理部である。
ここで、コネクション振分けルールとは、各機能ブレードのコネクション配置方式の情報に基づいて管理ブレード25によって作成されるルールである。例えば、全ての機能ブレードのコネクション配置方式が「コネクション均等配置」である場合には、コネクションを機能ブレードに均等に振り分けることがコネクション振分けルールとなる。また、ある機能ブレードAのコネクション配置方式が最大コネクション数を指定し、残りの機能ブレードのコネクション配置方式が「コネクション均等配置」である場合には、コネクションを機能ブレードに均等に振分けていき、機能ブレードAのコネクション数が最大コネクション数に達した場合には、残りの機能ブレードにコネクションを振分けることがコネクション振分けルールとなる。
また、コネクション振分け部241は、コネクションが移動される際に、管理ブレード25からの指示に基づいて移動されるコネクションに対応するパケットの振分けを一時的に停止する。
管理ブレード25は、機能ブレード21〜23の運用を管理するブレードであり、IF部251と、入力部252と、表示部253と、記憶部254と、制御部255とを有する。
IF部251は、ルータ・スイッチブレード24と通信を行うためのインタフェースであり、具体的には、NICである。入力部252は、ユーザが指示を入力する場合に使用する操作端末であり、キーボードやマウスなどである。表示部253は、ブレード型システム20の状態の表示やユーザが指示の入力に使用する表示装置である。
記憶部254は、HDDなどの記憶装置であり、構成情報記憶部254aを有する。構成情報記憶部254aは、ブレード型システム20のホットスタンバイ構成情報を記憶する記憶部である。
図2は、ホットスタンバイ構成情報の一例を示す図である。同図に示すように、このホットスタンバイ構成情報には、ホットスタンバイ構成情報を識別するためのHSグループ名、機能ブレードの搭載スロットを示す搭載位置、ホットスタンバイにおける運用機能ブレード数および待機機能ブレード数を示すHS構成、各運用ブレードおよび待機ブレードの構成情報が含まれる。具体的には、「構成情報1」、「構成情報2」は、属性が運用である機能ブレードの構成情報であり、「待機構成情報」は、属性が待機である機能ブレードの構成情報である。
また、各構成情報には、運用−待機のペアを識別するための識別ID、機能ブレードに割り当てられる個別のIPアドレスであってブレード型システム20内で通信を行うときに使用される個別IPアドレス、ブレード型サーバシステム1にクライアント11および12がアクセスする場合に使用するIPアドレスである代表IPアドレス、コネクション配置方式の情報が含まれる。
ここで、コネクション配置方式は、コネクション振分けルールの作成に使用される情報であり、具体的には、「コネクション均等配置」、「優先的コネクション配置」、コネクションの最大数などである。
図1に戻って、制御部255は、記憶部254を用いて管理ブレード25を制御する制御部であり、環境構築部255aと、ブレード検出部255bと、ブレード故障検出部255cと、ブレード削除部255dと、ブレードコネクション管理部255eとを有する。
環境構築部255aは、ホットスタンバイ構成情報から仮想的な構成を構築し、ブレード検出部255bが機能ブレードの搭載を検出した際に、その機能ブレードに対応する構成情報をローディングできるように環境構築を行う処理部である。
ブレード検出部255bは、機能ブレードの搭載を検出し、ホットスタンバイ構成情報から構成情報を順次取り出して、検出した機能ブレードにローディングする処理部である。また、このブレード検出部255bは、構成情報の機能ブレードへのローディングを完了すると、ブレードコネクション管理部255eにブレード組込通知を行い、その際に、構成情報の中のコネクション配置方式の情報も通知する。
ブレード故障検出部255cは、機能ブレードの異常を検出し、異常が検出された機能ブレードの故障により影響を受ける機能ブレードに対して切替え指示を行う処理部である。ここで、影響を受ける機能ブレードとは、故障した機能ブレードが運用ブレードである場合に、故障した運用ブレードに対する待機ブレード、およびその待機ブレードを待機ブレードとしている全ての運用ブレードである。ただし、故障した機能ブレードは影響を受ける機能ブレードから除かれる。
また、このブレード故障検出部255cは、待機ブレードから切替え応答を受けると、異常を検出した機能ブレードの構成情報を待機ブレードにローディングし、ブレードコネクション管理部255eに切替え通知を行う。
ブレード削除部255dは、操作端末から機能ブレードの削除指示を受付け、削除対象の機能ブレードに対してコネクションの引継ぎの準備をさせる処理部である。なお、削除対象の機能ブレードが行うコネクションの引継ぎの準備の詳細については後述する。
ブレードコネクション管理部255eは、機能ブレードのコネクション配置を管理する管理部であり、コネクション配置方式の情報に基づいてコネクション振分けルールを作成してルータ・スイッチブレード24のコネクション振分け部241に通知する。
また、このブレードコネクション管理部255eは、機能ブレードの増設や削減の際に、コネクション配置方式の情報に基づいてコネクション配置の再評価を行い、コネクションの移動が必要と判断した場合には、コネクションの移動元および移動先の機能ブレードならびにルータ・スイッチブレード24を制御してコネクションの移動を行わせる。
このブレードコネクション管理部255eが、ルータ・スイッチブレード24に対するコネクション振分けルールの通知や、コネクション配置の再評価に基づくコネクションの移動制御を行うことによって、機能ブレード間でコネクションを適切に配置することができる。
以下、本実施例に係るブレード型システム20の処理について図3〜図17を用いて説明する。まず、図3〜図8を用いてホットスタンバイ構成確立までの処理について説明する。図3は、ブレード検出部255bによる機能ブレード検出処理を説明するための説明図である。
機能ブレードにはグローバルMACアドレスを持つNICが複数搭載されており、機能ブレードは初期状態では図4に示すようなリンクローカルIPアドレスをMACアドレスから自動生成する。図4に示すように、リンクローカルIPアドレスは、前半64バイトがX’fe80’を先頭2バイトとするネットワークアドレスであり、後半64バイトがMACアドレスである。ブレード検出部255bは、機能ブレードの搭載を機能ブレードに搭載されたリンクローカルIPアドレスの近隣探索により検出する。
あるいは、機能ブレードは、初期状態で図5に示すようなリンクローカルIPアドレスを搭載位置IDから自動生成する。図5に示すように、このリンクローカルIPアドレスは、前半64バイトがX’fe80’を先頭2バイトとするネットワークアドレスであり、後半64バイトが搭載位置IDである。ブレード検出部255bは、機能ブレードのハード的な接触から搭載位置を検出し、機能ブレードの搭載を検出する。(ブレード検出部255bは、機能ブレードの検出搭載位置から機能ブレードのリンクローカルIPアドレスを自動認識する。)
図6は、ブレード型システム20によるホットスタンバイ構成確立処理を説明するための説明図である。ブレード検出部255bは、機能ブレード21〜23のリンクローカルIPアドレスあてに構成情報を送り込む。すると、機能ブレード21〜23は、送り込まれた構成情報を展開し、構成情報の識別ID、運用・待機の属性情報、代表IPアドレス、個別IPアドレスを設定する。
ここで、構成情報を送り込む制御パケット(構成情報転送制御パケット)としては、VRRPをベースとした拡張プロトコルを使用し、データ部に構成情報を含めることとする。図7は、制御パケットの構成を示す図である。同図に示すように、制御パケットは、IPヘッダ、VRRPヘッダ、VRRP拡張ヘッダ、構成情報から構成される。ここで、VRRP拡張ヘッダには以下のデータが存在する。
バージョン情報:プロトコル世代
制御データ種別:制御パケットの種別
識別ID:ペア識別用
メッセージ長:制御パケットのデータ長
制御パケット通番:制御パケットの順序制御用番号
なお、制御パケットには、自装置生存制御パケット、ネゴシエーション要求制御パケット、ネゴシエーション応答制御パケット、切替え通知制御パケット、切替え指示制御パケット、切替え応答制御パケットなどがある。また、制御パケットの判定は、拡張ヘッダに存在する制御データ種別による。
自装置生存制御パケットとは、機能ブレードが他の機能ブレードに対し自己の生存を示す情報である生存情報を定期的に送信する制御パケットであり、自装置生存制御パケットの送信が途絶えると管理ブレード25はその機能ブレードが故障したことを検出する。
ネゴシエーション要求制御パケットは、運用ブレードと待機ブレードとの間で二重系を構成するためのネゴシエーションを要求する制御パケットであり、運用ブレードから待機ブレードに送信される。また、ネゴシエーション応答制御パケットは、ネゴシエーション要求制御パケットに応答する制御パケットであり、待機ブレードから運用ブレードに送信される。
切替え通知制御パケットは、故障した運用ブレードが管理ブレード25に送信する制御パケットであり、故障を通知する。また、切替え指示制御パケットは、故障した機能ブレードから切替え通知制御パケットを受信した管理ブレード25が、故障により影響を受ける機能ブレードに対して切替え指示を行う制御パケットである。
この切替え指示制御パケットを受信すると、切替え指示制御パケットに含まれる識別IDに一致しない機能ブレードは、二重系を解消し、単独動作に移行してコネクション情報の送信を停止し、識別IDに一致する待機ブレードは、管理ブレード25に切替え応答制御パケットを送信し、運用ブレードに移行することを通知する。
図6に戻って、機能ブレードは構成情報を設定後、装置二重化部213a〜233aにより、一定間隔で自装置生存制御パケットを個別IPアドレスの属するサブネットワーク内に送信する。そして、装置二重化部213aおよび223aは、機能ブレードのペアとなる機能ブレード23からの自装置生存制御パケットを受信すると、装置二重化状態に移行するため、ネゴシエーション要求制御パケットを送信し、ネゴシエーション応答制御パケットの受信を待つ。そして、ネゴシエーション応答制御パケットを受信すると、装置二重化部213aおよび223aは、装置二重化動作を開始し、機能ブレード23へのコネクション情報の転送を可能にする。
図8は、ホットスタンバイ構成確立までのブレード型システム20の処理手順を説明するための説明図である。同図に示すように、ブレード型システム20は、以下の手順でホットスタンバイ構成を確立する。
(1)管理ブレード25は、機能ブレード21の搭載を検出すると、検出した搭載位置から所属するホットスタンバイグループの構成情報を特定し、最初の運用属性の構成情報を、検出した機能ブレード21にローディングする。機能ブレード21は、ローディングされた構成情報を展開し設定を行った後、単独動作を開始するため、自装置生存制御パケットを一定間隔で送信する。
(2)管理ブレード25は、次の機能ブレード22の搭載を検出すると、検出した搭載位置から所属するホットスタンバイグループの構成情報を特定し、次の運用属性の構成情報を、検出した機能ブレード22にローディングする。機能ブレード22は、ローディングされた構成情報を展開し設定を行った後、単独動作を開始するため、自装置生存制御パケットを一定間隔で送信する。
(3)管理ブレード25は、次の機能ブレード23の搭載を検出すると、検出した搭載位置から所属するホットスタンバイグループの構成情報を特定し、次の運用属性の構成情報を探すが、ホットスタンバイグループの構成情報に次の運用属性の構成情報がないため、待機属性の構成情報を、検出した機能ブレード23にローディングする。機能ブレード23は、ローディングされた構成情報を展開し設定を行った後、単独動作を開始するため、自装置生存制御パケットを一定間隔で送信する。なお、待機属性の構成情報に複数の識別IDが存在する場合は、識別ID単位に自装置生存制御パケットを送信する。
(4)機能ブレード21は、ペアとなる機能ブレード23からの自装置生存制御パケットを受信すると、装置二重化状態に移行するため、ネゴシエーション要求制御パケットを送信し、ネゴシエーション応答制御パケットの受信を待つ。そして、ネゴシエーション応答制御パケットを受信すると、それぞれの機能ブレード21,23は、装置二重化動作を開始し、運用属性の機能ブレード21から待機属性の機能ブレード23にコネクション情報を転送可能にする。
(5)機能ブレード22は、ペアとなる機能ブレード23からの自装置生存制御パケットを受信すると、装置二重化状態に移行するため、ネゴシエーション要求制御パケットを送信し、ネゴシエーション応答制御パケットの受信を待つ。そして、ネゴシエーション応答制御パケットを受信すると、それぞれの機能ブレード22,23は、装置二重化動作を開始し、運用属性の機能ブレード22から待機属性の機能ブレード23にコネクション情報を転送可能にする。
次に、管理ブレード25による機能ブレード故障検出処理について図9〜図11を用いて説明する。図9は、ブレード故障検出部255cによる機能ブレード故障検出処理を説明するための説明図である。
同図に示すように、管理ブレード25のブレード故障検出部255cは、故障した機能ブレード22からの切替え通知制御パケットの受信、または自装置生存制御パケットの途絶検出により、機能ブレード22の故障を認識する。そして、ブレード故障検出部255cは、機能ブレード22の故障を検出すると、ここでは待機属性の機能ブレードは機能ブレード23だけであるので、ホットスタンバイグループ内の故障した機能ブレード22を除くすべての機能ブレードに故障した機能ブレード22の持つ識別IDを設定した切替え指示制御パケットを送信する。
なお、待機属性の機能ブレードがホットスタンバイグループ内に複数存在する場合には、機能ブレード22の故障により影響のある機能ブレードを、ブレード故障検出部255cが割り出し、影響のあるすべての機能ブレードに切替え指示制御パケットを送信する。
そして、切替え指示制御パケットを受信すると、切替え指示制御パケットの識別IDが一致しない機能ブレード21は、切替え指示制御パケットの受信により装置二重化状態を解消し、単独動作に移行してコネクション情報の転送を止める。
また、切替え指示制御パケットの識別IDが一致する機能ブレード23は切替え応答制御パケットを送信して、待機属性から運用属性に移行したことを管理ブレード25に認識させる。このとき、機能ブレード23は、不要なコネクション情報を破棄し、他の機能ブレード(ここでは機能ブレード21)との装置二重化動作を解消する。
そして、ブレード故障検出部255cは切替え応答制御パケットを受信すると、ブレードコネクション管理部255eへブレード切替え通知を行い、故障を検出した機能ブレード22にローディングした構成情報を、切替え応答制御パケットを返した機能ブレード23にローディングする。機能ブレード23は、ローディングされた構成情報を設定し、故障した機能ブレード22から転送されたコネクション情報を展開して、故障した機能ブレード22の制御を引き継ぐ。
なお、待機属性の機能ブレードが故障した場合は、ブレード故障検出部255cは切替え指示制御パケットを送信せず、各運用属性の機能ブレードは、待機属性からの自装置生存制御パケットの途絶により、装置二重化状態を解消し、単独動作に移行する。
図10は、ホットスタンバイグループ内の装置二重化について、ホットスタンバイの状態遷移を示す図である。同図に示すように、初期状態、単独運用状態の後、運用属性の機能ブレードは、運用ネゴ状態、二重化運用状態に遷移し、対応する待機属性のブレードから自装置生存パケット途絶を検出すると単独運用状態に遷移し、待機属性の機能ブレードは、待機ネゴ状態、二重化待機状態に遷移し、切替え指示制御パケットを受信すると単独運用状態に遷移する。なお、図10において、単独運用状態からは、運用属性の機能ブレード分状態が存在し、各々独立して状態が遷移する。
図11は、管理ブレード25による機能ブレード故障検出処理の処理手順を説明するための説明図である。同図に示すように、管理ブレード25は、以下の手順で機能ブレード故障に対応する。
(1)クライアントとサーバが機能ブレード22を経由して通信を行っており、機能ブレード22は、機能ブレード23との間で装置二重化状態の動作に必要な処理を行っている。
(2)機能ブレード22で故障が発生すると、機能ブレード22は、エラー通知できるような軽度の故障の場合は、切替え通知制御パケットを管理ブレード25に送信する。一方、エラー通知できない場合は、機能ブレード22からの自装置生存制御パケットの途絶が発生し、管理ブレード25が機能ブレード22の自装置生存制御パケットの途絶を検出する。これにより管理ブレード25は機能ブレード22の故障を認識する。
(3)管理ブレード25は、機能ブレード22の故障を検出すると、ホットスタンバイグループ内のすべて機能ブレードに故障した機能ブレードの持つ識別IDを設定した切替え指示制御パケットを送信する。そして、制御パケットの識別IDが一致しない機能ブレード(図11では機能ブレード21)は、制御パケットの受信により装置二重化状態を解消し、単独動作に移行してコネクション情報の転送を止める。一方、制御パケットの識別情報が一致する機能ブレード(図11では機能ブレード23)は、切替え応答制御パケットを送信して、待機属性から運用属性に移行することを管理ブレード25に認識させる。このとき、機能ブレード23は、不要なコネクション情報を破棄し、他の機能ブレード21との装置二重化動作を解消する。管理ブレード25は、切替え応答制御パケットを受信すると、故障を検出した機能ブレード22にローディングした構成情報を、切替え応答制御パケットを返した機能ブレード23にローディングする。切替え応答制御パケットを送信した機能ブレード23は、ローディングされた構成情報を展開し設定する。そして、故障した機能ブレード22から転送されたコネクション情報を展開し、故障した機能ブレード22の制御を引き継ぐ。
次に、管理ブレード25による機能ブレードの削除処理について図12および図13を用いて説明する。図12は、管理ブレード25によるホットスタンバイ状態での機能ブレード削除処理を説明するための説明図である。
同図に示すように、管理ブレード25のブレード削除部255dは、操作端末から機能ブレードの削除依頼を受付けると、対象の機能ブレード(ここでは機能ブレード22)に対しブレード削除指示制御パケットを送信し、対象の機能ブレード22にコネクション処理の引継ぎの準備をさせる。
すると、削除対象の機能ブレード22は、ペアとなる待機の機能ブレード(ここでは機能ブレード23)が存在するので、ブレード削除応答制御パケットを管理ブレード25に送信し、削除準備が完了していることを通知し、自装置生存制御パケットの送信を停止する。
すると、管理ブレード25のブレード故障検出部255cは、削除した機能ブレード22からの自装置生存制御パケットの途絶検出により、機能ブレード22の削除を故障と認識する。そして、ブレード故障検出部255cは、機能ブレード22の故障(削除)を検出すると、ここでは待機属性の機能ブレードが一つであるので、ホットスタンバイグループ内の故障(削除)機能ブレード22を除くすべての機能ブレードに故障した機能ブレードの持つ識別IDを設定した切替え指示制御パケットを送信する。
なお、待機属性の機能ブレードがホットスタンバイグループ内に複数存在する場合は、機能ブレード22の故障により影響のある機能ブレードを、ブレード故障検出部255cが割り出し、影響のあるすべての機能ブレードに切替え指示制御パケットを送信する。
そして、切替え指示制御パケットを受信すると、切替え指示制御パケットの識別IDが一致しない機能ブレードは、切替え指示制御パケットの受信により装置二重化状態を解消し、単独動作に移行してコネクション情報の転送を止める。
一方、切替え指示制御パケットの識別IDが一致する機能ブレード(ここでは、待機属性の機能ブレード23)は、切替え応答制御パケットを送信して、待機属性から運用属性に移行することを管理ブレード25に認識させる。このとき、機能ブレード23は、不要なコネクション情報を破棄し、他の機能ブレードとの装置二重化動作を解消する。
そして、ブレード故障検出部255cは、切替え応答制御パケットを受信すると、ブレードコネクション管理部255eへブレード切替え通知を行い、故障(削除)を検出した機能ブレード22にローディングした構成情報を、切替え応答制御パケットを返した機能ブレード23にローディングする。機能ブレード23は、ローディングされた構成情報を設定し、故障した機能ブレード22から転送されたコネクション情報を展開して、故障した機能ブレード22の制御を引き継ぐ。
なお、待機属性の機能ブレードが故障した(削除された)場合は、ブレード故障検出部255cは切替え指示制御パケットを送信せず、各運用属性の機能ブレードは、待機属性からの自装置生存制御パケットの途絶により、装置二重化状態を解消し、単独動作に移行する。
図13は、管理ブレード25による非ホットスタンバイ状態での機能ブレード削除処理を説明するための説明図である。同図に示すように、管理ブレード25のブレード削除部255dは、操作端末から機能ブレードの削除依頼を受付けると、対象の機能ブレード(ここでは機能ブレード22)に対しブレード削除指示制御パケットを送信し、対象の機能ブレード22にコネクション処理の引継ぎの準備をさせる。
すると、削除対象の機能ブレード22は、ペアとなる待機の機能ブレードが存在しないので、ブレードコネクション管理部255eに対し、コネクション委譲要求制御パケットを送信し、他の機能ブレードにコネクションを移動させる要求を行う。
そして、ブレードコネクション管理部255eは、コネクション委譲要求制御パケットを受信すると、他の機能ブレードでのコネクション配置を再評価してコネクションの移動先を決定し、ここでは移動先が機能ブレード21に決定されたとすると、削除対象の機能ブレード22とコネクション移動先の機能ブレード21に対し、コネクション移動指示制御パケットを送信する。同時にルータ・スイッチブレード24のコネクション振分け部241に対し、パケット振分けの一時停止を依頼する。なお、この依頼は、制御パケットまたはコマンドによって行う。
そして、コネクション移動指示制御パケットを受信すると、削除対象の機能ブレード22は該当コネクション情報を削除し、コネクション移動応答制御パケットを送信する。また、コネクション移動先の機能ブレード21は該当コネクション情報を保存し、コネクション移動応答制御パケットを送信する。
そして、ブレードコネクション管理部255eは、移動元(削除対象)と移動先からのコネクション移動応答制御パケットの受信により、コネクションの移動完了を認識する。これにより、ルータ・スイッチブレード24のコネクション振分け部241に、コネクションの振分け先変更を依頼し、該当コネクションのパケット振分けを再開させる。なお、この依頼は、制御パケットまたはコマンドによって行う。
そして、ブレードコネクション管理部255eは、削除対象の機能ブレード22の全てのコネクションに対し、同様の処理によりコネクションを移動させると、削除対象の機能ブレード22に対し、コネクション委譲応答制御パケットを送信する。
そして、削除対象の機能ブレード22はコネクション委譲応答制御パケットを受信すると全てのコネクションが委譲されたことを認識して、ブレード削除応答制御パケットを送信し、自装置生存制御パケットの送信を停止する。
すると、管理ブレード25のブレード故障検出部255cは、削除した機能ブレード22からの自装置生存制御パケットの途絶検出により、機能ブレード22の削除を故障と認識する。そして、ブレード故障検出部255cは、機能ブレード22の故障(削除)を検出すると、ここでは、待機属性の機能ブレードが一つであるので、ホットスタンバイグループ内の故障(削除)機能ブレード22を除くすべての機能ブレードに故障した機能ブレードの持つ識別IDを設定した切替え指示制御パケットを送信する。
なお、待機属性の機能ブレードがホットスタンバイグループ内に複数存在する場合は、機能ブレード22の故障により影響のある機能ブレードを、ブレード故障検出部255cが割り出し、影響のあるすべての機能ブレードに切替え指示制御パケットを送信する。
そして、切替え指示制御パケットを受信すると、切替え指示制御パケットの識別IDが一致しない機能ブレードは、制御パケットの受信により装置二重化状態を解消し、単独動作に移行してコネクション情報の転送を止める。ただし、ここでは非ホットスタンバイ状態のため、故障した機能ブレード22に対応する待機ブレードはなかったので、実際には、装置二重化状態の解消は行われない。
一方、切替え指示制御パケットの識別IDが一致する機能ブレードは、切替え応答制御パケットを送信して、待機属性から運用属性に移行することを管理ブレード25に認識させる。このとき、機能ブレード23は、不要なコネクション情報を破棄し、他の機能ブレードとの装置二重化動作を解消する。ただし、ここでは非ホットスタンバイ状態のため、故障した機能ブレード22に対応する待機ブレードはなかったので、実際には、切替え応答制御パケットの送信は行われない。
このように、非ホットスタンバイ状態で運用属性の機能ブレードが削除される場合に、ブレードコネクション管理部255eが他の運用属性の機能ブレードでのコネクション配置を再評価し、削除される機能ブレードのコネクションを他の機能ブレードに移動することによって、コネクションの有無にかかわらず、運用属性の機能ブレードを削除することができる。
なお、待機属性の機能ブレードが故障した(削除された)場合は、ブレード故障検出部255cは切替え指示制御パケットを送信せず、各運用属性の機能ブレードは、待機属性からの自装置生存制御パケットの途絶により、装置二重化状態を解消し、単独動作に移行する。
次に、ブレード型システム20によるコネクション配置処理について図14および図15を用いて説明する。図14は、ブレード型システム20によるコネクション配置処理を説明するための説明図である。
同図に示すように、管理ブレード25のブレードコネクション管理部255eは、ブレード検出部255bからのブレード組込通知制御パケットの受信により、機能ブレードのコネクション配置方式の情報を受け取る。
ブレードコネクション管理部255eは、各機能ブレードのコネクション配置方式によりコネクション振り分けルールを作成し、ルータ・スイッチブレード24のコネクション振分け部241に対し、作成したコネクション振分けルールを通知する。
すると、コネクション振分け部241は、ブレードコネクション管理部255eから受け取ったコネクション振分けルールに従い、受信したパケットを任意の機能ブレードに振分けて、コネクション振分け情報を学習し、同一コネクションのパケットは同じ機能ブレードに振分けるようにする。
そして、機能ブレードはコネクションを確立するとコネクション情報通知制御パケットをブレードコネクション管理部255eへ送信する。ここで、このコネクション情報通知制御パケットは、複数のコネクション情報を一度に通知可能な可変長制御パケットである。
そして、ブレードコネクション管理部255eは、コネクション情報通知制御パケットを受信することで、各機能ブレードでのコネクションの配置を認識し、コネクション配置方式の配置であることを監視する。その結果、コネクションの配置がコネクション配置方式で指定された配置でない場合には、ユーザに異常を通知する。なお、管理ブレード25は、ブレード組込通知制御パケットまたはコネクション委譲要求制御パケットの受信により、機能ブレードのコネクション配置の評価が必要となることを認識する。
図15は、機能ブレードを追加する場合のブレード型システム20によるコネクション配置処理を説明するための説明図である。同図に示すように、機能ブレード23が追加されると、管理ブレード25のブレードコネクション管理部255eは、ブレード検出部255bからのブレード組込通知制御パケットの受信により、機能ブレード23のコネクション配置方式の情報を受け取る。
そして、ブレードコネクション管理部255eは、各機能ブレードのコネクション情報および配置方式の情報により、コネクション振分けルールを作成してコネクション振分け部241に通知するとともに、機能ブレード間でコネクション移動の必要性があるか評価を行う。
その結果、機能ブレード間のコネクション移動が必要な場合は、ブレードコネクション管理部255eは、コネクション移動元の機能ブレードとコネクション移動先の機能ブレードに対し、コネクション移動指示制御パケットを送信する。ここで、このコネクション移動指示制御パケットは、複数のコネクション情報を一度に通知可能な可変長制御パケットである。
同時に、ブレードコネクション管理部255eは、ルータ・スイッチブレード24のコネクション振分け部241に対し、パケット振分けの一時停止を依頼する。なお、この依頼は、制御パケットまたはコマンドによって行う。
そして、コネクション移動元の機能ブレードは該当コネクション情報を削除し、コネクション移動応答制御パケットを送信する。また、コネクション移動先の機能ブレードは該当コネクション情報を保存し、コネクション移動応答制御パケットを送信する。
そして、ブレードコネクション管理部255eは、移動元と移動先からのコネクション移動応答制御パケットの受信により、コネクションの移動完了を認識する。これにより、ルータ・スイッチブレード24のコネクション振分け部241に、コネクションの振分け先変更を依頼し、該当コネクションのパケット振分けを再開させる。なお、この依頼は、制御パケットまたはコマンドによって行う。そして、ブレードコネクション管理部255eは、上記の処理をコネクションの移動が必要なだけ実施する。
このように、機能ブレードが追加された場合に、ブレードコネクション管理部255eが運用属性の機能ブレードのコネクション情報および配置方式の情報により、機能ブレード間でコネクション移動の必要性があるか評価を行い、コネクション移動の必要性がある場合には、自動的にコネクションの移動を行うことによって、コネクションの配置を各機能ブレードのコネクション配置方式にしたがった適切な配置に迅速に移行することができる。
次に、コネクションの移動例について説明する。図16は、コネクション移動の一例を示す図である。同図は、アドレス体系の異なる「ネットワーク1」、「ネットワーク2」間において、クライアント11およびクライアント12とアプリケーションサーバ14およびアプリケーションサーバ15がブレード型システム20を介して通信を行うとき、ブレード型システム20内で装置故障が発生しても、ホットスタンバイ切替えにより通信を継続する場合を示している。
図16において、ユーザは、機能ブレードをn運用m待機(図16では2運用1待機)のホットスタンバイ構成とする図17に示すようなホットスタンバイ構成情報(以下「HSG情報」という)を作成し、ブレード型システム20の操作端末より、管理ブレード25の環境構築部255aに対して設定を要求する。なお、図17は、一つの構成情報の中に二つの運用−待機ペアの定義が含まれる場合の例を示している。
そして、管理ブレード25のブレード検出部255bがHSG情報の搭載場所に機能ブレード21の搭載を検出すると、HSG情報の構成情報「構成情報1」を、検出した機能ブレード21にローディングし、機能ブレード21はローディングされたHSG情報の構成情報「構成情報1」を展開して運用の設定を行う。
そして、管理ブレード25のブレード検出部255bがHSG情報の搭載場所に機能ブレード22の搭載を検出すると、HSG情報の構成情報「構成情報2」を、検出した機能ブレード22にローディングし、機能ブレード22はローディングされたHSG情報の構成情報「構成情報2」を展開して運用の設定を行う。
そして、管理ブレード25のブレード検出部255bがHSG情報の搭載場所に機能ブレード23の搭載を検出すると、HSG情報のホットスタンバイ構成情報で既に2つの機能ブレードを運用ブレードとして起動しているため、HSG情報の構成情報「待機構成情報」を、検出した機能ブレード23にローディングし、機能ブレード23はローディングされたHSG情報の構成情報「待機構成情報」を展開して待機の設定を行う。
このとき、機能ブレードの組込みが行われる毎に、管理ブレード25のブレード検出部255bは、コネクション配置方式の情報を管理ブレード25のブレードコネクション管理部255eに通知する。管理ブレード25のブレード検出部255bが搭載されたすべての機能ブレード21〜23を検出し、機能ブレード21〜23にHSG情報の構成情報が展開され設定が完了すると、機能ブレード21〜23の装置二重化部213a〜233aが送信する機能ブレード生存情報をそれぞれの機能ブレードの装置二重化部213a〜233aが受信することによりn運用m待機(図16では2運用1待機)のホットスタンバイ構成をブレード間で認識する。
そして、機能ブレードの装置二重化部はホットスタンバイ構成による動作を開始するために、「構成情報1」のホットスタンバイを機能ブレード21と機能ブレード23で、「構成情報2」のホットスタンバイを機能ブレード22と機能ブレード23で機能ブレード間ネゴシエーションを行う。ネゴシエーションが完了するとホットスタンバイ構成での動作が可能となり、「構成情報1」の機能ブレード21と「構成情報2」の機能ブレード22は運用動作状態となる。
そして、管理ブレード25のブレードコネクション管理部255eは、全ての機能ブレードのコネクション配置方式の情報から、コネクション振分けルールを生成し、ルータ・スイッチブレード24のコネクション振分け部241に送信する。
すると、ルータ・スイッチブレード24のコネクション振分け部241は、クライアント11からアプリケーションサーバ14へのコネクション確立を、機能ブレード21に割振り、機能ブレード21はアプリケーションサーバ14への通信を中継し、コネクション情報を待機の機能ブレード23に転送する。同時に、機能ブレード21は管理ブレード25のブレードコネクション管理部255eに対しコネクション情報通知を行う。
また、ルータ・スイッチブレード24のコネクション振分け部241は、全てのコネクション配置方式が均等配置であることに対応するコネクション振分けルールに基づいて、クライアント12からアプリケーションサーバ15へのコネクション確立は、機能ブレード22に割振り、機能ブレード22はアプリケーションサーバ15への通信を中継し、コネクション情報を待機の機能ブレード23に転送する。同時に、機能ブレード22は管理ブレード25のブレードコネクション管理部255eに対しコネクション情報通知を行う。
そして、機能ブレード22で故障が発生すると、管理ブレード25のブレード故障検出部255cが機能ブレード22の故障を検出し、ホットスタンバイグループ内の機能ブレードに対し、機能ブレード23の待機属性から運用属性への変更を通知するため、切替え指示を送信する。
そして、機能ブレード21の装置二重化部213aは切替え指示を受信することで、ホットスタンバイ構成が解消されたことを認識する。また、機能ブレード23の装置二重化部233aは、運用属性に移行するため切替え応答を送信する。
そして、管理ブレード25のブレード故障検出部255cが、切替え応答を受信すると、ブレード検出部255bにより機能ブレード23に対し構成情報「構成情報2」をローディングし、機能ブレード23は構成情報「構成情報2」を展開して設定を行う。そして、機能ブレード23の装置二重化部233aは、運用属性に移行するため、待機属性時の機能ブレード22のコネクション情報を展開し、機能ブレード21のコネクション情報を破棄する。
また、管理ブレード25のブレード故障検出部255cは、機能ブレード22の故障検出により、機能ブレードの切替えを行ったとき、ブレードコネクション管理部255eに対し、ブレード切替え通知を行う。
すると、ブレードコネクション管理部255eは、ブレード切替え通知の受信により、機能ブレード22のコネクション情報を機能ブレード23に変更し、ルータ・スイッチブレード24のコネクション振分け部241に対し、機能ブレード22向けの振分け情報を機能ブレード23向けに変更する指示を行う。
上述してきたように、本実施例では、機能ブレードの増設が行われて運用属性の機能ブレード数が増加した場合に、ブレードコネクション管理部255eがコネクションの配置評価を行い、コネクションの移動が必要な場合には、コネクションの移動に必要な処理を行うこととしたので、ホットスタンバイ構成情報で指定されるコネクション配置方式の配置に迅速に移行することができる。
また、本実施例では、機能ブレードの削除が行われて運用属性の機能ブレード数が減少した場合に、削除された機能ブレードが非ホットスタンバイ状態であれば、ブレードコネクション管理部255eがコネクションの配置評価を行い、コネクションの移動が必要な場合には、コネクションの移動に必要な処理を行うこととしたので、コネクションの有無に関係なく運用属性の機能ブレードを削除することができる。
また、本実施例では、ホットスタンバイを行う待機冗長系システムの場合について説明したが、本発明はこれに限定されるものではなく、非ホットスタンバイシステムの場合にも同様に適用することができる。
(付記1)複数のクライアントにネットワークを介してアプリケーションサービスを提供する複数のアプリケーションサーバと該複数のクライアントとの間のコネクションを担う複数の機能ブレードと、該複数の機能ブレードを管理する管理ブレードと、アプリケーションサーバおよびクライアントと通信を行うルータ・スイッチブレードとを有するブレード型システムであって、
前記管理ブレードは、前記コネクションの機能ブレードへの配置状態を管理するとともに、機能ブレードの増設時に機能ブレード間でコネクションの移動が必要か否かを評価し、評価した結果に基づいて前記ルータ・スイッチブレードならびにコネクションの移動元および移動先となる機能ブレードにコネクションの移動を指示するコネクション管理手段を備え、
前記ルータ・スイッチブレードは、前記管理ブレードの指示に基づいてコネクションの振分け先を変更するコネクション振分け手段を備えたことを特徴とするブレード型システム。
(付記2)前記コネクション管理手段は、運用中の機能ブレードが故障した場合、または、運用中の機能ブレードに対して削除指示があった場合に、該運用中の機能ブレードに対応する待機中の機能ブレードがないときは、該運用中の機能ブレードに配置されているコネクションの移動先を決定し、前記ルータ・スイッチブレードならびに該運用中の機能ブレードおよびコネクションの移動先となる機能ブレードにコネクションの移動を指示し、
前記コネクション振分け手段は、前記管理ブレードの移行指示に基づいてコネクションの振分け先を変更することを特徴とする付記1に記載のブレード型システム。
(付記3)前記コネクション管理手段は、各機能ブレードのコネクション配置方式に関する情報に基づいて、機能ブレードにコネクションを振分ける場合のコネクション振分けルールを作成して前記ルータ・スイッチブレードに通知し、
前記コネクション振分け手段は、前記コネクション振分けルールを受け取り、該受け取ったコネクション振分けルールに基づいて、新たに確立するコネクションを機能ブレードに振分け、
各機能ブレードは、新たに確立されたコネクションに関する情報を、前記コネクション管理手段がコネクションの機能ブレードへの配置状態を管理するための情報として、前記管理ブレードに通知するコネクション情報通知手段を有することを特徴とする付記1または2に記載のブレード型システム。
(付記4)前記コネクション管理手段は、前記コネクション振分けルールにしたがってコネクションの振分けが行われているかを監視することを特徴とする付記3に記載のブレード型システム。
(付記5)前記コネクション配置方式に関する情報は、システムのホットスタンバイ構成を定義するホットスタンバイ構成情報に含まれることを特徴とする付記3または4に記載のブレード型システム。
(付記6)複数のクライアントにネットワークを介してアプリケーションサービスを提供する複数のアプリケーションサーバと該複数のクライアントとの間のコネクションを担う複数の機能ブレードと、該複数の機能ブレードを管理する管理ブレードと、アプリケーションサーバおよびクライアントと通信を行うルータ・スイッチブレードとを有するブレード型システムのコネクション管理方法であって、
前記管理ブレードが、機能ブレードの増設時に機能ブレード間でコネクションの移動が必要か否かを評価し、評価した結果に基づいて前記ルータ・スイッチブレードならびにコネクションの移動元および移動先となる機能ブレードにコネクションの移動を指示する増設時移動工程と、
前記ルータ・スイッチブレードが、前記管理ブレードの指示に基づいてコネクションの振分け先を変更する増設時振分け変更工程と、
を含んだことを特徴とするコネクション管理方法。
(付記7)前記管理ブレードが、運用中の機能ブレードが故障した場合、または、運用中の機能ブレードに対して削除指示があった場合に、該運用中の機能ブレードに対応する待機中の機能ブレードがないときは、該運用中の機能ブレードに配置されているコネクションの移動先を決定し、前記ルータ・スイッチブレードならびに該運用中の機能ブレードおよびコネクションの移動先となる機能ブレードにコネクションの移動を指示する削除時移動工程と、
前記ルータ・スイッチブレードが、前記管理ブレードの移行指示に基づいてコネクションの振分け先を変更する削除時変更工程と、
をさらに含んだことを特徴とする付記6に記載のコネクション管理方法。
(付記8)前記管理ブレードが、各機能ブレードのコネクション配置方式に関する情報に基づいて、機能ブレードにコネクションを振分ける場合のコネクション振分けルールを作成して前記ルータ・スイッチブレードに通知するルール通知工程と、
前記ルータ・スイッチブレードが、前記コネクション振分けルールを受け取り、該受け取ったコネクション振分けルールに基づいて、新たに確立するコネクションを機能ブレードに振分ける振分け工程と、
機能ブレードが、新たに確立されたコネクションに関する情報を、コネクションの機能ブレードへの配置状態を管理するための情報として、前記管理ブレードに通知するコネクション情報通知工程と、
をさらに含んだことを特徴とする付記6または7に記載のコネクション管理方法。
(付記9)前記管理ブレードが、前記コネクション振分けルールにしたがってコネクションの振分けが行われているかを監視する監視工程をさらに含んだことを特徴とする付記8に記載のコネクション管理方法。
(付記10)前記コネクション配置方式に関する情報は、システムのホットスタンバイ構成を定義するホットスタンバイ構成情報に含まれることを特徴とする付記8または9に記載のコネクション管理方法。