以下、本発明の実施の形態について、実施例を用い図面を参照しながら詳細に説明する。なお、実質同一部位には同じ参照番号を振り、説明は繰り返さない。
図1を参照して、パケット中継装置の内部構造とパケット中継装置を用いたネットワークの構成を説明する。図1において、ネットワーク50は、3台のパケット中継装置10から構成されている。パケット中継装置10は、パケット中継装置10間における通信の信頼性を向上するため、リンクアグリゲーションを用いて回線の冗長化を図っている。
パケット中継装置10は、2式の装置制御部20、2式のパケット転送部30、2式のネットワークインタフェース部40から構成されている。装置制御部20は、コマンド解析部100、運用管理部200、ハードウェア制御部500で構成されている。ネットワークインタフェース部40には、複数のポート部700を有する。ポート部700−1は、パケット中継装置10−2と接続されている。ポート部700−2は、パケット中継装置10−3と接続されている。ポート部700−(n−1)は、パケット中継装置10−2と接続されている。ポート部700−nは、パケット中継装置10−3と接続されている。
ネットワークインタフェース部40は、ネットワーク50に対するパケット送受信を制御する。パケット転送部30は、ネットワークインタフェース部40を接続し、送受信するパケットのヘッダ情報に基づいてパケットの中継先を決める。装置制御部20は、パケット中継装置10自体を制御するソフトウェアプログラムが格納される。装置制御部20、パケット転送部30、ネットワークインタフェース部40は、それぞれバスで接続された構成をとる。
ポート部700は、物理回線を終端する。パケット中継装置10間の物理回線は、異なるネットワークインタフェース部40におけるポート部700と接続するリンクアグリゲーションの構成を採る。
装置制御部20におけるソフトウェアプログラムは、次の動作を司る。コマンド解析部100は、ユーザが設定したコンフィグレーション情報を解析する。運用管理部200は、コマンド解析部100からのコンフィグレーション情報の反映とハードウェアの状態に基づく装置の電源状態の決定と命令を司る。ハードウェア制御部500は、ハードウェアへの設定値登録、電源制御、統計情報の収集、障害の検出を行なう。
図2を参照して、運用管理部200の詳細を説明する。図2において、運用管理部200は、リンクアグリゲーショングループ管理テーブル220と、リンクアグリゲーションポート管理テーブル240と、ネットワークインタフェース部グループ管理テーブル260とを保持する。運用管理部200は、リンクアグリゲーショングループ管理テーブル220と、リンクアグリゲーションポート管理テーブル240と、ネットワークインタフェース部グループ管理テーブル260とを参照して、リンクアグリゲーションに所属するポートの状態を判断する。運用管理部200は、ポートの状態に基づいて、ポート部700およびネットワークインタフェース部40に対する不要な電力を削減するよう制御する。
図3ないし図5を参照して、運用管理部200の各テーブルの詳細を説明する。図3において、リンクアグリゲーショングループ管理テーブル220は、LA(Link Aggregation)番号222、ポート数224、最大稼動ポート数226から構成される。最大稼動ポート数226は、ユーザがコンフィグレーションで設定する同一のリンクアグリゲーションに所属する複数ポートの内、最大何個を稼動させるかを示す値である。LA番号222は、リンクアグリゲーションを識別する値である。ポート数224は、当該リンクアグリゲーションに所属するポート数の値である。
図4を参照して、リンクアグリゲーションポート管理テーブル240を説明する。図4において、リンクアグリゲーションポート管理テーブル240は、LA番号242、NIF(Network Interface)番号244、ポート番号246、LA優先度248、ポート状態250から構成される。
LA優先度248は、ユーザが設定した複数のリンクアグリゲーションのポートから稼動させるポートの優先順位を決める情報である。LA優先度248は、ポート単位で管理する情報である。LA番号242は、リンクアグリゲーションを識別する値である。NIF番号244は、リンクアグリゲーションのポートに指定したネットワークインタフェースの位置を示す値である。ポート番号246は、ポートの位置を示す値である。LA優先度248は、そのポートのリンクアグリゲーションでの優先度を示す値である。LA優先度248は、リンクアグリゲーション内において、値が小さいほど優先度が高いとする。ポート状態250は、ポートの状態を示す。ポート状態250は、「ACT(active)」、「SBY(standby)」または「障害」のいずれかである。「ACT」のとき、そのポート700は、活性状態にある。また、「SBY」のとき、そのポート700は、非活性状態にある。「障害」のとき、そのポート700は、障害状態にある。
図4において、LA番号242が「1」のリンクアグリゲーションもLA番号242が「2」のリンクアグリゲーションも、NIF番号244が「1」のポートの優先度を高く設定していることが分かる。この結果、NIF番号244が「2」のポートはいずれもSBYであり、該当するネットワークインタフェース部40を省電力設定できる。
図5を参照して、ネットワークインタフェース部グループ管理テーブル260を説明する。図5において、ネットワークインタフェース部グループ管理テーブル260は、NIFグループ番号262、NIF番号264、LAのACTポート有無266、NIF状態268から構成される。
ネットワークインタフェース部グループ管理テーブル260は、ネットワークインタフェース部を冗長化した情報と当該ネットワークインタフェース部の状態を管理する。NIFグループ番号262は、ネットワークインタフェース部40の冗長化グループを識別する。NIF番号264は、リンクアグリゲーションのポートに指定したネットワークインタフェースの位置を示す値である。LAのACTポート有無266は、当該NIF上のリンクアグリゲーションポートにおいてリンクアップしているポート(ACTポート)があるかを示す。LAのACTポート有無266は、「有」または「無」の値を採る。NIF状態268は、ネットワークインタフェース部の状態を示す。NIF状態268は、「ACT」または「SBY」のいずれかである。「ACT」のとき、そのネットワークインタフェース部40は、活性状態にある。また、「SBY」のとき、そのネットワークインタフェース部40は、非活性状態にある。
次に、図6ないし図8を参照して、実施例1の処理フローを説明する。実施例1では、パケット中継装置10は、グループ管理テーブル220、ポート管理テーブル240、グループ管理テーブル260を駆使し、かつリンクアグリゲーションのポート状態に連動することで、ネットワークインタフェース部40の電源を制御する。
ユーザは、ポート部およびネットワークインタフェース部を冗長化するために、事前にパケット中継装置10のコンフィグレーションを設定しておく。ポート部を冗長化するリングアグリゲーションの設定には、リンクアグリゲーションを特定するLA番号、当該LA番号に所属するNIF番号とポート番号、LA番号に所属するポート部の内最大何個のポート部を使用するかを決める最大稼動ポート数、どのポート部を待機させるかを決めるLA優先度が必要である。なおリンクアグリゲーションが複数ある場合、各リンクアグリゲーション間でLA優先度を特定のネットワークインタフェースに合わせることで、より効果を発揮する。
なお、ネットワークインタフェース部を冗長化する設定には、ネットワークインタフェース部をグループ化して識別するNIFグループ番号、および当該NIFグループ番号に所属するネットワークインタフェース部の番号であるNIF番号が必要である。
これらのコンフィグレーション情報について、コマンド解析部100は、解析を実施する。コマンド解析部100は、解析結果を運用管理部200へ通知して、処理シーケンスが開始される。
図6において、運用管理部200は、グループ管理テーブル220、ポート管理テーブル240、グループ管理テーブル260へ当該情報を反映する(S101)。運用管理部200は、ポート管理テーブル240から、一つのLA番号に所属するポート数を計算し、グループ管理テーブル220のポート数へ記録する。運用管理部200は、上述した処理をLA番号数分実施する(S102)。
運用管理部200は、グループ管理テーブル220からリンクアグリゲーションに所属するポート部の内、スタンバイさせるポート部(以後、スタンバイリンクと呼ぶ)の数を計算して、全ての待機ポート数を調べたか判定する(S103)。YESのとき、運用管理部200は、NIF状態の決定Aのサブルーチンにジャンプして、リターン後、終了する。
ステップ103でNOのとき、運用管理部200は、グループ管理テーブル220から、LA番号毎に「ポート数−稼動ポート数>0」であるかを判定する(S104)。YESのとき、運用管理部200は、ポート管理テーブル240において、当該LA番号に所属するポート番号のLA優先度が大きい数値を低優先と判断し、当該ポート番号のポート状態をスタンバイ(ポートの電源オフ)とする。運用管理部200は、ハードウェア制御部500へ当該ポート番号をスタンバイにするよう命令し、ハードウェア制御部500が該当するポート部の電源を抑止する。一方、ステップ104が非該当(NO)の場合、ポート管理テーブル240において、当該LA番号に所属するポート番号のポート状態をACT(リンクアップ)として(S106)、ステップ103に遷移する。
リンクアグリゲーションの構成に基づいてポート状態を更新したあと、運用管理部200は、冗長化したネットワークインタフェース部の状態を更新する。この処理を図7を参照して、説明する。
図7において、運用管理部200は、ポート管理テーブル240を参照して、同一NIF番号に所属するポート番号のポート状態を確認し、ACTが一つ以上あれば、グループ管理テーブル260におけるLAのACTポート有無へ「有」と記録する。ACTが一つも無ければ、「無」と記録する。(S121)
運用管理部200は、グループ管理テーブル260について、全てのNIFグループ番号に属するLAのACTポート有無を調べたか判定する(S122)。YESのとき、運用管理部200は、リターンする。
ステップ122でNOのとき、LAのACTポートが「有」か判定する(S123)。YESのとき、運用管理部200は、当該NIFを稼動状態とし、NIF状態にACTを記録して(S124)、ステップ122に遷移する。具体的には当該NIF番号のNIF状態をSBYからACTへ変更する場合、運用管理部200は、ハードウェア制御部500へ当該NIFを起動するように命令する。そしてグループ管理テーブル260のNIF状態268へACTと記録する。なおNIF状態が既にACTの場合は、特に何もしない。
一方、ステップ123でLAのACTポートが「無」の場合(S123:NO)、運用管理部200は、当該NIFをスタンバイ(NIFの電源オフ)とし、NIF状態にSBYを記録して(S125)、ステップ122に遷移する。具体的には当該NIF番号のNIF状態をACTからSBYへ変更する場合、運用管理部200は、ハードウェア制御部500へ当該NIF番号の電源を停止するように命令する。そしてグループ管理テーブル260のNIF状態268へSBYと記録する。なおNIF状態が既にSBYの場合は、特に何もしない。
次に、図8を参照して、アクティブなネットワークインタフェース部40でリンクアグリゲーションポートの障害が発生した場合の処理を説明する。図8において、ハードウェア制御部500は、NIF状態がACTのNIF40においてリンクアグリゲーションで使用するポート部の障害を検出したか判定する(S151)。NOのとき、ハードウェア制御部500は、再びステップ151に遷移する。ステップ151でYESのとき、ハードウェア制御部500は、運用管理部200へ障害情報を通知する。運用管理部200は、グループ管理テーブル260において当該NIF番号と同一であるNIFグループ番号に所属するNIF番号の内、NIF状態がSBYであるNIF番号を選択し、当該NIFを稼働するようハードウェア制御部500へ命令する。なおNIF状態がSBYであるNIF番号が複数ある場合は、NIF番号が最も若い番号を優先的に選択する(S152)。その後運用管理部200は、当該NIF番号のNIF状態をACTと記録する。
なおリンクアグリゲーションポートの障害とは、リンクアグリゲーションに指定した自装置のポートまたは対向装置におけるポートのハードウェア障害、IEEE802.3adで規定するLACPDU(Link Aggregation Control Protocol Data Unit)を規定時間内に受信できないとき、またUDLD(Uni-Directional Link Detection)により単一方向のリンク障害を検出したとき等を指す。
続いて、運用管理部200は、障害のポート番号を含むNIFをスタンバイにするとコンフィグレーションで設定されているか判定する(S153)。YESのとき、運用管理部200は、当該NIF番号をスタンバイにするようハードウェア制御部500へ命令し、NIF状態268をSBYと記録する。また当該NIF番号上の全ポート番号のポート状態をSBYとして(S154)、ステップ151に遷移する。ステップ153でNOのとき、運用管理部200は、障害を検出したポート番号のポート状態250だけ障害として(S155)、ステップ151に遷移する。
実施例1に拠れば、リンクアグリゲーションのポート状態に連動して、冗長化したネットワークインタフェース部の状態を制御することで、待機中のネットワークインタフェース部における待機電力を削減しつつ、運用中のネットワークインタフェース部に障害が発生すれば待機中のネットワークインタフェースを起動し通信を継続することができる。
実施例1に拠れば、冗長化した複数のネットワークインタフェース部と接続する複数のリンクアグリゲーションから構成されるパケット中継装置において、待機中のネットワークインタフェース部の待機電力を制御するパケット中継装置を提供することができる。
実施例2について、図9ないし図18を参照して、説明する。実施例2では、パケット中継装置10は、後述する総トラフィック量管理テーブル280、ポートトラフィック量管理テーブル300、トラフィック量の上限値管理テーブル320、およびグループ管理テーブル340を駆使し、かつリンクアグリゲーションにおけるトラフィック量の変化に連動することでポート部700およびネットワークインタフェース部40を最適な状態へ移行するよう制御する。
まず、図9を参照して、実施例2の運用管理部200Aを説明する。図9において、運用管理部200Aは、リンクアグリゲーション総トラフィック量管理テーブル280と、リンクアグリゲーションポートトラフィック管理テーブル300と、リンクアグリゲーショントラフィック量上限値管理テーブル320と、ネットワークインタフェース部グループ管理テーブル340とを保持する。運用管理部200Aは、リンクアグリゲーション総トラフィック量管理テーブル280と、リンクアグリゲーションポートトラフィック管理テーブル300と、リンクアグリゲーショントラフィック量上限値管理テーブル320と、ネットワークインタフェース部グループ管理テーブル340とを参照して、トラフィック量の変化に伴って、ポート部700およびネットワークインタフェース部40のACT/SBYを切替える。
図10を参照して、リンクアグリゲーション総トラフィック量管理テーブル280を説明する。図10において、総トラフィック量管理テーブル280は、LA番号282、ポート数284、LA総トラフィック量286、LA閾値288から構成される。
LA番号282は、リンクアグリゲーションを識別する値である。ポート数284は、当該リンクアグリゲーションに所属するポート数の値である。LA総トラフィック量286は、当該LA番号に所属する各ポートのトラフィック量を総計した値である。LA閾値288は、当該LA番号に対する閾値である。
リンクアグリゲーションのトラフィック量が増えると待機しているポート数をリンクアップしポート数を増加する必要がある。このとき、回線帯域が上限となるため、パケットの廃棄が発生する可能性が高い。そのためリンクアグリゲーションに所属するポート数の変更があっても、パケット廃棄を低減する手段として、LA閾値288を利用する。なお、LA総トラフィック量286の単位は、Mbit/secである。LA閾値288の単位は、%である。
次に図11を参照して、リンクアグリゲーションのポートトラフィック量管理テーブル300を説明する。図11において、リンクアグリゲーションのポートトラフィック量管理テーブル300は、ポート単位のトラフィック量を管理する。リンクアグリゲーションのポートトラフィック量管理テーブル300は、LA番号302、NIF番号304、ポート番号306、トラフィック量308、ポート状態310から構成される。
図12を参照して、ポート数に応じたトラフィック量の上限値管理テーブル320を説明する。図12において、トラフィック量の上限値管理テーブル320は、LA番号毎にポート数322、LA総トラフィック量の上限値324から構成される。ポート数322は、当該LAに所属し、ACT中のポート数を示す。LA総トラフィック量の上限値324は、ポート数とポート部の回線帯域と該当するLA閾値から算出する。トラフィック量の上限値管理テーブル320は、トラフィック量に基づいた最適なポート数を判断するために用いられる。
なお、図12は、LA番号1のみを記載している。
図13を参照して、ネットワークインタフェース部のグループ管理テーブル340を説明する。ネットワークインタフェース部のグループ管理テーブル340は、冗長化したネットワークインタフェース部の情報を管理する。図13において、ネットワークインタフェース部のグループ管理テーブル340は、NIFグループ番号342と、NIF番号344と、NIF優先度346と、LAのACTポート有無348と、NIF状態350とから構成される。NIF優先度346は、冗長化した複数のネットワークインタフェース部の優先度である。NIF優先度346は、値が小さいほど優先度が高い。
なお、図14のリンクアグリゲーションのポートトラフィック量管理テーブル300Aと図15のネットワークインタフェース部のグループ管理テーブル340Aは、それぞれポートトラフィック量管理テーブル300とグループ管理テーブル340の別の状態である。
次に、図16を参照して、運用管理部200Aのポート状態とNIF状態の決定処理フローを説明する。前提として、ユーザはポート部およびネットワークインタフェース部を冗長化するために、装置のコンフィグレーションを設定する。ポート部を冗長化するリングアグリゲーションの設定には、リンクアグリゲーションを特定するLA番号、当該LA番号に所属するNIF番号とポート番号、LA総トラフィック量の閾値が必要である。LA総トラフィック量の閾値は、リンクアグリゲーションに所属するポート数の変更に伴うパケットロスを低減することが目的である。トラフィック量が増加傾向にある場合、回線帯域を上限とすると待機しているポートを稼動状態にするまでの間、パケットが廃棄する可能性がある。この状況を回避するため、回線帯域より小さい帯域を閾値として設定できるようにし、帯域に余裕を持たせた運用を可能にする。
またネットワークインタフェース部を冗長化する設定には、ネットワークインタフェース部をグループ化して識別するNIFグループ番号、当該NIFグループ番号に所属するネットワークインタフェース部の番号であるNIF番号、およびどのネットワークインタフェース部から待機させるかを決めるNIF優先度が必要である。
これらのコンフィグレーション情報について、コマンド解析部100は、解析を実行する。コマンド解析部100は、解析結果を運用管理部200Aへ通知することにより、フローが開始される。運用管理部200Aは、総トラフィック量管理テーブル280、ポートトラフィック量管理テーブル300、グループ管理テーブル340へ当該情報を反映する(S201)。
運用管理部200Aは、ポートトラフィック量管理テーブル300から、一つのLA番号に所属するポート数を計算し、総トラフィック量管理テーブル280のポート数へ記録する。運用管理部200Aは、上述した処理をLA番号数分実施する(S202)。運用管理部200Aは、LA総トラフィック量の上限算出サブルーチンを実行する(S220)。運用管理部200Aは、リターンしてきたとき一定時間経過したか判定する(S203)。YESのとき、運用管理部200Aは、収集したポート番号毎のトラフィック量をポートトラフィック量管理テーブル300へ記録する(S204)。運用管理部200Aは、各リンクアグリゲーション番号に所属するポート番号のトラフィック量の合計を総トラフィック量管理テーブル280のLA総トラフィック量へ記録する(S205)。運用管理部200Aは、ポート状態の決定サブルーチンを実行する(S240)。リターンしてきたとき、運用管理部200Aは、NIF状態の決定Aサブルーチンを実行する(S120A)。リターンしてきたとき、運用管理部200Aは、ステップ203に遷移する。
図17を参照して、LA総トラフィック量の上限値の算出サブルーチンを説明する。図17において、運用管理部200Aは、総トラフィック量管理テーブル280のポート数が0より大きいか判定する(S221)。YESのとき、運用管理部200Aは、ユーザが設定したLA閾値を基に、(式1)でポート数に応じたLA総トラフィック量の上限値を算出する。
LA総トラフィック量の上限値=回線帯域×ポート数×LA閾値 …(式1)
運用管理部200Aは、トラフィック量の上限値管理テーブル320における該当するポート数に対応したLA総トラフィック量の上限値324へ算出した上限値を記録する(S222)。運用管理部200Aは、ポート数を1減らし(S223)、再度ステップ221を実行する。ステップ221でNOのとき、リターンする。なお、図示の簡便のため省いたが以上の処理を全てのLA番号分実施して、リターンする。
図18を参照して、ポート部の状態の決定サブルーチンを説明する。図18において、運用管理部200Aは、リンクアグリゲーション番号毎に、総トラフィック量管理テーブル280のLA総トラフィック量がトラフィック量の上限値管理テーブル320のどのポート数になるかを計算する(S241)。なお、このポート数を最適ポート数と呼ぶ。次に、運用管理部200Aは、現在稼働中のポート数を取得する(S242)。このポート数を稼動ポート数と呼ぶ。運用管理部200Aは、稼動ポート数が最適ポート数と一致するかを判定する(S243)。一致しない場合(NO)、運用管理部200Aは、更に稼動ポート数が最適ポート数より大きいかを判定する(S244)。大きい場合(YES)、運用管理部200Aは、グループ管理テーブル340のNIF優先度が低いNIF番号上におけるポートを待機(電源オフ)させ、ポート状態をSBYとして(S245)、ステップ242に遷移する。
一方、ステップ244で稼動ポート数が小さい場合(NO)、運用管理部200Aは、グループ管理テーブル340のNIF優先度が高いNIF番号上におけるポートを稼動(電源オン)させ、ポート状態をACTとして(S246)、ステップ242に遷移する。ステップ242で、稼動ポート数と最適ポート数が一致する場合(YES)、運用管理部200Aは、そのままリターンする。
なお、ポート部700電源のオン/オフは、運用管理部200Aからの指示により、ハードウェア制御部500が実施する。
図16のNIF状態の決定Aサブルーチン(S120A)は、図7のNIF状態の決定Aサブルーチン(S120)のポート管理テーブル240をポートトラフィック管理テーブル300、グループ管理テーブル260をグループ管理テーブル340と読み替えたものである。
本実施例に拠れば、冗長化した複数のネットワークインタフェース部と接続する複数のリンクアグリゲーションから構成されるパケット中継装置において、トラフィック量の変化に応じて、待機中のネットワークインタフェース部の待機電力を制御するパケット中継装置を提供することができる。
実施例3について、図19ないし図27を参照して説明する。実施例3は、パケット中継装置10の運用管理部200Bは、後述するポート検査状況管理テーブル400、グループ管理テーブル420を、ハードウェア制御部500は、検査結果管理テーブル520、検査基準テーブル540を駆使し、運用系ポート部における断続的(インターミッテントと呼ぶ)な障害発生に伴う通信断時間を短縮するため、ポート部およびネットワークインタフェース部を最適な状態へ移行するよう制御する。
まず、図19を参照して、運用管理部200Bの詳細を説明する。図19において、運用管理部200Bは、リンクアグリゲーションポート検査状況管理テーブル400と、ネットワークインタフェース部グループ管理テーブル420とを保持する。運用管理部200Bは、リンクアグリゲーションポート検査状況管理テーブル400と、ネットワークインタフェース部グループ管理テーブル420とを参照して、リンクアグリゲーションに所属するポートの状態を判断する。
図20を参照して、ハードウェア制御部500の詳細を説明する。図20において、ハードウェア制御部500は、検査結果管理テーブル520、検査基準テーブル540を保持する。ハードウェア制御部500は、検査基準テーブル540を参照して、検査項目に該当するハードウェア部の状態を読み出し、状態の結果を検査結果管理テーブル520で管理する。
図21を参照して、リンクアグリゲーションのポート検査状況管理テーブル400を説明する。図21において、リンクアグリゲーションのポート検査状況管理テーブル400は、ポート毎の品質検査状況を管理する。このため、ポート検査状況管理テーブル400は、LA番号402と、NIF番号404と、ポート番号406と、ポート状態408と、検査状況410とから構成される。検査状況410は、検査の実施有無を示す「済」または「未」を記録する。
図22を参照して、ネットワークインタフェース部のグループ管理テーブル420を説明する。図22において、ネットワークインタフェース部のグループ管理テーブル420は、冗長化したネットワークインタフェース部の情報を管理する。このため、グループ管理テーブル420は、NIFグループ番号422と、NIF番号424と、NIF優先度426と、不安定ポート有無428と、NIF状態430とから構成される。NIF優先度426は、冗長化した複数のネットワークインタフェース部の優先度を示す。不安定ポート有無428は、安定した品質を確保できないポート部があるかを示す。
図23を参照して、検査結果管理テーブル520を説明する。図23において、検査結果管理テーブル520は、検査項目522と、実測値524と、発生回数526と、検査結果528とから構成される。検査項目522は、品質の判断に用いる。実測値524は、検査項目に対する実測した値を示す。発生回数526は、実測結果が異常と判断した回数を示す。検査結果528は、検査基準テーブル540との比較から判断した結果である。なお、図23は、NIF番号1、ポート番号1のみ記載している。
図24を参照して、検査基準テーブル540を説明する。図24において、検査基準テーブル540は、検査項目542と、正常値544と、許容発生回数546とから構成される。検査項目542は、図23の検査項目522と同様である。正常値544は、当該検査項目の正常な基準範囲を示す。許容発生回数546は、正常値の範囲外を許容できる回数示す。なお、検査項目542、正常値544、および許容発生回数546は、必要に応じてユーザがコンフィグレーション等で変更できる。
図25を参照して、処理フローを説明する。図25において、前提として、ユーザは、ポート部およびネットワークインタフェース部を冗長化するために、装置のコンフィグレーションを設定する。ポート部を冗長化するリングアグリゲーションの設定には、リンクアグリゲーションを特定するLA番号、当該LA番号に所属するNIF番号とポート番号が必要である。またネットワークインタフェース部を冗長化する設定には、ネットワークインタフェース部をグループ化して識別するNIFグループ番号、当該NIFグループ番号に所属するネットワークインタフェース部の番号であるNIF番号、およびどのネットワークインタフェース部から待機させるかを決めるNIF優先度が必要である。更に必要に応じてポート部の品質を判断する検査項目と当該項目に対する正常値と許容発生回数を設定する。
これらのコンフィグレーション情報について、コマンド解析部100は、解析を実行する。コマンド解析部100は、LA番号、NIF番号、ポート番号、NIFグループ番号およびNIF優先度について、運用管理部200Bへ通知する。また、コマンド解析部100は、検査項目、正常値および許容発生回数について、ハードウェア制御部500へ通知する。これらの通知により、処理フローが開始され、運用管理部200Bおよびハードウェア制御部500は、それぞれポート検査状況管理テーブル400、グループ管理テーブル420、検査基準テーブル540へ当該情報を反映する(S301)。
続いて運用管理部200Bは、一定時間経過したか判定する(S302)。NOのとき、運用管理部200Bは、ステップ302に戻る。ステップ302でYESのとき、運用管理部200Bは、全てのポート部に対する品質の検査サブルーチンを実行する(S320)。運用管理部200Bは、品質の検査サブルーチンからのリターン後、その検査結果に基づいてネットワークインタフェース部の状態を決定するサブルーチンを実行する(S340)。NIF状態の決定サブルーチンからのリターン後、運用管理部200Bは、ステップ302に遷移する。
図26を参照して、ポート部に対する品質検査の処理フローを説明する。図26において、運用管理部200Bは、ポート検査状況管理テーブル400の検査状況410欄を全て未実施とする(S321)。運用管理部200Bは、ポート検査状況管理テーブル400とグループ管理テーブル420から、ポート番号406に対する検査状況410が未実施、かつ当該ポート番号が属するNIF状態430がACTであるかを判定する(S322)。両方の条件を満たす場合(YES)、運用管理部200Bは、ハードウェア制御部500へ当該ポート部の品質検査を依頼する。ハードウェア制御部500は、検査結果管理テーブル520の各検査項目522に該当するハードウェア情報を読み込み、当該情報を実測値524へ記録する(S323)。ハードウェア制御部500は、検査結果管理テーブル520の各検査項目522に対する実測値524が検査基準テーブル540の正常値544の範囲外であれば発生回数526を1増加する(S324)。ハードウェア制御部500は、発生回数526が許容発生回数546より大きいか判定する(S325)。YESのとき、ハードウェア制御部500は、検査結果528へ異常と記録する(S326)。
ステップ325で許容発生回数以内であれば(NO)、ハードウェア制御部500は、検査結果528へ正常と記録する(S327)。ステップ326またはステップ327に続いて、ハードウェア制御部500は、検査項目522に対する検査結果528を全て確認し、一つでも異常があれば当該ポートに対する検査結果が異常であることを、全て正常であれば正常であることを運用管理部200Bへ通知する。運用管理部200Bは、受信した検査結果が異常であればポート検査状況管理テーブル400のポート状態408へ障害と記録し、検査結果が正常であればACTと記録する(S328)。最後に、運用管理部200Bは、当該ポート番号の検査状況410を済と記録する(S329)。これら一連の処理を全てのポート部に対して実施し、ポート検査状況管理テーブル400における検査状況410が全て済となったら(S322:NO)、処理を終了して、リターンする。
図27を参照して、冗長化したネットワークインタフェース部40の状態を決定する処理フローについて説明する。図27において、運用管理部200Bは、ポート検査状況管理テーブル400から同一NIF番号に所属するポート番号のポート状態を確認し、障害が一つ以上あれば、グループ管理テーブル420における不安定ポート有無428へ「有」と記録する。障害が一つも無ければ、「無」と記録する(S341)。運用管理部200Bは、不安定ポート有無428に「有」があるか判定する(S342)。YESのとき、運用管理部200Bは、当該NIF番号424と同一NIFグループ番号422のNIFの内、NIF優先度426が最も高くかつNIF状態430がSBYのNIF番号424を稼動させ、当該NIF番号のNIF状態430へACTと記録する(S343)。続いて、運用管理部200Bは、障害のポート番号を含むNIFをスタンバイにするとコンフィグレーションで設定されているか判定する(S344)。YESのとき、運用管理部200Bは、当該NIF番号424をスタンバイにするようハードウェア制御部500へ命令し、NIF状態430へSBYと記録する。また当該NIF番号上の全ポート番号のポート状態408を障害以外はSBYとする(S345)。ステップ344で障害のポート番号を含むNIF番号をスタンバイにしない場合(NO)、運用管理部200Bは、処理を終了してリターンする。また、ステップ342でNOのとき、運用管理部200Bは、処理を終了してリターンする。
本実施例に拠れば、運用系ネットワークインタフェース部のポート部において断続的なポート障害に伴う待機系ネットワークインタフェース部の起動および停止を抑止することにより通信断時間を短縮することができる。
実施例4は、先行技術であるユーザの指定日時に動作の起動を掛けるスケジュール機能と組み合わせることにより、スケジュールで指定した日時に冗長化したネットワークインタフェース部を待機、または起動させる方法である。なお待機したネットワークインタフェース部に対しては、図8に示すステップ151からステップ155と同様に、運用系ネットワークインタフェース部に障害が発生すると、待機系ネットワークインタフェース部を起動し、通信の継続性を確保する。
実施例5を、図28ないし図33を参照して説明する。実施例5は、パケット中継装置10が対向のパケット中継装置10との接続においてリンクアグリゲーションの接続状態をプロトコルで監視する構成である。ここでは、プロトコルとしてIEEE802.3adに規定されるLACP(Link Aggregation Control Protocol)を使用する。
図28を参照して、実施例5の運用管理部200Cを説明する。図28において、パケット中継装置10の運用管理部200Cは、リンクアグリゲーショングループ管理テーブル220と、リンクアグリゲーションポート管理テーブル240と、ネットワークインタフェース部グループ管理テーブル260と、リンクアグリゲーション状態管理テーブル380とを含む。運用管理部200Cは、これらのテーブル220、240、260、380を使用し、リンクアグリゲーションのポート状態およびLACPの状態に連動して、ネットワークインタフェース部40の電源を制御する。
図29を参照して、リンクアグリゲーション状態管理テーブル380を説明する。図29において、リンクアグリゲーション状態管理テーブル380は、NIF番号382と、ポート番号384と、LACP状態386とから構成される。LACP状態386は、パケット中継装置10と対向装置とのリンク接続状態を示す。LACP状態386は、パケット通信が可能であることを示す「確立」とパケット通信ができないことを示す「未確立」という値を取る。
ユーザは、ポート部700およびネットワークインタフェース部40を冗長化するために、事前にパケット中継装置10のコンフィグレーションを設定する。ポート部700を冗長化するリングアグリゲーションには、LA番号、当該LA番号に所属するNIF番号とポート番号、最大稼動ポート数、LA優先度、LACPモードの設定が必要である。
ここで、LA番号は、リンクアグリゲーションを特定する。最大稼動ポート数は、LA番号に所属するポート部の内最大何個のポート部を使用するかである。LA優先度は、どのポート部を待機させるかを決める。LACPモードは、「ACTIVEモード」または「PASSIVEモード」である。ACTIVEモードは、対向装置の状態に関係なくLACPDUを送信する。PASSIVEモードは、対向装置からLACPDUを受信したときだけLACPDUを送信する。
なお、リンクアグリゲーションが複数ある場合、各リンクアグリゲーション間でLA優先度を特定のネットワークインタフェース部40に一致させることで、より効果を発揮する。また、ネットワークインタフェース部40を冗長化する設定には、ネットワークインタフェース部をグループ化して識別するNIFグループ番号、および当該NIFグループ番号に所属するネットワークインタフェース部の番号であるNIF番号が必要である。
これらのコンフィグレーション情報について、コマンド解析部100は、解析を実施する。コマンド解析部100は、解析結果を運用管理部200Cへ通知する。この結果、運用管理部200Cは、図30の処理シーケンスを開始する。
図30において、運用管理部200Cは、グループ管理テーブル220、ポート管理テーブル240、グループ管理テーブル260へ当該情報を反映する(S101A)。運用管理部200Cは、ポート管理テーブル240から、一つのLA番号に所属するポート数を計算し、グループ管理テーブル220のポート数224へ記録する。運用管理部200Cは、上述した処理をLA番号数分実施する(S102A)。
運用管理部200Cは、グループ管理テーブル220からリンクアグリゲーションに所属するポート部の内、スタンバイスタンバイリンクの数を計算して、全ての待機ポート数を調べたか判定する(S103A)。YESのとき、運用管理部200Cは、NIF状態の決定Cのサブルーチンにジャンプして、リターン後、終了する。
ステップ103AでNOのとき、運用管理部200Cは、グループ管理テーブル220から、LA番号毎に「ポート数−稼動ポート数>0」であるかを判定する(S104A)。YESのとき、運用管理部200Cは、ポート管理テーブル240において、当該LA番号に所属するポート番号のLA優先度が大きい数値を低優先と判断し、当該ポート番号のポート状態をスタンバイ(ポートの電源オフ)とする。運用管理部200Cは、ハードウェア制御部500へ当該ポート番号をスタンバイにするよう命令し、ハードウェア制御部500が該当するポート部の電源を抑止する(S105A)。一方、ステップ104Aが非該当(NO)の場合、ポート管理テーブル240において、当該LA番号に所属するポート番号のポート状態をACT(リンクアップ)として(S106A)、ステップ103Aに遷移する。
リンクアグリゲーションの構成に基づいてポート状態を更新したあと、運用管理部200Cは、冗長化したネットワークインタフェース部40の状態を更新する(S400)。図31を参照してこの処理を説明する。
図31において、運用管理部200Cは、ポート管理テーブル240を参照して、同一NIF番号に所属するポート番号のポート状態を確認し、ACTが一つ以上あれば、グループ管理テーブル260におけるLAのACTポート有無へ「有」と記録する。ACTが一つも無ければ、「無」と記録する。(S401)
運用管理部200Cは、グループ管理テーブル260について、全てのNIFグループ番号に属するLAのACTポート有無を調べたか判定する(S402)。YESのとき、運用管理部200Cは、リターンする。
ステップ402でNOのとき、LAのACTポートが「有」か判定する(S403)。YESのとき、運用管理部200Cは、当該NIFを稼動状態とし、NIF状態にACTを記録して(S404)、ステップ402に遷移する。具体的には、当該NIF番号のNIF状態をSBYからACTへ変更する場合、運用管理部200Cは、ハードウェア制御部500へ当該NIFを起動するように命令する。そしてグループ管理テーブル260のNIF状態268へACTと記録する。なお、NIF状態が既にACTの場合は、特に何もしない。
一方、ステップ403でLAのACTポートが「無」の場合(S403:NO)、運用管理部200Cは、LACP状態を確認するLACP状態確認のサブルーチンを呼び出す(S410)。リターン後、運用管理部200Cは、LACP状態が確立か判定する(S405)。YESのとき、運用管理部200Cは、当該NIFをスタンバイ(NIFの電源オフ)とし、NIF状態にSBYを記録して(S406)、ステップ402に遷移する。具体的には、当該NIF番号のNIF状態をACTからSBYへ変更する場合、運用管理部200は、ハードウェア制御部500へ当該NIF番号の電源を停止するように命令する。そしてグループ管理テーブル260のNIF状態268へSBYと記録する。なおNIF状態が既にSBYの場合は、特に何もしない。ステップ405で、LACP状態が確立していない場合(S405:NO)、運用管理部200Cは、ステップ402に遷移する。
LACPを使用して対向装置とのリンク状態を監視している場合、LACPが確立していないとポートはACT(リンクアップ)であってもパケット通信ができない状態になる。図32を参照して、このような状態を回避するLACP状態確認処理を説明する。
図32において、運用管理部200Cは、ネットワークインタフェース部グループ管理テーブル260において、SBYに変更予定のNIF番号と同じNIFグループ番号に所属するNIF番号のLACP状態を全て調べる(S411)。ステップ411がYESのとき、運用管理部200Cは、LACP状態を確立として(S412)、リターンする。
一方、ステップ411がNOのとき、運用管理部200Cは、ネットワークインタフェース部グループ管理テーブル260から、当該NIFグループ番号内にSBY予定のNIF以外にNIF状態がACTであるNIFがあるかを調べる(S413)。YESのとき、運用管理部200Cは、各NIF番号のNIF状態を確認する(S414)。ステップ414がYESのとき、運用管理部200Cは、リンクアグリゲーションポート管理テーブル240において、当該NIF番号に所属するポート状態がACTのポート番号を探索した後、リンクアグリゲーション状態管理テーブル380における当該NIF番号とポート番号に対応するLACP状態を確認する(S415)。LACP状態が確立のとき(S416:YES)、運用管理部200Cは、ステップ411に遷移する。ステップ416がNOのとき、運用管理部200Cは、LACP状態を未確立として(S417)、リターンする。またステップ413がNOのとき、運用管理部200Cは、ステップ417に遷移する。ステップ414がNOのとき、運用管理部200Cは、ステップ414へ遷移する。
図33を参照して、パケット中継装置10が対向装置からLACPDUを受信したときの処理を説明する。図33において、運用管理部200Cは、LACPDUを受信したNIF番号とポート番号に該当する、リンクアグリゲーション状態管理テーブル380のLACP状態を確立に設定する(S420)。運用管理部200Cは、LACP状態を未確立から確立へ変更したかを確認する(S421)。YESのとき、運用管理部200Cは、NIF状態の決定Cサブルーチンを実行して(S400)、リターン後、終了する。ステップ421がNOのとき、運用管理部200Cは、そのまま処理を終了する。
本実施例に拠れば、冗長化したネットワークインタフェース部を跨ぐリンクアグリゲーションにてLACPを使用する場合、運用系ネットワークインタフェース部においてLACPを確立していて通信の継続性を保証した上で、待機させるネットワークインタフェース部の電源を停止して省電力化を可能にする。本実施例に拠れば、運用系ネットワークインタフェース部におけるリンクアップ契機だけで、待機系にする通信に使用のネットワークインタフェース部の電源を停止すると通信断となる場合を回避することができる。
実施例6について、図34ないし図39を参照して、説明する。実施例6において、パケット中継装置10の運用管理部200Dは、リンクアグリゲーションポート管理テーブル240A、ネットワークインタフェース部障害基準テーブル440、ネットワークインタフェース部グループ管理テーブル460を駆使し、運用系ネットワークインタフェース部およびポート部における障害の発生状況に応じて、待機系ネットワークインタフェース部の電源を停止しない制御を実行する。
まず、図34を参照して、運用管理部200Dを説明する。図34において、運用管理部200Dは、リンクアグリゲーションポート管理テーブル240Aと、ネットワークインタフェース部障害基準テーブル440と、ネットワークインタフェース部グループ管理テーブル460とを保持する。運用管理部200Dは、リンクアグリゲーションポート管理テーブル240Aと、ネットワークインタフェース部グループ管理テーブル460とを参照して、リンクアグリゲーションに所属するポートの状態、およびポートが所属するネットワークインタフェース部の状態を判断する。
図35を参照して、リンクアグリゲーションポート管理テーブル240Aを説明する。図35において、リンクアグリゲーションポート管理テーブル240Aは、LA番号242Aと、NIF番号244Aと、ポート番号246Aと、LA優先度248Aと、ポート状態250Aとから構成される。各項目は図4で説明したものと同様である。図4との違いはポート状態250Aだけである。
図36を参照して、ネットワークインタフェース部の障害基準管理テーブル440を説明する。図36にいて、ネットワークインタフェース部障害基準管理テーブル440は、NIF障害時の対応基準を管理する。このため、ネットワークインタフェース部障害基準管理テーブル440は、リトライ回数442と、NIF障害許容発生回数444とから構成される。リトライ回数442は、NIFに対する障害発生時の復旧策としてNIFの再起動処理(以降、リトライと呼ぶ)を最大何回まで実施するかを規定する。NIF障害許容発生回数444は、NIF障害を何回まで許容するかを規定する。
図37を参照して、ネットワークインタフェース部のグループ管理テーブル460を説明する。図37において、ネットワークインタフェース部のグループ管理テーブル460は、冗長化したネットワークインタフェース部の情報を管理する。このため、グループ管理テーブル460は、NIFグループ番号462と、NIF番号464と、NIF優先度466と、NIF状態468と、NIF障害回数470と、NIF障害472とから構成される。
NIF優先度426は、冗長化した複数のネットワークインタフェース部の優先度を示す。NIF障害回数470は、NIF障害の回数を示す項目で、リトライ回数442に示す回数を実施しても障害が回復しなかったときNIF障害と判断して当該NIF障害回数470の回数を増加する。NIF障害472は、NIF障害回数470がNIF障害許容発生回数444を上回ったかを管理する項目である。NIF障害472は、NIF障害回数470がNIF障害許容発生回数444を上回った場合、「1」を記録する。
図38を参照して、運用管理部200DのNIFの障害復旧に伴う冗長化NIFの制御処理フローを説明する。図38において、前提として、ユーザは、ポート部およびネットワークインタフェース部を冗長化するために、装置のコンフィグレーションを設定する。ポート部を冗長化するリングアグリゲーションの設定には、LA番号、当該LA番号に所属するNIF番号とポート番号、またLACPを使用する場合はLACPモードの特定が必要である。
ここで、LA番号は、リンクアグリゲーションを特定する。LACPモードは、ACTIVEモードまたはPASSIVEモードかのどちらかを指定する。ACTIVEモードは、対向装置の状態に関係なくLACPDUを送信する。PASSIVEモードは、対向装置からLACPDUを受信したときだけLACPDUを送信する。
また、ネットワークインタフェース部を冗長化する設定には、NIFグループ番号、NIF番号、NIF優先度、最大稼動NIF数が必要である。
NIFグループ番号は、ネットワークインタフェース部をグループ化して識別する。NIF番号は、当該NIFグループ番号に所属するネットワークインタフェース部の番号である。NIF優先度は、どのネットワークインタフェース部から待機させるかを決める。最大稼動NIF数は、グループ化した複数のネットワークインタフェース部を最大何枚稼動させるかを決める。
さらに、必要に応じてネットワークインタフェース部の障害基準を決めるNIF障害リトライ回数とNIF障害許容発生回数を設定する。
これらのコンフィグレーション情報について、コマンド解析部100は、解析を実行する。コマンド解析部100は、LA番号、NIF番号、ポート番号、LACPモード、NIFグループ番号、NIF優先度、最大稼動NIF数、NIF障害リトライ回数およびNIF障害許容発生回数について、運用管理部200Dへ通知する。これらの通知により、図38の処理フローが開始される。図38において、運用管理部200Dは、リンクアグリゲーションポート管理テーブル240A、ネットワークインタフェース部障害基準テーブル440、およびネットワークインタフェース部グループ管理テーブル460へ当該情報を反映する(S450)。
続いて運用管理部200Dは、障害となったNIFが復旧したかを監視する(S451)。NOのとき、運用管理部200Dは、ステップ451に戻る。なお当該ステップ451は、一定時間の周期処理やハードウェア制御部500からの割り込み通知などで実現する。ステップ451でYESのとき、運用管理部200Dは、ネットワークインタフェース部の状態を決定するサブルーチンを実行する(S460)。NIF状態の決定サブルーチンからのリターン後、運用管理部200Dは、ステップ460に遷移する。
図39を参照して、冗長化したネットワークインタフェース部40の状態を決定する処理フローについて説明する。図39において、運用管理部200Dは、ネットワークインタフェース部グループ管理テーブル460から復旧したNIF番号464が所属するNIFグループ番号462の中でNIF障害回数470がNIF障害許容発生回数444を上回ったNIF番号464に対してNIF障害472へ「1」を記録する(S461)。運用管理部200Dは、NIF状態468がACTであるNIF数を数え、ACTのNIF数が最大稼動NIF数より大きいかを比較する(S462)。YESのとき、運用管理部200Dは、NIF状態468がACTのNIF番号464の内、NIF障害472が「1」である数をERR_NIF_NUMへ代入する(S463)。運用管理部200Dは、ERR_NIF_NUMが0より大きいか判定する(S464)。YESのとき、運用管理部200Dは、ACTのNIF数とERR_NIF_NUMの差が最大稼動NIF数より大きいか判定する(S465)。差が0より大きいとき(S465:YES)、運用管理部200Dは、NIF障害474が「1」以外のNIFの中でNIF優先度466が最も低いNIFを待機させ、当該NIF番号464のNIF状態468をSBYと記録し、リターンする。ステップ465がNOのとき、運用管理部200Dは、そのままリターンする。
ステップ462がNOのとき、運用管理部200Dは、ACTのNIF数が最大稼動NIF数より小さいか判定する(S467)。YESのとき、運用管理部200Dは、同一NIFグループ番号462のNIF番号464の中で、NIF状態468がSBYかつNIF障害472が「1」以外のNIFがあれば、SBYのNIF番号464の中でNIF優先度466が最も高い(数字が最も小さい)NIF番号464を稼動させ、当該NIF番号464のNIF状態468へACTと記録し(S468)、リターンする。ステップ467がNOのとき、運用管理部200Dは、何もせずにリターンする。
またステップ464がNOのとき、運用管理部200Dは、NIF状態468がACTのNIF番号464の内、NIF優先度466が最も小さいNIFを待機させ、当該NIF番号464のNIF状態468へSBYと記録し(S469)、リターンする。
本実施例に拠れば、指定したNIF障害許容回数を超えたネットワークインタフェース部を、稼動するネットワークインタフェース部と扱わないことで、当該ネットワークインタフェース部にインターミッテントな障害が発生しても省電力化を実現しつつ通信断時間を短縮することができる。
なお実施例3で示したポート部におけるインターミッテントな障害発生への対処フローから、ポート部の障害が指定した許容回数を超えたときNIF障害とすることで、実施例5と組み合わせることができる。