ネットワークシステム
【課題】経路制御部の再起動中に光スイッチ部に障害が発生したとき、そのままプロテクション処理を適用すると、不整合が生じて障害を復旧させることができない。
【解決手段】データを転送する経路を設定する経路制御部と経路制御部に接続されるデータ転送部とを含むネットワークシステムであって、データ転送部は、経路制御部の指示に従ってデータを転送し、経路情報を格納し、データの転送経路に障害を検出すると経路情報を変更し、経路制御部が再起動中に障害を検出したとき、障害検出前後の経路情報を格納し、障害検出前又は後の経路情報のいずれか一方を経路制御部に送信し、内部状態に基づいて送信されるいずれか一方の経路情報を決定し、経路制御部は、データ転送部の経路情報を格納し、再起動後にデータ転送部から経路情報を受信し、隣接するデータ転送部を制御する経路制御部に格納された経路情報を取得して再起動前の経路情報に回復させる。
【解決手段】データを転送する経路を設定する経路制御部と経路制御部に接続されるデータ転送部とを含むネットワークシステムであって、データ転送部は、経路制御部の指示に従ってデータを転送し、経路情報を格納し、データの転送経路に障害を検出すると経路情報を変更し、経路制御部が再起動中に障害を検出したとき、障害検出前後の経路情報を格納し、障害検出前又は後の経路情報のいずれか一方を経路制御部に送信し、内部状態に基づいて送信されるいずれか一方の経路情報を決定し、経路制御部は、データ転送部の経路情報を格納し、再起動後にデータ転送部から経路情報を受信し、隣接するデータ転送部を制御する経路制御部に格納された経路情報を取得して再起動前の経路情報に回復させる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークシステムに関し、特に、通信制御装置の障害復旧に関する。
【背景技術】
【0002】
GMPLSネットワークでは、D−planeに障害が発生すると、光スイッチ部で障害復旧のために経路を切り替え、経路が切り替わったことをGMPLS制御装置に通知する。このとき、GMPLS制御装置は、改めてGMPLSシグナリングプロトコルを動作させることによって、各制御装置に経路切替を通知して障害を復旧させるプロテクション方式が提案されている(特許文献1参照)。
【0003】
また、GMPLS制御装置は、障害が発生して再起動したとき、隣接ノードから既存のパス情報を受信して、パスの状態を復旧し、パスを切断することなく処理を再開するグレースフル・リスタート方式が提案されている(非特許文献1参照)。
【特許文献1】特開2003−318983号公報
【非特許文献1】L.Berger、「GMPLS RSVP-TE」RFC3473、IETF、2003年1月
【発明の開示】
【発明が解決しようとする課題】
【0004】
一方、グレースフル・リスタートによって、GMPLS制御装置が再起動している間に光スイッチ部で障害が発生し、プロテクション処理が実行されると、実際の光スイッチ部の構成と隣接ノードから送られる既存のパス情報とが相違する。したがって、GMPLS制御装置は、パス情報の再構築に失敗し、処理を再開することができなくなってしまう課題があった。
【課題を解決するための手段】
【0005】
本発明の代表的な一形態によると、1組の、経路制御部と、前記経路制御部に接続されるデータ転送部と、を含むネットワークシステムであって、前記経路制御部は、シグナリングプロトコルを用いてデータを転送する経路を設定し、前記データ転送部は、転送されたデータの入力を受け付ける入力インターフェースと、入力されたデータを出力する出力インターフェースと、を備え、前記経路制御部の指示に従って、前記入力されたデータを隣接するデータ転送部に転送し、前記入力インターフェースと前記出力インターフェースとの対応関係を含む経路情報を格納し、前記データを転送する経路に障害を検出したとき、前記経路情報を変更し、前記経路制御部が再起動している間に、前記障害を検出したとき、前記障害検出前の経路情報、及び前記障害検出後の経路情報を格納し、前記障害検出前の経路情報、又は前記障害検出後の経路情報のいずれか一方を、前記経路制御部に送信し、前記経路制御部との通信状況に応じて設定される内部状態に基づいて、前記送信されるいずれか一方の経路情報を決定し、前記経路制御部は、前記データ転送部の経路情報を格納し、有効な経路が設定された状態で再起動したとき、再起動後に、前記データ転送部から前記経路情報を受信し、前記隣接するデータ転送部を制御する経路制御部に格納された経路情報を取得して再起動前の経路情報に回復させる。
【発明の効果】
【0006】
本発明の一形態によれば、GMPLS制御装置が再起動している間に光スイッチ部のIFに障害が発生したとき、パスの状態の不整合を解消させてから、プロテクション処理を適用することによって、障害を回復させることができる。
【発明を実施するための最良の形態】
【0007】
以下、本発明の実施形態について図面を用いて説明する。
【0008】
(第1の実施の形態)
図1は、第1の実施の形態のネットワークシステムの構成図である。第1の実施の形態のネットワークシステムは、光スイッチ部20、GMPLS制御部30、C−Plane網40、及びD−Plane網50を含む。なお、光スイッチ部20は、光スイッチ部20A、20B及び20Cの総称である。同じく、GMPLS制御部30は、GMPLS制御部30A、30B及び30Cの総称である。
【0009】
また、D−Plane網50には、LSP(Label Switched Path)60が設定されている。LSPとは、MPLSのラベル情報に基づいて設定された経路である。
【0010】
光スイッチ部20は、光信号を波長ごとに光のまま経路を変更する。GMPLS制御部30は、C−Plane網40を介してGMPLSプロトコルに基づいて通信し、LSP60の設定、削除及び状態変更を実行する。また、設定内容を光スイッチ部20に送信し、実際のスイッチ状態の変更を指示する。スイッチ状態は、光スイッチ部20内部の経路情報に対応し、入力インターフェース(IF)と出力IFとの接続関係である。
【0011】
光スイッチ部20及びGMPLS制御部30は、1対1に対応する3組の装置が記載されているが、必要に応じて任意の数の装置を配置する。また、光スイッチ部20とGMPLS制御部30とは、必ずしも1対1である必要はなく、1つのGMPLS制御部30が複数の光スイッチ部20を制御する構成であってもよい。さらに、光スイッチ部20とGMPLS制御部30とは、別々の筐体に実装することも、同一の筐体に実装することも可能である。
【0012】
C−Plane網40は、IPプロトコルを用いたパケット網である。D−Plane網50は、光スイッチ部20が備えるインターフェース間を結んだ回線(データ回線)の集合である。
【0013】
D−Plane網50において、各光スイッチ部20が直接通信可能なデータ回線で接続されているとき、連結された光スイッチ部20は、互いに隣接すると定義する。また、GMPLS制御部30は、制御対象の光スイッチ部20が隣接していれば、直接通信可能な回線で接続されていなくとも、C−Plane網40を経由するなどして、論理的な隣接関係を有するようにネットワークを構成する。
【0014】
なお、第1の実施の形態では、ネットワークスイッチとして光波長スイッチを用いているが、GMPLSで規定されているパケット、TDMなどの他のネットワークスイッチを用いたスイッチ部であっても、そのまま適用可能である。
【0015】
LSP60は、D−Plane網50において、一つ以上のデータ回線を接続し、特定のインターフェースから別のインターフェースまでの経路を定義した論理的な経路(パス)である。図1には、光スイッチ部20CのIF−1から光スイッチ部20AのIF−2までの経路とする、LSP60A及びLSP60Bの2つのLSPが定義されている。LSP60Aは、光スイッチ部20CのIF−2、光スイッチ部20AのIF−1を経由する。同じく、LSP60Bは、光スイッチ部20CのIF−3から光スイッチ部20BのIF−1及びIF−2、光スイッチ部20AのIF−4を経由する。
【0016】
図2は、第1の実施の形態の光スイッチ部20の構成を示す図である。光スイッチ部20は、CPU201、メモリ202、二次記憶装置203、通信インターフェース204、スイッチ205、及び光インターフェース206を含む。
【0017】
CPU201は、メモリ202に記憶されたプログラムを実行する。メモリ202は、CPU201によって実行されるプログラム及び処理に必要なデータを格納する。二次記憶装置203は、光スイッチ部20を制御するソフトウェア及び設定ファイルなどを格納する。
【0018】
通信インターフェース204は、外部と接続するためのインターフェースであり、GMPLS制御部30と接続される。第1の実施の形態では、通信インターフェース204が1つ搭載されていれば実施可能であるが、複数の通信インターフェース204の搭載を妨げるものではない。
【0019】
スイッチ205は、光信号を集約する。光インターフェース206は、光ファイバを接続するインターフェースである。また、光インターフェース206は、図1の光スイッチ部20A、20B及び20CのIF−1〜IF−4に対応する。
【0020】
図3は、第1の実施の形態のGMPLS制御部30の構成を示す図である。GMPLS制御部30は、CPU301、メモリ302、二次記憶装置303、及び通信インターフェース304を含む。
【0021】
CPU301は、メモリ302に記憶されたプログラムを実行する。メモリ302は、CPU301によって実行されるプログラム及び処理に必要なデータを格納する。二次記憶装置303は、ソフトウェア及び設定ファイルなどを格納する。
【0022】
通信インターフェース304は、外部と接続するためのインターフェースであり、光スイッチ20と接続される。なお、通信インターフェース304は、1つ搭載されていれば実施可能であるが、複数の通信インターフェース304の搭載を妨げるものではない。
【0023】
ここで、第1の実施の形態のネットワークにおけるD−Plane回線障害を復旧する処理手順の概要を説明する。第1の実施の形態では、光スイッチ部20CのIF−1から入力されたデータを光スイッチ20AのIF−2から出力するデータ通信を想定する。
【0024】
図1には、光スイッチ部20CのIF−1から入力され、光スイッチ部20AのIF−2から出力されるLSP60A及びLSP60Bが示されている。第1の実施の形態では、LSP60Aを主経路、LSP60Bを副経路とし、通常は、LSP60Aを経由して通信する。そして、LSP60Aに障害が発生した場合には、各光スイッチ部20においてスイッチ設定を切替えることによって、副経路であるLSP60Bを経由したデータ通信に切替える。
【0025】
データ回線の障害は、光スイッチ部20によって検出される。また、経路の切替処理も光スイッチ部20によって実行される。一方、LSPの状態変更は、GMPLSプロトコルに基づいて実行され、GMPLS制御部30によって処理される。障害復旧処理方法には、経路切替とLSPの状態変更を実行する順序によって、光スイッチ部主導で先に経路を切替えるプロテクション方式と、GMPLS制御部主導で先にLSPの状態を変更するレストレーション方式の2種類がある。
【0026】
プロテクション方式は、光スイッチ部20の内部処理で経路を切替える。一方、レストレーション方式は、光スイッチ部20がデータ回線障害をGMPLS制御部30に通知し、その後、GMPLS制御部30からの指示に従って光スイッチ部20が経路を切替える。したがって、プロテクション方式は、レストレーション方式と比較してより高速に障害を復旧させることができる。しかし、LSPの状態は、GMPLS制御部30によって管理されるため、プロテクション方式では一時的に実際のスイッチ状態とLSPの状態とが異なってしまう場合がある。
【0027】
なお、GMPLS制御部30が正常に動作している場合には、LSPの状態と実際のスイッチ状態との不一致は漸次解消される。しかし、GMPLS制御部30に障害が発生した場合又はGMPLS制御部30のソフトウェアを更新する場合など、何らかの理由でGMPLS制御部30が正常に動作していない場合には、LSPの状態と実際のスイッチ状態の不一致が解消されない場合が生じる。
【0028】
そこで、第1の実施の形態では、光スイッチ部20において、経路切替前と経路切替後のスイッチ状態を保持し、GMPLS制御部30に経路切替通知が成功したか否かによって、その後のGMPLS制御部30からのスイッチ状態問合せに対する応答を変更し、プロテクション方式での、データ回線障害とGMPLS制御部障害との二重障害時の復旧を可能とする。
【0029】
第1の実施の形態では、GMPLS制御部間のパス設定プロトコルとしてRSVP−TEを採用し、GMPLS制御部が再起動するときのパス状態を復旧させる手順としてRFC3473に規定されているグレースフル・リスタート処理を利用する。なお、他のパス設定プロトコルを採用した場合であっても同じく本発明を適用することができる。
【0030】
図4は、第1の実施の形態のデータ回線障害及びGMPLS制御部障害の二重障害が発生したときの復旧処理の手順を示すシーケンス図である。図4では、GMPLS制御部30Aの再起動中に光スイッチ部20AがIF−1での障害を検出し、経路をLSP60AからLSP60Bに切替えた場合のGMPLS制御部30Aの復旧手順を示している。
【0031】
GMPLS制御部30A、30B、及び30Cは、相互にHelloメッセージを交換して正常動作していることを周期的に確認する(401〜404)。
【0032】
GMPLS制御部30B及び30Cは、GMPLS制御部30Aが再起動を開始すると(405)、一定期間以上GMPLS制御部30AからのHelloメッセージを受信することができなくなる(タイムアウト発生)。そこで、GMPLS制御部30B及び30Cは、GMPLS制御部30A又はGMPLS制御部30Aとの間のC−Plane網40に障害が発生したものと判定する。そして、GMPLS制御部30B及び30Cは、GMPLS制御部30Aを経由するパス情報の更新を停止し、パス情報の保護を開始する。
【0033】
その後、光スイッチ部20Aは、IF−1における光データ回線の障害を検出すると(406)、使用中のLSP60Aから副経路のLSP60Bに切替える。具体的には、光スイッチ部20Aは、D−Plane網50を介して光スイッチ部20B及び光スイッチ部20Cにスイッチ切替指示を送信する(407、408)。光スイッチ部20B及び光スイッチ部20Cは、スイッチ切替指示を受信すると、経路をLSP60AからLSP60Bに切替えて、データ通信の障害を復旧させる。
【0034】
光スイッチ部20Aは、スイッチ状態が変更されたことをGMPLS制御部30Aに通知するが(409)、再起動中であるために応答されない。そこで、光スイッチ部20Aは、GMPLS制御部30Aに何らかの障害が発生していると判断し、光スイッチ部20Aの内部状態を「保留」状態とする。
【0035】
その後、GMPLS制御部30Aは、再起動が完了すると(410)、光スイッチ部20Aに対してスイッチ状態を問い合わせる(411)。このとき、光スイッチ部20Aは、内部状態が「保留」状態であるため、LSP60Bに切替えた後のスイッチ状態ではなく、切替前のLSP60Aのスイッチ状態を送信する(412)。
【0036】
なお、GMPLS制御部30の障害発生を判定するタイムアウト時間は、機器構成によって異なるが、第1の実施の形態では約15ミリ秒程度を想定している。同じく、データ障害検出から光スイッチ部がスイッチ切替指示を出すまでの時間は、約50ミリ秒を想定している。また、GMPLS制御部30が再起動を始めてから再起動が完了するまでの時間は、数秒から数十秒程度を想定している。
【0037】
GMPLS制御部30Aは、光スイッチ部20Aによって送信されたスイッチ状態の応答結果に基づいて、パス状態の復旧を開始する。そして、GMPLS制御部30Aは、状態復旧中であることを示すパラメータ値を設定したHelloメッセージを、隣接するGMPLS制御部30B及び30Cに送信する(413、415)。
【0038】
Helloメッセージを受信したGMPLS制御部30B及び30Cは、Helloメッセージ交換を再開し(414、416)、状態復旧に必要な情報を含んだPATHメッセージをGMPLS制御部30Aに送信する。第1の実施の形態では、隣接するGMPLS制御部30B及び30Cには、共にGMPLS制御部30Aを経由するLSPが設定されているため、GMPLS制御部30B及び30Cの双方からPATHメッセージがGMPLS制御部30Aに送信される(417、418)。
【0039】
GMPLS制御部30Aは、PATHメッセージを受信すると、受信したメッセージの内容に基づいて、パス状態を復旧させる。そして、隣接するGMPLS制御部30B及び30CにRESVメッセージを送信することによって、パスの復旧が完了したことを通知する(419、420)。GMPLS制御部30B及び30Cは、状態復旧中のGMPLS制御部30AからのRESVメッセージを受信することによって、パス状態の復旧が完了したと判断し、パス状態の保護を停止し、通常処理に移行する。
【0040】
GMPLS制御部30Aは、全てのパス状態の復旧を終えると、光スイッチ部20Aに対し、保留状態の解除を指示する(421)。光スイッチ部20Aは、指示に従って内部状態を通常状態に変更し、GMPLS制御部30Aに確認応答を送信する(422)。
【0041】
以上の処理によって、GMPLS制御部30Aに格納されたスイッチ状態は、GMPLS制御部30B及び30Cのスイッチ状態、さらに、実際のパス状態と矛盾することなく復旧が完了する。その後、引き続き、通常のプロテクション処理手順が実行される。
【0042】
ここで、その後実行されるプロテクション処理手順を簡単に説明すると、まず、障害が発生した光スイッチ部から、隣接する光スイッチ部に主回線から副回線への経路切替指示を送信する。図4では、407及び408のメッセージが該当する。このとき、光スイッチ部20は、GMPLS制御部30に経路が変更されたことのみを通知する。その後、GMPLS制御部30は、制御対象の光スイッチ部20と通信し、内部に格納したパス状態を更新し、整合性を確保する。
【0043】
なお、図4に示した手順において、GMPLS制御部30間で送受信されるメッセージは、RFC3473に記載されているグレースフル・リスタート処理と同一である。そして、交換されるメッセージについて、本発明の実施のために変更した点はないため、詳細な説明を省略する。
【0044】
続いて、第1の実施の形態の経路復旧処理手順に利用される光スイッチ部20及びGMPLS制御部30に格納される情報について説明する
図5は、第1の実施の形態のスイッチ状態管理テーブル220の構成を示す図である。スイッチ状態管理テーブル220は、光スイッチ部20のメモリ202に格納される。光スイッチ部20には、運用中のスイッチ205の状態を示すスイッチ状態管理テーブル220Aと、切替前のスイッチ状態を示す退避中スイッチ状態管理テーブル220Bが含まれる。スイッチ状態管理テーブル220A及び220Bは、同じ構造である。
【0045】
スイッチ状態管理テーブル220は、入力IFフィールド2201、出力IFフィールド2202、及びIF状態フィールド2203を含む。
【0046】
入力IFフィールド2201は、スイッチ205の入力側のIF番号を格納する。出力IFフィールド2202は、スイッチ205の出力側のIF番号を格納する。IF状態フィールド2203は、入力IFフィールド2201で指定されたIFの状態を格納する。
【0047】
IFの状態は、「未使用」「使用中」「予約済」「障害中」の4種類の状態が定義される。「未使用」は、当該IFが利用されていないことを示し、「使用中」は、当該IFが出力IFと接続されている状態であることを示す。また、「予約済」は、障害発生時に切替えられる副経路などとして、当該IFを経由するパスが設定されているが、実際にはスイッチ205で入力IFと出力IFが接続されていない状態であることを示す。「障害中」は、当該入力IFに障害が発生し、通信することができない状態にあることを示す。なお、IF状態フィールド2203は、格納された値が「使用中」以外の状態の場合には、出力IFフィールド2202の値は無視される。
【0048】
図6は、第1の実施の形態のスイッチ部内部状態管理テーブル230の構成を示す図である。スイッチ部内部状態管理テーブル230は、光スイッチ部20のメモリ202に格納される情報である。
【0049】
スイッチ部内部状態管理テーブル230は、光スイッチ部20の内部状態を格納する。内部状態には、「通常」状態と「保留」状態が定義される。「保留」状態は、スイッチ205の状態変更をGMPLS制御部30に通知したが、GMPLS制御部30が通知を受信できない状態である。「通常」状態は、「保留」状態以外の状態である。
【0050】
図7は、第1の実施の形態のパス状態管理テーブル330の構成を示す図である。パス状態管理テーブル330は、GMPLS制御部30のメモリ302に格納される。GMPLSプロトコルによって設定されたパスの状態を保持する。
【0051】
パス状態管理テーブル330は、セッションIDフィールド3301、入力側IF_IDフィールド3302、入力側ラベルフィールド3303、出力側IF_IDフィールド3304、出力側ラベルフィールド3305、状態フィールド3306、及びその他属性値フィールド3307によって構成される。
【0052】
セッションIDフィールド3301は、RSVP−TEプロトコルにおいてパスを識別するために使用されるセッションID値を格納する。
【0053】
入力側IF_IDフィールド3302、及び入力側ラベルフィールド3303は、それぞれ入力側のIF_ID値及びラベル値を格納する。出力側IF_IDフィールド3304、及び出力側ラベルフィールド3305は、それぞれ出力側のIF_ID値及びラベル値を格納する。
【0054】
なお、IF_ID及びラベルは、GMPLSプロトコルにおいて定義されている、種々の伝送方式のスイッチを抽象化し、統一して扱うための概念である。第1の実施の形態では、IF_IDは、光スイッチ20の光インターフェース206を特定するための数値である。また、ラベルは、光スイッチ20の光インターフェース206から入出力される光データの波長を特定するための数値である。そして、IF_ID及びラベルの値は数値であり、各GMPLS制御部30が独自に決定して隣接するGMPLS制御部30に通知する。IF_ID及びラベルの値は、物理的な対応関係(例えば、光の波長をナノメートルで表した数値等)はなく、値が一致するか否かの判定にのみ使用される。
【0055】
RSVP−TEでは、IF_ID値は、当該インターフェースを管理するGMPLS制御部30によって決定される。また、ラベル値は、下流側、すなわちデータを受信する側のGMPLS制御部30によって指定される。したがって、前述のフィールドでは、入力側IF_IDフィールド3302、入力側ラベルフィールド3303、及び出力側IF_IDフィールド3304には、当該GMPLS制御部30が決定した値が格納される。さらに、出力側ラベルフィールド3305には、隣接する下流側の他のGMPLS制御部30から通知された値を格納する。
【0056】
状態フィールド3306は、各パスの状態が格納される。パス状態には、「使用中」、「予約済」、及び「復旧中」の3種類の状態が定義される。「使用中」状態は、当該パスがGMPLS制御部30間で設定され、また、各光スイッチ部20においても当該パス設定に従ってスイッチ205が設定されている状態である。一方、「予約済」状態は、当該パスが各GMPLS制御部30間で設定されているが、各光スイッチ部20のスイッチ205の設定はされていない状態である。また、「復旧中」状態は、グレースフル・リスタート手順に従ってパス状態を復旧している最中であることを示す。
【0057】
その他属性値フィールド3307は、プロテクション処理に必要な情報など、RSVP−TEで規定されている種々のパス情報を格納する。その他属性値フィールド3307の値は、RSVP−TEで規定された値を格納し、本発明の実施にあたって特に変更する必要がないため、詳細な説明は省略する。
【0058】
引き続き、光スイッチ部20、GMPLS制御部30の処理手順をフローチャートを用いて示す。
【0059】
図8は、第1の実施の形態の光スイッチ部障害チェック処理250の手順を示すフローチャートである。光スイッチ部障害チェック処理250は、光スイッチ部20のCPU201によって、周期的に実行される。
【0060】
光スイッチ部20は、まず、各光インターフェース206の状態をチェックする(2501)。そして、障害発生の有無を判定し(2502)、障害が発生していない場合には(2502の結果が「No」)、処理を終了する。
【0061】
一方、光スイッチ部20は、障害が発生していない場合には(2502の結果が「Yes」、図4の406)、スイッチ状態管理テーブル220Aの内容をスイッチ状態管理テーブル220Bに複写し、スイッチ状態を退避する(2503)。
【0062】
次に、光スイッチ部20は、障害が発生したインターフェースを経由するプロテクションパスが設定されているか否かを確認する(2504)。プロテクションパスとは、障害が発生したとき、通信する代替経路である。第1の実施の形態では、副回線であるLSP60Bが該当する。
【0063】
光スイッチ部20は、プロテクションパスが設定されている場合には(2504の結果が「Yes」)、D−plane網50の経路切替処理を実行する(2505、図4の407及び408)。D−Plane網50における経路切替処理は、予め定められたプロテクションパスに従って、GMPLS制御部30を介さずに、光スイッチ部20に直接スイッチ切替指示を送信して経路を切替える。経路切替処理が完了すると、スイッチ状態管理テーブル220Aは、切替後の状態に更新される。
【0064】
続いて、光スイッチ部20は、スイッチ状態が変更されたことを通信インターフェース204を介して、GMPLS制御部30に通知する(2506、図4の409)。そして、GMPLS制御部30から一定時間内に応答があるか否かを判定する(2507)。GMPLS制御部30からの応答があった場合には(2507の結果が「Yes」)、処理を終了する。また、GMPLS制御部30からの応答がなかった場合には(2507の結果が「No」)、スイッチ部内部状態管理テーブル230の値を「保留」状態に更新し(2508)、本処理を終了する。
【0065】
図9は、第1の実施の形態の光スイッチ部コマンド受信処理260の手順を示すフローチャートである。光スイッチ部コマンド受信処理260は、光スイッチ部20のCPU201によって実行される。光スイッチ部コマンド受信処理260は、光スイッチ部20がGMPLS制御部30によって送信されたコマンドを受信したときに実行される。
【0066】
光スイッチ部20は、まず、通信インターフェース204を介してコマンドを受信する(2601)。そして、受信したコマンドに基づいて、コマンド種別が「保留解除」か否かを判定する(2602A)。コマンド種別が「保留解除」の場合には(2602Aの結果が「Yes」)、GMPLS制御部30のパス状態の回復が完了したため、光スイッチ部20のスイッチ部内部状態管理テーブル230の値を「保留」状態から「通常」状態に更新する(2604、図4の421)。
【0067】
一方、光スイッチ部20は、受信したコマンドのコマンド種別が「保留解除」でなかった場合には(2602Aの結果が「No」)、コマンド種別が「スイッチ状態問合せ」か否かを判定する(2602B)。
【0068】
光スイッチ部20は、受信したコマンドのコマンド種別が「スイッチ状態問合せ」の場合には(2602Bの結果が「Yes」、図4の411)、光スイッチ部20のスイッチ部内部状態管理テーブル230の値が「保留」状態であるか否かを判定する(2603)。
【0069】
光スイッチ部20は、スイッチ部内部状態管理テーブル230の値が「保留」状態である場合には(2603の結果が「Yes」)、GMPLS制御部30のパス状態を再起動前の状態に回復させるため、退避中の状態であるスイッチ状態管理テーブル220Bの内容をコマンドの送信元に通知する(2606、図4の412)。一方、スイッチ部内部状態管理テーブル230の値が「保留」状態でない場合には(2603の結果が「No」)、現在のスイッチ状態であるスイッチ状態管理テーブル220Aの内容をコマンドの送信元に通知する(2607)。
【0070】
光スイッチ部20は、受信したコマンドのコマンド種別が「保留解除」でも、「スイッチ状態問合せ」でもなかった場合には(2602Bの結果が「No」)、受信したコマンドに応じた処理を実行する(2605)。
【0071】
以上が光スイッチ部20において、実行される処理の手順である。続いて、GMPLS制御部30において、実行される処理の手順を説明する。
【0072】
図10は、第1の実施の形態のGMPLS制御部メイン処理350の手順を示すフローチャートである。GMPLS制御部メイン処理350は、GMPLS制御部30のCPU301によって実行される。GMPLS制御部メイン処理350は、通常の電源投入による起動、何らかの障害発生を原因とする再起動、プログラムのバージョンアップ等による計画的な再起動等を契機に実行される。
【0073】
GMPLS制御部30は、まず、初期化処理を実行し(3501)、通信インターフェース304を介して、光スイッチ部20にスイッチ状態を問い合わせる(3502、図4の411)。そして、光スイッチ部20に対する問い合わせの応答があるか否かを判定する(3503)。一定時間内に応答がなかった場合には(3503の結果が「No」)、光スイッチ部20に障害が発生しているものと判定され、システム管理者に対して警告し(3504)、処理を終了する。
【0074】
GMPLS制御部30は、光スイッチ部20から応答があった場合には(3503の結果が「Yes」、図4の412)、受信したスイッチ状態に使用中のスイッチが存在するか否かを判定する(3505)。
【0075】
GMPLS制御部30は、受信したスイッチ状態に使用中のスイッチが存在しない場合には(3505の結果が「No」)、パスを復旧する必要がないため、パス状態管理テーブル330の内容をクリアし、Recovery_time値を0に設定する(3507)。Recovery_time値とは、RFC3473に規定されている値であり、再起動が完了するまでの時間を設定する。したがって、Recovery_time値が0の場合には、再起動ではなく初期起動となる。
【0076】
GMPLS制御部30は、受信したスイッチ状態に使用中のスイッチが存在する場合には(3505の結果が「Yes」)、パス状態管理テーブル330を部分的に復旧させる。具体的には、受信したスイッチ状態に基づいて、復旧中のパスの入力側IF_ID3302及び出力側IF_ID3304の値を更新し、状態フィールド3306の値を「復旧中」に設定する。さらに、Recovery_time値をパス状態を復旧させるために必要な値に設定する(3508)。
【0077】
GMPLS制御部30は、隣接するGMPLS制御部30にHelloメッセージを送信する(3509、図4の413及び415)。このとき送信されるHelloメッセージは、パス状態の復旧中であることを示すパラメータを含む。そして、隣接するGMPLS制御部30から送信したHelloメッセージに対する応答メッセージを受信し(図4の414及び416)、さらに、RSVPメッセージ受信処理を実行する(3510)。RSVPメッセージは、パス状態の復旧中であることを示すパラメータを含むHelloメッセージを受信した隣接するGMPLS制御部30がHelloメッセージの応答とは別に送信するメッセージである。RSVPメッセージ受信処理の内容については、図11にて詳細を後述する。
【0078】
図11は、第1の実施の形態のGMPLS制御部メッセージ受信処理3510の手順を示すフローチャートである。
【0079】
GMPLS制御部30は、通信インターフェース304を介して、他のGMPLS制御部30から送信されるRSVPメッセージを受信する(3601)。そして、GMPLS制御部30は、受信したRSVPメッセージのメッセージ種別が「PATH」であるか否かを判定する(3602A)。
【0080】
GMPLS制御部30は、受信したメッセージがPATHメッセージであった場合には(3602Aの結果が「Yes」、図4の417及び418)、PATHメッセージ処理を実行する(3603)。PATHメッセージ処理の詳細については、図12にて後述する。
【0081】
一方、GMPLS制御部30は、受信したメッセージがPATHメッセージでなかった場合には(3602Aの結果が「No」)、受信したメッセージがRESVメッセージであるか否かを判定する(3602B)。受信したメッセージがRESVメッセージであった場合には(3602Bの結果が「Yes」、図4の419及び420)、RESVメッセージ処理を実行する(3604)。RESVメッセージ処理の詳細については、図13にて後述する。
【0082】
なお、GMPLS制御部30は、受信したRSVPメッセージがPATHメッセージ又はRESVメッセージ以外のメッセージであった場合には(3602Bの結果が「No」)、受信したメッセージに応じた処理を実行する(3605)。3605の処理で実行される処理は、従来技術と相違しないため、詳細な説明は省略する。
【0083】
続いて、PATHメッセージ及びRESVメッセージ処理について説明する。第1の実施の形態におけるRSVPプロトコルを用いたパス設定は、まず、始点ノードから終点ノードに向けてPATHメッセージを送信する。終点ノードは、PATHメッセージを受信すると、始点ノードに向けてRESVメッセージを送信する。そして、始点ノードがRESVメッセージを受信することによって、パス設定が完了するという手順である。したがって、パスの復旧処理においても、上流ノードからのPATHメッセージ及び下流ノードからのRESVメッセージを利用する手順によって状態を復旧させる。
【0084】
図12は、第1の実施の形態のGMPLS制御部PATHメッセージ処理3603の手順を示すフローチャートである。GMPLS制御部PATHメッセージ処理3603は、GMPLS制御部30のCPU301によって実行される。
【0085】
GMPLS制御部30は、まず、PATHメッセージにRECOVERY_LABELオブジェクトが含まれているか否かを判定する(3701)。PATHメッセージは、新規にパスを設定する場合、及び障害からパスを回復させる場合に使用される。そこで、GMPLS制御部30は、受信したPATHメッセージにRECOVERY_LABELオブジェクトが含まれているか否かを判定することによって、パス状態を復旧させるためのPATHメッセージか否かを判定する。なお、RECOVERY_LABELオブジェクトの詳細については、RFC3473に規定されている。
【0086】
GMPLS制御部30は、PATHメッセージにRECOVERY_LABELオブジェクトが含まれていない場合には(3701の結果が「No」)、受信したPATHメッセージがパス状態を復旧させるためのメッセージでないため、通常のPATHメッセージ処理を実行する(3703)。
【0087】
一方、GMPLS制御部30は、PATHメッセージにRECOVERY_LABELオブジェクトが含まれている場合には(3701の結果が「Yes」、図4の417及び418)、パス状態の復旧処理を実行する。
【0088】
具体的には、まず、GMPLS制御部30は、受信したPATHメッセージの内容に基づいて、パス状態管理テーブル330を復旧する(3702)。このとき、パスの全てのフィールドの復旧が完了したエントリは、状態フィールド3306の値を「復旧中」から元の状態に変更する。全てのフィールドの復旧が完了していないエントリは、状態フィールド3306の値を「復旧中」のままとする。
【0089】
次に、GMPLS制御部30は、自ノードがパスの終端であるか否かを判定する(3704)。自ノードがパスの終端である場合には(3704の結果が「Yes」)、上流ノードにRESVメッセージを送信する(3706)。自ノードがパスの終端でない場合には(3704の結果が「No」)、下流ノードにPATHメッセージを送信する(3705)。
【0090】
さらに、GMPLS制御部30は、パス状態管理テーブルの全てのエントリの復旧が完了したか否かを判定する(3707)。完了していない場合には(3707の結果が「No」)、処理を終了する。完了した場合には(3707の結果が「Yes」)、光スイッチ部20に保留解除コマンドを通知し(3708)、処理を終了する。
【0091】
図13は、第1の実施の形態のGMPLS制御部RESVメッセージ処理3604の手順を示すフローチャートである。GMPLS制御部RESVメッセージ処理3604は、GMPLS制御部30のCPU301によって実行される。
【0092】
GMPLS制御部30は、受信したRESVメッセージに対応し、パス状態管理テーブル330の状態フィールド3306の値が「復旧中」であるエントリが存在するか否かを判定する(3801)。RESVメッセージには、PATHメッセージのRECOVERY_LABELオブジェクトのようにパス状態を復旧するためのメッセージであることを識別する情報は含まれていないため、セッションIDの値が一致するか否かによって判定する。
【0093】
GMPLS制御部30は、受信したRESVメッセージに対応するパス状態管理テーブル330のエントリが存在しない場合には(3801の結果が「No」)、通常のRESVメッセージ処理を実行する(3803)。
【0094】
一方、GMPLS制御部30は、受信したRESVメッセージに対応するパス状態管理テーブル330のエントリが存在する場合には(3801の結果が「Yes」、図4の419又は420)、パス状態の復旧処理を実行する。具体的には、GMPLS制御部30は、受信したRESVメッセージの内容に基づいて、パス状態管理テーブル330の内容を復旧させる(3802)。そして、図12の3702の処理と同じく、パスの全ての情報の復旧が完了したエントリは、状態フィールド3306の値を「復旧中」から元の状態へと変更する。そして、全てのフィールドの復旧が完了していないエントリは、状態フィールド3306の値を「復旧中」のままとする。
【0095】
次に、GMPLS制御部30は、自ノードがパスの始点であるか否かを判定する(3804)。パスの始点でない場合には(3804の結果が「Yes」)、上流ノードにRESVメッセージを送信する(3805)。
【0096】
さらに、GMPLS制御部30は、パス状態管理テーブルの全てのエントリの復旧が完了したか否かを判定する(3806)。全てのエントリの復旧が完了していない場合には(3806の結果が「No」)、処理を終了する。全てのエントリの復旧が完了した場合には(3806の結果が「Yes」)、光スイッチ部20に保留解除コマンドを通知し(3807)、処理を終了する。
【0097】
図14は、第1の実施の形態のGMPLS制御部光スイッチ部メッセージ受信処理390の手順を示すフローチャートである。GMPLS制御部光スイッチ部メッセージ受信処理390は、GMPLS制御部30のCPU301によって実行される。
【0098】
GMPLS制御部30は、通信インターフェース304を介して光スイッチ部20によって送信されたメッセージを受信する(3901)。そして、受信したメッセージのメッセージ種別が「スイッチ状態変更」であるか否かを判定する(3902)。受信したメッセージのメッセージ種別が「スイッチ状態変更」でない場合には(3902の結果が「No」)、受信したメッセージに従った処理を実行する(3904)。
【0099】
一方、GMPLS制御部30は、受信したメッセージのメッセージ種別が「スイッチ状態変更」であった場合には(3902の結果が「Yes」)、光スイッチ部20にACKを送信する(3903)。そして、光スイッチ部20にスイッチ状態を問い合わせる(3905)。さらに、光スイッチ部20が応答したスイッチ状態に基づいて、プロテクション処理を実行する(3906)。
【0100】
以上、光スイッチ部20及びGMPLS制御部30によって実行される処理について説明した。続いて、以上の処理手順に従ってパス状態を復旧させる具体的な例を、図を参照しながら説明する。
【0101】
図15A及び図15Bは、第1の実施の形態の光スイッチ部20Aのスイッチ状態管理テーブル220Aの内容を示す図である。図15Aは、データ障害検出前(図4の406の前)の状態である。また、図15Bは、データ障害検出後(図4の406の後)の状態である。
【0102】
図15Aを参照すると、データ障害を検出する前であるため、IF−1及びIF−2が接続されている。したがって、IF−1及びIF−2のIF状態は、ともに「使用中」となっている。図15Aに示す状態は、図1に示す主回線であるLSP60Aを経由して通信している。また、副回線であるLSP60Bで使用されるIF−4は、IF状態が「予約中」に設定されている。
【0103】
ここで、IF−1に障害が発生すると、IF−1の状態は、図15Bに示すように「使用中」から「障害中」に更新される。そして、パスが、LSP60AからLSP60Bに切替えられるため、副回線のIF−4の状態が「予約中」から「使用中」に変更される。
【0104】
図16Aから図16Dは、第1の実施の形態のGMPLS制御部30Aのパス状態管理テーブル330の内容を示す図である。なお、図16のIF_IDの値は、第1の実施の形態では、図15での入力IFの値に1000を加算した値としている。
【0105】
図16Aは、GMPLS制御部30Aが再起動する前のパス状態管理テーブル330を示している(図4の405の前)。GMPLS制御部30Aが再起動する前は、光スイッチ部20AのIF−1に障害が発生していないため、稼働中のLBP60Aに対応するSESSION_A及び予約中のLBP60Bに対応するSESSION_Bは、図16Aに示すように格納されている。具体的には、SESSION_Aは、入力IFを1とし、出力IFを2としている。また、SESSION_Bは、入力IFを4とし、出力IFを2としている。
【0106】
図16Bは、光スイッチ部20Aに問い合わせて受信したスイッチ状態に基づいて復旧したパス状態管理テーブル330を示している(図4の412の後)。
【0107】
GMPLS制御部30Aは、再起動が完了すると、GMPLS制御部メイン処理350の初期化処理3501によって、パス状態管理テーブル330をクリアする。その後、GMPLS制御部30Aは、光スイッチ部20Aにスイッチ状態を問い合わせ(図10の3502、図4の411)、スイッチ状態を受信する(図4の412)。GMPLS制御部30Aは、受信したスイッチ状態に基づいて、パス状態管理テーブル330を更新する(図10の3506)。
【0108】
このとき、光スイッチ部20Aは、IF−1に障害が発生しているため、LBP60AからLBP60Bに切替えられている(図8の2505、図4の407及び408)。また、切替後に、光スイッチ部20AからGMPLS制御部30Aに送信したスイッチ状態変更通知に対する応答を受信していないため(図8の2506、図4の409)、内部状態が「保留」状態となっている(図8の2508)。よって、GMPLS制御部30Aは、光スイッチ部20Aにスイッチ状態を問い合わせたとき(図4の411)、受信するスイッチ状態は(図4の412)、更新前のスイッチ状態となる(図9の2606)。したがって、GMPLS制御部30Aが実際に受信したスイッチ状態は、図15Aに示したスイッチ状態である。図16Bは、受信したスイッチ状態を反映させた状態である。
【0109】
図16Cは、GMPLS制御部30Bによって送信されたPATHメッセージに基づいて復旧させたパス状態管理テーブル330を示している(図4の417の後)。
【0110】
GMPLS制御部30Aは、GMPLS制御部30Bに状態復旧中であることを示すパラメータを含むHelloメッセージを送信すると(図10の3509、図4の413)、GMPLS制御部30BからPATHメッセージを受信する(図10の3510)。受信したPATHメッセージは、通常のグレースフル・リスタートの手順に従うため、再起動前のパス状態が含まれている。GMPLS制御部30Aは、受信した再起動前のパス状態に基づいて、パス状態管理テーブル330を更新する(図12の3702)。GMPLS制御部30Bからは、SESSION_Bのパス状態が送信されるため、図16Cに示すように、SESSION_Bのパス状態が復旧される。
【0111】
図16Dは、GMPLS制御部30Cから受信したPATHメッセージに基づいて復旧させたパス状態管理テーブル330を示している(図4の418の後)。
【0112】
GMPLS制御部30Aは、GMPLS制御部30Cから受信したPATHメッセージに基づいて、パス状態管理テーブル330を復旧させる。受信したPATHメッセージには、SESSION_A及びSESSION_Bのパス状態が含まれ、復旧していないSESSION_Aのパス状態を回復させることができる。以上の処理が完了すると、パス状態管理テーブル330は、図16Dに示す状態となり、図16Aの内容と一致する。
【0113】
以上の処理によって、パス状態管理テーブル330が回復させると、実際の経路情報との整合性を確保することができる。さらに、通常のプロテクション処理を実行することによって、光スイッチ部20とGMPLS制御部30との整合性を確保することができる。
【0114】
第1の実施の形態によれば、GMPLS制御部30が再起動中に光スイッチ部のIFに障害が発生した場合であっても、グレースフル・リスタート及びプロテクション処理によって、矛盾無くパス状態を復旧させることができる。また、第1の実施の形態では、高価なホットスタンバイ方式を用いる必要もない。
【0115】
さらに、第1の実施の形態によれば、GMPLS制御部30に障害が発生した場合だけでなく、ソフトウェアの更新などの障害以外の要因による再起動の場合にも適用可能であるため、管理コストを削減することができる。
【0116】
(第2の実施の形態)
図17は、第2の実施の形態のネットワークシステムの構成図である。第2の実施の形態のハードウェア及びソフトウェアの構成は、第1の実施の形態と同一である。また、相違点としては、LSP60Bが主経路、LSP60Aが副経路となっている。そして、第2の実施の形態では、GMPLS制御部30Bの再起動中に、光スイッチ部20Cと光スイッチ部20Bと間のデータ回線に障害が発生し、データ経路をLSP60BからLSP60Aに切替える。
【0117】
図18は、第2の実施の形態のデータ回線障害及びGMPLS制御部障害との二重障害が発生したときの復旧処理の手順を示すシーケンス図である。GMPLS制御部30A、30B、及び30Cは、第1の実施の形態と同様に、相互にHelloメッセージを交換して正常動作していることを周期的に確認する(601〜604)。
【0118】
GMPLS制御部30A及び30Cは、GMPLS制御部30Bが再起動を開始すると(605)、一定期間以上GMPLS制御部30BからのHelloメッセージを受信することができなくなる。そこで、GMPLS制御部30A及び30Cは、GMPLS制御部30B、又はGMPLS制御部30Bとの間のC−Plane網40のいずれかに障害が発生したものと判定する。そして、GMPLS制御部30A及び30Cは、GMPLS制御部30Bを経由するパス情報の更新を停止し、パス情報の保護を開始する。
【0119】
その後、光スイッチ部20Bは、IF−1における光データ回線の障害を検出すると(606)、使用中のLSP60Bから副経路のLSP60Aに切替える。具体的には、光スイッチ部20Bは、D−Plane網50を介して光スイッチ部20A及び光スイッチ部20Cにスイッチ切替指示を送信する(607、608)。光スイッチ部20A及び光スイッチ部20Cは、スイッチ切替指示を受信すると、経路をLSP60BからLSP60Aに切替えて、障害を復旧させる。
【0120】
光スイッチ部20Bは、スイッチ状態が変更されたことをGMPLS制御部30Bに通知するが(609)、GMPLS制御部30Bが再起動中であるために応答を受信することができない。そこで、光スイッチ部20Bは、GMPLS制御部30Bに何らかの障害が発生していると判断し、内部状態を「保留」状態とする。
【0121】
その後、GMPLS制御部30Bは、再起動が完了すると(610)、光スイッチ部20Bに対してスイッチ状態を問い合わせる(611)。このとき、光スイッチ部20Bは、内部状態が「保留」状態であるため、LSP60Aに切替えた後のスイッチ状態ではなく、切替前のLSP60Bのスイッチ状態を送信する(612)。
【0122】
GMPLS制御部30Bは、光スイッチ部20Bによって送信されたスイッチ状態の応答結果に基づいて、パス状態の復旧を開始する。そして、GMPLS制御部30Bは、状態復旧中であることを示すパラメータ値を設定したHelloメッセージを、隣接するGMPLS制御部30A及び30Cに送信する(613、615)。
【0123】
Helloメッセージを受信したGMPLS制御部30A及び30Cは、Helloメッセージの交換を再開し(614、616)、状態復旧に必要な情報を含んだPATHメッセージをGMPLS制御部30Bに送信する。第2の実施の形態では、上流側のGMPLS制御部30CからPATHメッセージがGMPLS制御部30Bに送信される(617)。
【0124】
GMPLS制御部30Bは、GMPLS制御部30CからPATHメッセージを受信すると、受信したメッセージの内容に基づいて、パス状態を復旧させる(図12の3702)。そして、下流側のGMPLS制御部30AにPATHメッセージを送信する(618)。
【0125】
GMPLS制御部30Aは、PATHメッセージを受信すると、自ノードが終端であるため(図12の3704の結果が「Yes」)、GMPLS制御部30BにRESVメッセージを送信する(619、図12の3706)。
【0126】
GMPLS制御部30Bは、RESVメッセージを受信すると、受信したRESVメッセージの内容に基づいて、パス状態を復旧し(図13の3802)、RESVメッセージをGMPLS制御部30Cに送信する(620、図13の3805)。そして、GMPLS制御部30Cは、GMPLS制御部30BからRESVメッセージを受信すると、パス状態の復旧が完了したものと判定し、パス状態の保護を停止し、通常処理に移行する。
【0127】
GMPLS制御部30Bは、全てのパス状態の復旧を終えると、光スイッチ部20Bに対し、保留状態の解除を指示する(621)。光スイッチ部20Bは、指示に従って内部状態を通常状態に変更し、GMPLS制御部30Bに確認応答を送信する(622)。その後、引き続き、通常のプロテクション処理手順が実行され、GMPLS制御部30と光スイッチ部20との整合性が確保される。
【0128】
次に、第2の実施の形態において、以上の処理手順に従い、パス状態管理テーブル330の内容が更新される推移を具体的な例を参照しながら説明する。
【0129】
図19A及び図19Bは、第2の実施の形態の光スイッチ部20Bのスイッチ状態管理テーブル220Aの内容を示す図である。図19Aは、データ障害検出前(図18の606の前)の状態である。また、図19Bは、データ障害検出後(図18の606の後)の状態である。
【0130】
図19Aを参照すると、データ障害を検出する前であるため、IF−1及びIF−2が接続されている。したがって、IF−1及びIF−2のIF状態は、ともに「使用中」となっている。図15Aに示す状態では、図17に示す主回線であるLSP60Bを経由して通信する。また、副回線であるLSP60Aは、光スイッチ部20Bを経由せずに通信する。
【0131】
ここで、IF−1に障害が発生すると、図19Bに示すように、IF−1の状態が「使用中」から「障害中」に更新される。そして、パスが、LSP60AからLSP60Bに切替えられ、他のIFがすべて「未使用」に変更される。
【0132】
図20Aから図20Dは、第2の実施の形態のGMPLS制御部30Aのパス状態管理テーブル330の内容を示す図である。
【0133】
図20Aは、GMPLS制御部30Bが再起動する前のパス状態管理テーブル330を示している(図18のシーケンス605の前)。GMPLS制御部30Bが再起動する前は、光スイッチ部20BのIF−1に障害が発生していないため、稼働中のLBP60Bに対応するSESSION_Bは、光スイッチ部20Bのパス状態管理テーブル330に図20Aに示すように格納されている。具体的には、SESSION_Bは、入力IFを1とし、出力IFを2としている。
【0134】
図20Bは、光スイッチ部20Bに問い合わせて受信したスイッチ状態に基づいて復旧したパス状態管理テーブル330を示している(図18の612の後)。
【0135】
GMPLS制御部30Bは、再起動が完了すると、GMPLS制御部メイン処理350の初期化処理3501によって、パス状態管理テーブル330をクリアする。その後、GMPLS制御部30Bは、光スイッチ部20Bにスイッチ状態を問い合わせ(図10の3502、図18の611)、光スイッチ部20Bからスイッチ状態を受信する(図18の612)。GMPLS制御部30Bは、受信したスイッチ状態に基づいて、パス状態管理テーブル330を更新する(図10の3506)。
【0136】
このとき、光スイッチ部20Bは、IF−1に障害が発生しているため、LBP60BからLBP60Aに切替えられている(図8の2505、図18の607及び608)。また、切替後に、光スイッチ部20BからGMPLS制御部30Bに送信したスイッチ状態変更通知に対する応答を受信していないため(図8の2506、図18の609)、内部状態が「保留」状態となっている(図8の2508)。したがって、GMPLS制御部30Bは、光スイッチ部20Bにスイッチ状態を問い合わせたとき(図18の611)、受信するスイッチ状態は(図18の612)、更新前のスイッチ状態となる(図9の2606)。したがって、GMPLS制御部30Bが実際に受信したスイッチ状態は、図19Aに示したスイッチ状態である。図20Bは、受信したスイッチ状態を反映させた状態である。
【0137】
図20Cは、GMPLS制御部30Cによって送信されたPATHメッセージに基づいて復旧させたパス状態管理テーブル330を示している(図18の617の後)。
【0138】
GMPLS制御部30Bは、GMPLS制御部30Cに状態復旧中であることを示すパラメータを含むHelloメッセージを送信すると(図10の3509、図18の613)、GMPLS制御部30BからPATHメッセージを受信する(図10の3510)。受信したPATHメッセージには、通常のグレースフル・リスタートの手順に従うため、再起動前のパス状態が含まれている。GMPLS制御部30Bは、受信した再起動前のパス状態に基づいて、パス状態管理テーブル330を更新する(図12の3702)。
【0139】
図20Dは、GMPLS制御部30Aから受信したRESVメッセージに基づいて復旧させたパス状態管理テーブル330を示している(図18の619の後)。
【0140】
GMPLS制御部30Bは、GMPLS制御部30Aから受信したRESVメッセージに基づいて、パス状態管理テーブル330を復旧させる。以上の処理が完了すると、パス状態管理テーブル330は、図20Dに示す状態となり、図20Aの内容と一致する。
【0141】
第2の実施の形態によれば、障害が発生した光スイッチ部20が終端でない場合であっても、第1の実施の形態と同様に、グレースフル・リスタート及びプロテクション処理によって、矛盾無くパス状態を復旧させることができる。
【図面の簡単な説明】
【0142】
【図1】第1の実施の形態のネットワークシステムの構成図である。
【図2】第1の実施の形態の光スイッチ部の構成図である。
【図3】第1の実施の形態のGMPLS制御部の構成図である。
【図4】第1の実施の形態のデータ回線障害及びGMPLS制御部障害の二重障害が発生したときの復旧処理の手順を示すシーケンス図である。
【図5】第1の実施の形態のスイッチ状態管理テーブルの構成図である。
【図6】第1の実施の形態のスイッチ部内部状態管理テーブルの構成図である。
【図7】第1の実施の形態のパス状態管理テーブルの構成図である。
【図8】第1の実施の形態の光スイッチ部障害チェック処理のフローチャートである。
【図9】第1の実施の形態の光スイッチ部コマンド受信処理のフローチャートである。
【図10】第1の実施の形態のGMPLS制御部メイン処理のフローチャートである。
【図11】第1の実施の形態のGMPLS制御部メッセージ受信処理のフローチャートである。
【図12】第1の実施の形態のGMPLS制御部PATHメッセージ処理のフローチャートである。
【図13】第1の実施の形態のGMPLS制御部RESVメッセージ処理のフローチャートである。
【図14】第1の実施の形態のGMPLS制御部光スイッチ部メッセージ受信処理のフローチャートである。
【図15A】第1の実施の形態の回線障害発生前のスイッチ状態管理テーブルを示す図である。
【図15B】第1の実施の形態の回線障害発生後のスイッチ状態管理テーブルを示す図である。
【図16A】第1の実施の形態の再起動前のパス状態管理テーブルを示す図である。
【図16B】第1の実施の形態のスイッチ状態受信後のパス状態管理テーブルを示す図である。
【図16C】第1の実施の形態のPATHメッセージ受信後のパス状態管理テーブルを示す図である。
【図16D】第1の実施の形態のPATHメッセージ受信後のパス状態管理テーブルを示す図である。
【図17】第2の実施の形態のネットワークシステムの構成図である。
【図18】第2の実施の形態の障害復旧処理のシーケンス図である。
【図19A】第2の実施の形態の回線障害発生前のスイッチ状態管理テーブルを示す図である。
【図19B】第2の実施の形態の回線障害発生後のスイッチ状態管理テーブルを示す図である。
【図20A】第2の実施の形態の再起動前のパス状態管理テーブルを示す図である。
【図20B】第2の実施の形態のスイッチ状態受信後のパス状態管理テーブルを示す図である。
【図20C】第2の実施の形態のPATHメッセージ受信後のパス状態管理テーブルを示す図である。
【図20D】第2の実施の形態のRESVメッセージ受信後のパス状態管理テーブルを示す図である。
【符号の説明】
【0143】
20A、20B、20C 光スイッチ部
30A、30B、30C GMPLS制御部
40 C−Plane網
50 D−Plane網
60A、60B LSP(Label Switch Path)
【技術分野】
【0001】
本発明は、ネットワークシステムに関し、特に、通信制御装置の障害復旧に関する。
【背景技術】
【0002】
GMPLSネットワークでは、D−planeに障害が発生すると、光スイッチ部で障害復旧のために経路を切り替え、経路が切り替わったことをGMPLS制御装置に通知する。このとき、GMPLS制御装置は、改めてGMPLSシグナリングプロトコルを動作させることによって、各制御装置に経路切替を通知して障害を復旧させるプロテクション方式が提案されている(特許文献1参照)。
【0003】
また、GMPLS制御装置は、障害が発生して再起動したとき、隣接ノードから既存のパス情報を受信して、パスの状態を復旧し、パスを切断することなく処理を再開するグレースフル・リスタート方式が提案されている(非特許文献1参照)。
【特許文献1】特開2003−318983号公報
【非特許文献1】L.Berger、「GMPLS RSVP-TE」RFC3473、IETF、2003年1月
【発明の開示】
【発明が解決しようとする課題】
【0004】
一方、グレースフル・リスタートによって、GMPLS制御装置が再起動している間に光スイッチ部で障害が発生し、プロテクション処理が実行されると、実際の光スイッチ部の構成と隣接ノードから送られる既存のパス情報とが相違する。したがって、GMPLS制御装置は、パス情報の再構築に失敗し、処理を再開することができなくなってしまう課題があった。
【課題を解決するための手段】
【0005】
本発明の代表的な一形態によると、1組の、経路制御部と、前記経路制御部に接続されるデータ転送部と、を含むネットワークシステムであって、前記経路制御部は、シグナリングプロトコルを用いてデータを転送する経路を設定し、前記データ転送部は、転送されたデータの入力を受け付ける入力インターフェースと、入力されたデータを出力する出力インターフェースと、を備え、前記経路制御部の指示に従って、前記入力されたデータを隣接するデータ転送部に転送し、前記入力インターフェースと前記出力インターフェースとの対応関係を含む経路情報を格納し、前記データを転送する経路に障害を検出したとき、前記経路情報を変更し、前記経路制御部が再起動している間に、前記障害を検出したとき、前記障害検出前の経路情報、及び前記障害検出後の経路情報を格納し、前記障害検出前の経路情報、又は前記障害検出後の経路情報のいずれか一方を、前記経路制御部に送信し、前記経路制御部との通信状況に応じて設定される内部状態に基づいて、前記送信されるいずれか一方の経路情報を決定し、前記経路制御部は、前記データ転送部の経路情報を格納し、有効な経路が設定された状態で再起動したとき、再起動後に、前記データ転送部から前記経路情報を受信し、前記隣接するデータ転送部を制御する経路制御部に格納された経路情報を取得して再起動前の経路情報に回復させる。
【発明の効果】
【0006】
本発明の一形態によれば、GMPLS制御装置が再起動している間に光スイッチ部のIFに障害が発生したとき、パスの状態の不整合を解消させてから、プロテクション処理を適用することによって、障害を回復させることができる。
【発明を実施するための最良の形態】
【0007】
以下、本発明の実施形態について図面を用いて説明する。
【0008】
(第1の実施の形態)
図1は、第1の実施の形態のネットワークシステムの構成図である。第1の実施の形態のネットワークシステムは、光スイッチ部20、GMPLS制御部30、C−Plane網40、及びD−Plane網50を含む。なお、光スイッチ部20は、光スイッチ部20A、20B及び20Cの総称である。同じく、GMPLS制御部30は、GMPLS制御部30A、30B及び30Cの総称である。
【0009】
また、D−Plane網50には、LSP(Label Switched Path)60が設定されている。LSPとは、MPLSのラベル情報に基づいて設定された経路である。
【0010】
光スイッチ部20は、光信号を波長ごとに光のまま経路を変更する。GMPLS制御部30は、C−Plane網40を介してGMPLSプロトコルに基づいて通信し、LSP60の設定、削除及び状態変更を実行する。また、設定内容を光スイッチ部20に送信し、実際のスイッチ状態の変更を指示する。スイッチ状態は、光スイッチ部20内部の経路情報に対応し、入力インターフェース(IF)と出力IFとの接続関係である。
【0011】
光スイッチ部20及びGMPLS制御部30は、1対1に対応する3組の装置が記載されているが、必要に応じて任意の数の装置を配置する。また、光スイッチ部20とGMPLS制御部30とは、必ずしも1対1である必要はなく、1つのGMPLS制御部30が複数の光スイッチ部20を制御する構成であってもよい。さらに、光スイッチ部20とGMPLS制御部30とは、別々の筐体に実装することも、同一の筐体に実装することも可能である。
【0012】
C−Plane網40は、IPプロトコルを用いたパケット網である。D−Plane網50は、光スイッチ部20が備えるインターフェース間を結んだ回線(データ回線)の集合である。
【0013】
D−Plane網50において、各光スイッチ部20が直接通信可能なデータ回線で接続されているとき、連結された光スイッチ部20は、互いに隣接すると定義する。また、GMPLS制御部30は、制御対象の光スイッチ部20が隣接していれば、直接通信可能な回線で接続されていなくとも、C−Plane網40を経由するなどして、論理的な隣接関係を有するようにネットワークを構成する。
【0014】
なお、第1の実施の形態では、ネットワークスイッチとして光波長スイッチを用いているが、GMPLSで規定されているパケット、TDMなどの他のネットワークスイッチを用いたスイッチ部であっても、そのまま適用可能である。
【0015】
LSP60は、D−Plane網50において、一つ以上のデータ回線を接続し、特定のインターフェースから別のインターフェースまでの経路を定義した論理的な経路(パス)である。図1には、光スイッチ部20CのIF−1から光スイッチ部20AのIF−2までの経路とする、LSP60A及びLSP60Bの2つのLSPが定義されている。LSP60Aは、光スイッチ部20CのIF−2、光スイッチ部20AのIF−1を経由する。同じく、LSP60Bは、光スイッチ部20CのIF−3から光スイッチ部20BのIF−1及びIF−2、光スイッチ部20AのIF−4を経由する。
【0016】
図2は、第1の実施の形態の光スイッチ部20の構成を示す図である。光スイッチ部20は、CPU201、メモリ202、二次記憶装置203、通信インターフェース204、スイッチ205、及び光インターフェース206を含む。
【0017】
CPU201は、メモリ202に記憶されたプログラムを実行する。メモリ202は、CPU201によって実行されるプログラム及び処理に必要なデータを格納する。二次記憶装置203は、光スイッチ部20を制御するソフトウェア及び設定ファイルなどを格納する。
【0018】
通信インターフェース204は、外部と接続するためのインターフェースであり、GMPLS制御部30と接続される。第1の実施の形態では、通信インターフェース204が1つ搭載されていれば実施可能であるが、複数の通信インターフェース204の搭載を妨げるものではない。
【0019】
スイッチ205は、光信号を集約する。光インターフェース206は、光ファイバを接続するインターフェースである。また、光インターフェース206は、図1の光スイッチ部20A、20B及び20CのIF−1〜IF−4に対応する。
【0020】
図3は、第1の実施の形態のGMPLS制御部30の構成を示す図である。GMPLS制御部30は、CPU301、メモリ302、二次記憶装置303、及び通信インターフェース304を含む。
【0021】
CPU301は、メモリ302に記憶されたプログラムを実行する。メモリ302は、CPU301によって実行されるプログラム及び処理に必要なデータを格納する。二次記憶装置303は、ソフトウェア及び設定ファイルなどを格納する。
【0022】
通信インターフェース304は、外部と接続するためのインターフェースであり、光スイッチ20と接続される。なお、通信インターフェース304は、1つ搭載されていれば実施可能であるが、複数の通信インターフェース304の搭載を妨げるものではない。
【0023】
ここで、第1の実施の形態のネットワークにおけるD−Plane回線障害を復旧する処理手順の概要を説明する。第1の実施の形態では、光スイッチ部20CのIF−1から入力されたデータを光スイッチ20AのIF−2から出力するデータ通信を想定する。
【0024】
図1には、光スイッチ部20CのIF−1から入力され、光スイッチ部20AのIF−2から出力されるLSP60A及びLSP60Bが示されている。第1の実施の形態では、LSP60Aを主経路、LSP60Bを副経路とし、通常は、LSP60Aを経由して通信する。そして、LSP60Aに障害が発生した場合には、各光スイッチ部20においてスイッチ設定を切替えることによって、副経路であるLSP60Bを経由したデータ通信に切替える。
【0025】
データ回線の障害は、光スイッチ部20によって検出される。また、経路の切替処理も光スイッチ部20によって実行される。一方、LSPの状態変更は、GMPLSプロトコルに基づいて実行され、GMPLS制御部30によって処理される。障害復旧処理方法には、経路切替とLSPの状態変更を実行する順序によって、光スイッチ部主導で先に経路を切替えるプロテクション方式と、GMPLS制御部主導で先にLSPの状態を変更するレストレーション方式の2種類がある。
【0026】
プロテクション方式は、光スイッチ部20の内部処理で経路を切替える。一方、レストレーション方式は、光スイッチ部20がデータ回線障害をGMPLS制御部30に通知し、その後、GMPLS制御部30からの指示に従って光スイッチ部20が経路を切替える。したがって、プロテクション方式は、レストレーション方式と比較してより高速に障害を復旧させることができる。しかし、LSPの状態は、GMPLS制御部30によって管理されるため、プロテクション方式では一時的に実際のスイッチ状態とLSPの状態とが異なってしまう場合がある。
【0027】
なお、GMPLS制御部30が正常に動作している場合には、LSPの状態と実際のスイッチ状態との不一致は漸次解消される。しかし、GMPLS制御部30に障害が発生した場合又はGMPLS制御部30のソフトウェアを更新する場合など、何らかの理由でGMPLS制御部30が正常に動作していない場合には、LSPの状態と実際のスイッチ状態の不一致が解消されない場合が生じる。
【0028】
そこで、第1の実施の形態では、光スイッチ部20において、経路切替前と経路切替後のスイッチ状態を保持し、GMPLS制御部30に経路切替通知が成功したか否かによって、その後のGMPLS制御部30からのスイッチ状態問合せに対する応答を変更し、プロテクション方式での、データ回線障害とGMPLS制御部障害との二重障害時の復旧を可能とする。
【0029】
第1の実施の形態では、GMPLS制御部間のパス設定プロトコルとしてRSVP−TEを採用し、GMPLS制御部が再起動するときのパス状態を復旧させる手順としてRFC3473に規定されているグレースフル・リスタート処理を利用する。なお、他のパス設定プロトコルを採用した場合であっても同じく本発明を適用することができる。
【0030】
図4は、第1の実施の形態のデータ回線障害及びGMPLS制御部障害の二重障害が発生したときの復旧処理の手順を示すシーケンス図である。図4では、GMPLS制御部30Aの再起動中に光スイッチ部20AがIF−1での障害を検出し、経路をLSP60AからLSP60Bに切替えた場合のGMPLS制御部30Aの復旧手順を示している。
【0031】
GMPLS制御部30A、30B、及び30Cは、相互にHelloメッセージを交換して正常動作していることを周期的に確認する(401〜404)。
【0032】
GMPLS制御部30B及び30Cは、GMPLS制御部30Aが再起動を開始すると(405)、一定期間以上GMPLS制御部30AからのHelloメッセージを受信することができなくなる(タイムアウト発生)。そこで、GMPLS制御部30B及び30Cは、GMPLS制御部30A又はGMPLS制御部30Aとの間のC−Plane網40に障害が発生したものと判定する。そして、GMPLS制御部30B及び30Cは、GMPLS制御部30Aを経由するパス情報の更新を停止し、パス情報の保護を開始する。
【0033】
その後、光スイッチ部20Aは、IF−1における光データ回線の障害を検出すると(406)、使用中のLSP60Aから副経路のLSP60Bに切替える。具体的には、光スイッチ部20Aは、D−Plane網50を介して光スイッチ部20B及び光スイッチ部20Cにスイッチ切替指示を送信する(407、408)。光スイッチ部20B及び光スイッチ部20Cは、スイッチ切替指示を受信すると、経路をLSP60AからLSP60Bに切替えて、データ通信の障害を復旧させる。
【0034】
光スイッチ部20Aは、スイッチ状態が変更されたことをGMPLS制御部30Aに通知するが(409)、再起動中であるために応答されない。そこで、光スイッチ部20Aは、GMPLS制御部30Aに何らかの障害が発生していると判断し、光スイッチ部20Aの内部状態を「保留」状態とする。
【0035】
その後、GMPLS制御部30Aは、再起動が完了すると(410)、光スイッチ部20Aに対してスイッチ状態を問い合わせる(411)。このとき、光スイッチ部20Aは、内部状態が「保留」状態であるため、LSP60Bに切替えた後のスイッチ状態ではなく、切替前のLSP60Aのスイッチ状態を送信する(412)。
【0036】
なお、GMPLS制御部30の障害発生を判定するタイムアウト時間は、機器構成によって異なるが、第1の実施の形態では約15ミリ秒程度を想定している。同じく、データ障害検出から光スイッチ部がスイッチ切替指示を出すまでの時間は、約50ミリ秒を想定している。また、GMPLS制御部30が再起動を始めてから再起動が完了するまでの時間は、数秒から数十秒程度を想定している。
【0037】
GMPLS制御部30Aは、光スイッチ部20Aによって送信されたスイッチ状態の応答結果に基づいて、パス状態の復旧を開始する。そして、GMPLS制御部30Aは、状態復旧中であることを示すパラメータ値を設定したHelloメッセージを、隣接するGMPLS制御部30B及び30Cに送信する(413、415)。
【0038】
Helloメッセージを受信したGMPLS制御部30B及び30Cは、Helloメッセージ交換を再開し(414、416)、状態復旧に必要な情報を含んだPATHメッセージをGMPLS制御部30Aに送信する。第1の実施の形態では、隣接するGMPLS制御部30B及び30Cには、共にGMPLS制御部30Aを経由するLSPが設定されているため、GMPLS制御部30B及び30Cの双方からPATHメッセージがGMPLS制御部30Aに送信される(417、418)。
【0039】
GMPLS制御部30Aは、PATHメッセージを受信すると、受信したメッセージの内容に基づいて、パス状態を復旧させる。そして、隣接するGMPLS制御部30B及び30CにRESVメッセージを送信することによって、パスの復旧が完了したことを通知する(419、420)。GMPLS制御部30B及び30Cは、状態復旧中のGMPLS制御部30AからのRESVメッセージを受信することによって、パス状態の復旧が完了したと判断し、パス状態の保護を停止し、通常処理に移行する。
【0040】
GMPLS制御部30Aは、全てのパス状態の復旧を終えると、光スイッチ部20Aに対し、保留状態の解除を指示する(421)。光スイッチ部20Aは、指示に従って内部状態を通常状態に変更し、GMPLS制御部30Aに確認応答を送信する(422)。
【0041】
以上の処理によって、GMPLS制御部30Aに格納されたスイッチ状態は、GMPLS制御部30B及び30Cのスイッチ状態、さらに、実際のパス状態と矛盾することなく復旧が完了する。その後、引き続き、通常のプロテクション処理手順が実行される。
【0042】
ここで、その後実行されるプロテクション処理手順を簡単に説明すると、まず、障害が発生した光スイッチ部から、隣接する光スイッチ部に主回線から副回線への経路切替指示を送信する。図4では、407及び408のメッセージが該当する。このとき、光スイッチ部20は、GMPLS制御部30に経路が変更されたことのみを通知する。その後、GMPLS制御部30は、制御対象の光スイッチ部20と通信し、内部に格納したパス状態を更新し、整合性を確保する。
【0043】
なお、図4に示した手順において、GMPLS制御部30間で送受信されるメッセージは、RFC3473に記載されているグレースフル・リスタート処理と同一である。そして、交換されるメッセージについて、本発明の実施のために変更した点はないため、詳細な説明を省略する。
【0044】
続いて、第1の実施の形態の経路復旧処理手順に利用される光スイッチ部20及びGMPLS制御部30に格納される情報について説明する
図5は、第1の実施の形態のスイッチ状態管理テーブル220の構成を示す図である。スイッチ状態管理テーブル220は、光スイッチ部20のメモリ202に格納される。光スイッチ部20には、運用中のスイッチ205の状態を示すスイッチ状態管理テーブル220Aと、切替前のスイッチ状態を示す退避中スイッチ状態管理テーブル220Bが含まれる。スイッチ状態管理テーブル220A及び220Bは、同じ構造である。
【0045】
スイッチ状態管理テーブル220は、入力IFフィールド2201、出力IFフィールド2202、及びIF状態フィールド2203を含む。
【0046】
入力IFフィールド2201は、スイッチ205の入力側のIF番号を格納する。出力IFフィールド2202は、スイッチ205の出力側のIF番号を格納する。IF状態フィールド2203は、入力IFフィールド2201で指定されたIFの状態を格納する。
【0047】
IFの状態は、「未使用」「使用中」「予約済」「障害中」の4種類の状態が定義される。「未使用」は、当該IFが利用されていないことを示し、「使用中」は、当該IFが出力IFと接続されている状態であることを示す。また、「予約済」は、障害発生時に切替えられる副経路などとして、当該IFを経由するパスが設定されているが、実際にはスイッチ205で入力IFと出力IFが接続されていない状態であることを示す。「障害中」は、当該入力IFに障害が発生し、通信することができない状態にあることを示す。なお、IF状態フィールド2203は、格納された値が「使用中」以外の状態の場合には、出力IFフィールド2202の値は無視される。
【0048】
図6は、第1の実施の形態のスイッチ部内部状態管理テーブル230の構成を示す図である。スイッチ部内部状態管理テーブル230は、光スイッチ部20のメモリ202に格納される情報である。
【0049】
スイッチ部内部状態管理テーブル230は、光スイッチ部20の内部状態を格納する。内部状態には、「通常」状態と「保留」状態が定義される。「保留」状態は、スイッチ205の状態変更をGMPLS制御部30に通知したが、GMPLS制御部30が通知を受信できない状態である。「通常」状態は、「保留」状態以外の状態である。
【0050】
図7は、第1の実施の形態のパス状態管理テーブル330の構成を示す図である。パス状態管理テーブル330は、GMPLS制御部30のメモリ302に格納される。GMPLSプロトコルによって設定されたパスの状態を保持する。
【0051】
パス状態管理テーブル330は、セッションIDフィールド3301、入力側IF_IDフィールド3302、入力側ラベルフィールド3303、出力側IF_IDフィールド3304、出力側ラベルフィールド3305、状態フィールド3306、及びその他属性値フィールド3307によって構成される。
【0052】
セッションIDフィールド3301は、RSVP−TEプロトコルにおいてパスを識別するために使用されるセッションID値を格納する。
【0053】
入力側IF_IDフィールド3302、及び入力側ラベルフィールド3303は、それぞれ入力側のIF_ID値及びラベル値を格納する。出力側IF_IDフィールド3304、及び出力側ラベルフィールド3305は、それぞれ出力側のIF_ID値及びラベル値を格納する。
【0054】
なお、IF_ID及びラベルは、GMPLSプロトコルにおいて定義されている、種々の伝送方式のスイッチを抽象化し、統一して扱うための概念である。第1の実施の形態では、IF_IDは、光スイッチ20の光インターフェース206を特定するための数値である。また、ラベルは、光スイッチ20の光インターフェース206から入出力される光データの波長を特定するための数値である。そして、IF_ID及びラベルの値は数値であり、各GMPLS制御部30が独自に決定して隣接するGMPLS制御部30に通知する。IF_ID及びラベルの値は、物理的な対応関係(例えば、光の波長をナノメートルで表した数値等)はなく、値が一致するか否かの判定にのみ使用される。
【0055】
RSVP−TEでは、IF_ID値は、当該インターフェースを管理するGMPLS制御部30によって決定される。また、ラベル値は、下流側、すなわちデータを受信する側のGMPLS制御部30によって指定される。したがって、前述のフィールドでは、入力側IF_IDフィールド3302、入力側ラベルフィールド3303、及び出力側IF_IDフィールド3304には、当該GMPLS制御部30が決定した値が格納される。さらに、出力側ラベルフィールド3305には、隣接する下流側の他のGMPLS制御部30から通知された値を格納する。
【0056】
状態フィールド3306は、各パスの状態が格納される。パス状態には、「使用中」、「予約済」、及び「復旧中」の3種類の状態が定義される。「使用中」状態は、当該パスがGMPLS制御部30間で設定され、また、各光スイッチ部20においても当該パス設定に従ってスイッチ205が設定されている状態である。一方、「予約済」状態は、当該パスが各GMPLS制御部30間で設定されているが、各光スイッチ部20のスイッチ205の設定はされていない状態である。また、「復旧中」状態は、グレースフル・リスタート手順に従ってパス状態を復旧している最中であることを示す。
【0057】
その他属性値フィールド3307は、プロテクション処理に必要な情報など、RSVP−TEで規定されている種々のパス情報を格納する。その他属性値フィールド3307の値は、RSVP−TEで規定された値を格納し、本発明の実施にあたって特に変更する必要がないため、詳細な説明は省略する。
【0058】
引き続き、光スイッチ部20、GMPLS制御部30の処理手順をフローチャートを用いて示す。
【0059】
図8は、第1の実施の形態の光スイッチ部障害チェック処理250の手順を示すフローチャートである。光スイッチ部障害チェック処理250は、光スイッチ部20のCPU201によって、周期的に実行される。
【0060】
光スイッチ部20は、まず、各光インターフェース206の状態をチェックする(2501)。そして、障害発生の有無を判定し(2502)、障害が発生していない場合には(2502の結果が「No」)、処理を終了する。
【0061】
一方、光スイッチ部20は、障害が発生していない場合には(2502の結果が「Yes」、図4の406)、スイッチ状態管理テーブル220Aの内容をスイッチ状態管理テーブル220Bに複写し、スイッチ状態を退避する(2503)。
【0062】
次に、光スイッチ部20は、障害が発生したインターフェースを経由するプロテクションパスが設定されているか否かを確認する(2504)。プロテクションパスとは、障害が発生したとき、通信する代替経路である。第1の実施の形態では、副回線であるLSP60Bが該当する。
【0063】
光スイッチ部20は、プロテクションパスが設定されている場合には(2504の結果が「Yes」)、D−plane網50の経路切替処理を実行する(2505、図4の407及び408)。D−Plane網50における経路切替処理は、予め定められたプロテクションパスに従って、GMPLS制御部30を介さずに、光スイッチ部20に直接スイッチ切替指示を送信して経路を切替える。経路切替処理が完了すると、スイッチ状態管理テーブル220Aは、切替後の状態に更新される。
【0064】
続いて、光スイッチ部20は、スイッチ状態が変更されたことを通信インターフェース204を介して、GMPLS制御部30に通知する(2506、図4の409)。そして、GMPLS制御部30から一定時間内に応答があるか否かを判定する(2507)。GMPLS制御部30からの応答があった場合には(2507の結果が「Yes」)、処理を終了する。また、GMPLS制御部30からの応答がなかった場合には(2507の結果が「No」)、スイッチ部内部状態管理テーブル230の値を「保留」状態に更新し(2508)、本処理を終了する。
【0065】
図9は、第1の実施の形態の光スイッチ部コマンド受信処理260の手順を示すフローチャートである。光スイッチ部コマンド受信処理260は、光スイッチ部20のCPU201によって実行される。光スイッチ部コマンド受信処理260は、光スイッチ部20がGMPLS制御部30によって送信されたコマンドを受信したときに実行される。
【0066】
光スイッチ部20は、まず、通信インターフェース204を介してコマンドを受信する(2601)。そして、受信したコマンドに基づいて、コマンド種別が「保留解除」か否かを判定する(2602A)。コマンド種別が「保留解除」の場合には(2602Aの結果が「Yes」)、GMPLS制御部30のパス状態の回復が完了したため、光スイッチ部20のスイッチ部内部状態管理テーブル230の値を「保留」状態から「通常」状態に更新する(2604、図4の421)。
【0067】
一方、光スイッチ部20は、受信したコマンドのコマンド種別が「保留解除」でなかった場合には(2602Aの結果が「No」)、コマンド種別が「スイッチ状態問合せ」か否かを判定する(2602B)。
【0068】
光スイッチ部20は、受信したコマンドのコマンド種別が「スイッチ状態問合せ」の場合には(2602Bの結果が「Yes」、図4の411)、光スイッチ部20のスイッチ部内部状態管理テーブル230の値が「保留」状態であるか否かを判定する(2603)。
【0069】
光スイッチ部20は、スイッチ部内部状態管理テーブル230の値が「保留」状態である場合には(2603の結果が「Yes」)、GMPLS制御部30のパス状態を再起動前の状態に回復させるため、退避中の状態であるスイッチ状態管理テーブル220Bの内容をコマンドの送信元に通知する(2606、図4の412)。一方、スイッチ部内部状態管理テーブル230の値が「保留」状態でない場合には(2603の結果が「No」)、現在のスイッチ状態であるスイッチ状態管理テーブル220Aの内容をコマンドの送信元に通知する(2607)。
【0070】
光スイッチ部20は、受信したコマンドのコマンド種別が「保留解除」でも、「スイッチ状態問合せ」でもなかった場合には(2602Bの結果が「No」)、受信したコマンドに応じた処理を実行する(2605)。
【0071】
以上が光スイッチ部20において、実行される処理の手順である。続いて、GMPLS制御部30において、実行される処理の手順を説明する。
【0072】
図10は、第1の実施の形態のGMPLS制御部メイン処理350の手順を示すフローチャートである。GMPLS制御部メイン処理350は、GMPLS制御部30のCPU301によって実行される。GMPLS制御部メイン処理350は、通常の電源投入による起動、何らかの障害発生を原因とする再起動、プログラムのバージョンアップ等による計画的な再起動等を契機に実行される。
【0073】
GMPLS制御部30は、まず、初期化処理を実行し(3501)、通信インターフェース304を介して、光スイッチ部20にスイッチ状態を問い合わせる(3502、図4の411)。そして、光スイッチ部20に対する問い合わせの応答があるか否かを判定する(3503)。一定時間内に応答がなかった場合には(3503の結果が「No」)、光スイッチ部20に障害が発生しているものと判定され、システム管理者に対して警告し(3504)、処理を終了する。
【0074】
GMPLS制御部30は、光スイッチ部20から応答があった場合には(3503の結果が「Yes」、図4の412)、受信したスイッチ状態に使用中のスイッチが存在するか否かを判定する(3505)。
【0075】
GMPLS制御部30は、受信したスイッチ状態に使用中のスイッチが存在しない場合には(3505の結果が「No」)、パスを復旧する必要がないため、パス状態管理テーブル330の内容をクリアし、Recovery_time値を0に設定する(3507)。Recovery_time値とは、RFC3473に規定されている値であり、再起動が完了するまでの時間を設定する。したがって、Recovery_time値が0の場合には、再起動ではなく初期起動となる。
【0076】
GMPLS制御部30は、受信したスイッチ状態に使用中のスイッチが存在する場合には(3505の結果が「Yes」)、パス状態管理テーブル330を部分的に復旧させる。具体的には、受信したスイッチ状態に基づいて、復旧中のパスの入力側IF_ID3302及び出力側IF_ID3304の値を更新し、状態フィールド3306の値を「復旧中」に設定する。さらに、Recovery_time値をパス状態を復旧させるために必要な値に設定する(3508)。
【0077】
GMPLS制御部30は、隣接するGMPLS制御部30にHelloメッセージを送信する(3509、図4の413及び415)。このとき送信されるHelloメッセージは、パス状態の復旧中であることを示すパラメータを含む。そして、隣接するGMPLS制御部30から送信したHelloメッセージに対する応答メッセージを受信し(図4の414及び416)、さらに、RSVPメッセージ受信処理を実行する(3510)。RSVPメッセージは、パス状態の復旧中であることを示すパラメータを含むHelloメッセージを受信した隣接するGMPLS制御部30がHelloメッセージの応答とは別に送信するメッセージである。RSVPメッセージ受信処理の内容については、図11にて詳細を後述する。
【0078】
図11は、第1の実施の形態のGMPLS制御部メッセージ受信処理3510の手順を示すフローチャートである。
【0079】
GMPLS制御部30は、通信インターフェース304を介して、他のGMPLS制御部30から送信されるRSVPメッセージを受信する(3601)。そして、GMPLS制御部30は、受信したRSVPメッセージのメッセージ種別が「PATH」であるか否かを判定する(3602A)。
【0080】
GMPLS制御部30は、受信したメッセージがPATHメッセージであった場合には(3602Aの結果が「Yes」、図4の417及び418)、PATHメッセージ処理を実行する(3603)。PATHメッセージ処理の詳細については、図12にて後述する。
【0081】
一方、GMPLS制御部30は、受信したメッセージがPATHメッセージでなかった場合には(3602Aの結果が「No」)、受信したメッセージがRESVメッセージであるか否かを判定する(3602B)。受信したメッセージがRESVメッセージであった場合には(3602Bの結果が「Yes」、図4の419及び420)、RESVメッセージ処理を実行する(3604)。RESVメッセージ処理の詳細については、図13にて後述する。
【0082】
なお、GMPLS制御部30は、受信したRSVPメッセージがPATHメッセージ又はRESVメッセージ以外のメッセージであった場合には(3602Bの結果が「No」)、受信したメッセージに応じた処理を実行する(3605)。3605の処理で実行される処理は、従来技術と相違しないため、詳細な説明は省略する。
【0083】
続いて、PATHメッセージ及びRESVメッセージ処理について説明する。第1の実施の形態におけるRSVPプロトコルを用いたパス設定は、まず、始点ノードから終点ノードに向けてPATHメッセージを送信する。終点ノードは、PATHメッセージを受信すると、始点ノードに向けてRESVメッセージを送信する。そして、始点ノードがRESVメッセージを受信することによって、パス設定が完了するという手順である。したがって、パスの復旧処理においても、上流ノードからのPATHメッセージ及び下流ノードからのRESVメッセージを利用する手順によって状態を復旧させる。
【0084】
図12は、第1の実施の形態のGMPLS制御部PATHメッセージ処理3603の手順を示すフローチャートである。GMPLS制御部PATHメッセージ処理3603は、GMPLS制御部30のCPU301によって実行される。
【0085】
GMPLS制御部30は、まず、PATHメッセージにRECOVERY_LABELオブジェクトが含まれているか否かを判定する(3701)。PATHメッセージは、新規にパスを設定する場合、及び障害からパスを回復させる場合に使用される。そこで、GMPLS制御部30は、受信したPATHメッセージにRECOVERY_LABELオブジェクトが含まれているか否かを判定することによって、パス状態を復旧させるためのPATHメッセージか否かを判定する。なお、RECOVERY_LABELオブジェクトの詳細については、RFC3473に規定されている。
【0086】
GMPLS制御部30は、PATHメッセージにRECOVERY_LABELオブジェクトが含まれていない場合には(3701の結果が「No」)、受信したPATHメッセージがパス状態を復旧させるためのメッセージでないため、通常のPATHメッセージ処理を実行する(3703)。
【0087】
一方、GMPLS制御部30は、PATHメッセージにRECOVERY_LABELオブジェクトが含まれている場合には(3701の結果が「Yes」、図4の417及び418)、パス状態の復旧処理を実行する。
【0088】
具体的には、まず、GMPLS制御部30は、受信したPATHメッセージの内容に基づいて、パス状態管理テーブル330を復旧する(3702)。このとき、パスの全てのフィールドの復旧が完了したエントリは、状態フィールド3306の値を「復旧中」から元の状態に変更する。全てのフィールドの復旧が完了していないエントリは、状態フィールド3306の値を「復旧中」のままとする。
【0089】
次に、GMPLS制御部30は、自ノードがパスの終端であるか否かを判定する(3704)。自ノードがパスの終端である場合には(3704の結果が「Yes」)、上流ノードにRESVメッセージを送信する(3706)。自ノードがパスの終端でない場合には(3704の結果が「No」)、下流ノードにPATHメッセージを送信する(3705)。
【0090】
さらに、GMPLS制御部30は、パス状態管理テーブルの全てのエントリの復旧が完了したか否かを判定する(3707)。完了していない場合には(3707の結果が「No」)、処理を終了する。完了した場合には(3707の結果が「Yes」)、光スイッチ部20に保留解除コマンドを通知し(3708)、処理を終了する。
【0091】
図13は、第1の実施の形態のGMPLS制御部RESVメッセージ処理3604の手順を示すフローチャートである。GMPLS制御部RESVメッセージ処理3604は、GMPLS制御部30のCPU301によって実行される。
【0092】
GMPLS制御部30は、受信したRESVメッセージに対応し、パス状態管理テーブル330の状態フィールド3306の値が「復旧中」であるエントリが存在するか否かを判定する(3801)。RESVメッセージには、PATHメッセージのRECOVERY_LABELオブジェクトのようにパス状態を復旧するためのメッセージであることを識別する情報は含まれていないため、セッションIDの値が一致するか否かによって判定する。
【0093】
GMPLS制御部30は、受信したRESVメッセージに対応するパス状態管理テーブル330のエントリが存在しない場合には(3801の結果が「No」)、通常のRESVメッセージ処理を実行する(3803)。
【0094】
一方、GMPLS制御部30は、受信したRESVメッセージに対応するパス状態管理テーブル330のエントリが存在する場合には(3801の結果が「Yes」、図4の419又は420)、パス状態の復旧処理を実行する。具体的には、GMPLS制御部30は、受信したRESVメッセージの内容に基づいて、パス状態管理テーブル330の内容を復旧させる(3802)。そして、図12の3702の処理と同じく、パスの全ての情報の復旧が完了したエントリは、状態フィールド3306の値を「復旧中」から元の状態へと変更する。そして、全てのフィールドの復旧が完了していないエントリは、状態フィールド3306の値を「復旧中」のままとする。
【0095】
次に、GMPLS制御部30は、自ノードがパスの始点であるか否かを判定する(3804)。パスの始点でない場合には(3804の結果が「Yes」)、上流ノードにRESVメッセージを送信する(3805)。
【0096】
さらに、GMPLS制御部30は、パス状態管理テーブルの全てのエントリの復旧が完了したか否かを判定する(3806)。全てのエントリの復旧が完了していない場合には(3806の結果が「No」)、処理を終了する。全てのエントリの復旧が完了した場合には(3806の結果が「Yes」)、光スイッチ部20に保留解除コマンドを通知し(3807)、処理を終了する。
【0097】
図14は、第1の実施の形態のGMPLS制御部光スイッチ部メッセージ受信処理390の手順を示すフローチャートである。GMPLS制御部光スイッチ部メッセージ受信処理390は、GMPLS制御部30のCPU301によって実行される。
【0098】
GMPLS制御部30は、通信インターフェース304を介して光スイッチ部20によって送信されたメッセージを受信する(3901)。そして、受信したメッセージのメッセージ種別が「スイッチ状態変更」であるか否かを判定する(3902)。受信したメッセージのメッセージ種別が「スイッチ状態変更」でない場合には(3902の結果が「No」)、受信したメッセージに従った処理を実行する(3904)。
【0099】
一方、GMPLS制御部30は、受信したメッセージのメッセージ種別が「スイッチ状態変更」であった場合には(3902の結果が「Yes」)、光スイッチ部20にACKを送信する(3903)。そして、光スイッチ部20にスイッチ状態を問い合わせる(3905)。さらに、光スイッチ部20が応答したスイッチ状態に基づいて、プロテクション処理を実行する(3906)。
【0100】
以上、光スイッチ部20及びGMPLS制御部30によって実行される処理について説明した。続いて、以上の処理手順に従ってパス状態を復旧させる具体的な例を、図を参照しながら説明する。
【0101】
図15A及び図15Bは、第1の実施の形態の光スイッチ部20Aのスイッチ状態管理テーブル220Aの内容を示す図である。図15Aは、データ障害検出前(図4の406の前)の状態である。また、図15Bは、データ障害検出後(図4の406の後)の状態である。
【0102】
図15Aを参照すると、データ障害を検出する前であるため、IF−1及びIF−2が接続されている。したがって、IF−1及びIF−2のIF状態は、ともに「使用中」となっている。図15Aに示す状態は、図1に示す主回線であるLSP60Aを経由して通信している。また、副回線であるLSP60Bで使用されるIF−4は、IF状態が「予約中」に設定されている。
【0103】
ここで、IF−1に障害が発生すると、IF−1の状態は、図15Bに示すように「使用中」から「障害中」に更新される。そして、パスが、LSP60AからLSP60Bに切替えられるため、副回線のIF−4の状態が「予約中」から「使用中」に変更される。
【0104】
図16Aから図16Dは、第1の実施の形態のGMPLS制御部30Aのパス状態管理テーブル330の内容を示す図である。なお、図16のIF_IDの値は、第1の実施の形態では、図15での入力IFの値に1000を加算した値としている。
【0105】
図16Aは、GMPLS制御部30Aが再起動する前のパス状態管理テーブル330を示している(図4の405の前)。GMPLS制御部30Aが再起動する前は、光スイッチ部20AのIF−1に障害が発生していないため、稼働中のLBP60Aに対応するSESSION_A及び予約中のLBP60Bに対応するSESSION_Bは、図16Aに示すように格納されている。具体的には、SESSION_Aは、入力IFを1とし、出力IFを2としている。また、SESSION_Bは、入力IFを4とし、出力IFを2としている。
【0106】
図16Bは、光スイッチ部20Aに問い合わせて受信したスイッチ状態に基づいて復旧したパス状態管理テーブル330を示している(図4の412の後)。
【0107】
GMPLS制御部30Aは、再起動が完了すると、GMPLS制御部メイン処理350の初期化処理3501によって、パス状態管理テーブル330をクリアする。その後、GMPLS制御部30Aは、光スイッチ部20Aにスイッチ状態を問い合わせ(図10の3502、図4の411)、スイッチ状態を受信する(図4の412)。GMPLS制御部30Aは、受信したスイッチ状態に基づいて、パス状態管理テーブル330を更新する(図10の3506)。
【0108】
このとき、光スイッチ部20Aは、IF−1に障害が発生しているため、LBP60AからLBP60Bに切替えられている(図8の2505、図4の407及び408)。また、切替後に、光スイッチ部20AからGMPLS制御部30Aに送信したスイッチ状態変更通知に対する応答を受信していないため(図8の2506、図4の409)、内部状態が「保留」状態となっている(図8の2508)。よって、GMPLS制御部30Aは、光スイッチ部20Aにスイッチ状態を問い合わせたとき(図4の411)、受信するスイッチ状態は(図4の412)、更新前のスイッチ状態となる(図9の2606)。したがって、GMPLS制御部30Aが実際に受信したスイッチ状態は、図15Aに示したスイッチ状態である。図16Bは、受信したスイッチ状態を反映させた状態である。
【0109】
図16Cは、GMPLS制御部30Bによって送信されたPATHメッセージに基づいて復旧させたパス状態管理テーブル330を示している(図4の417の後)。
【0110】
GMPLS制御部30Aは、GMPLS制御部30Bに状態復旧中であることを示すパラメータを含むHelloメッセージを送信すると(図10の3509、図4の413)、GMPLS制御部30BからPATHメッセージを受信する(図10の3510)。受信したPATHメッセージは、通常のグレースフル・リスタートの手順に従うため、再起動前のパス状態が含まれている。GMPLS制御部30Aは、受信した再起動前のパス状態に基づいて、パス状態管理テーブル330を更新する(図12の3702)。GMPLS制御部30Bからは、SESSION_Bのパス状態が送信されるため、図16Cに示すように、SESSION_Bのパス状態が復旧される。
【0111】
図16Dは、GMPLS制御部30Cから受信したPATHメッセージに基づいて復旧させたパス状態管理テーブル330を示している(図4の418の後)。
【0112】
GMPLS制御部30Aは、GMPLS制御部30Cから受信したPATHメッセージに基づいて、パス状態管理テーブル330を復旧させる。受信したPATHメッセージには、SESSION_A及びSESSION_Bのパス状態が含まれ、復旧していないSESSION_Aのパス状態を回復させることができる。以上の処理が完了すると、パス状態管理テーブル330は、図16Dに示す状態となり、図16Aの内容と一致する。
【0113】
以上の処理によって、パス状態管理テーブル330が回復させると、実際の経路情報との整合性を確保することができる。さらに、通常のプロテクション処理を実行することによって、光スイッチ部20とGMPLS制御部30との整合性を確保することができる。
【0114】
第1の実施の形態によれば、GMPLS制御部30が再起動中に光スイッチ部のIFに障害が発生した場合であっても、グレースフル・リスタート及びプロテクション処理によって、矛盾無くパス状態を復旧させることができる。また、第1の実施の形態では、高価なホットスタンバイ方式を用いる必要もない。
【0115】
さらに、第1の実施の形態によれば、GMPLS制御部30に障害が発生した場合だけでなく、ソフトウェアの更新などの障害以外の要因による再起動の場合にも適用可能であるため、管理コストを削減することができる。
【0116】
(第2の実施の形態)
図17は、第2の実施の形態のネットワークシステムの構成図である。第2の実施の形態のハードウェア及びソフトウェアの構成は、第1の実施の形態と同一である。また、相違点としては、LSP60Bが主経路、LSP60Aが副経路となっている。そして、第2の実施の形態では、GMPLS制御部30Bの再起動中に、光スイッチ部20Cと光スイッチ部20Bと間のデータ回線に障害が発生し、データ経路をLSP60BからLSP60Aに切替える。
【0117】
図18は、第2の実施の形態のデータ回線障害及びGMPLS制御部障害との二重障害が発生したときの復旧処理の手順を示すシーケンス図である。GMPLS制御部30A、30B、及び30Cは、第1の実施の形態と同様に、相互にHelloメッセージを交換して正常動作していることを周期的に確認する(601〜604)。
【0118】
GMPLS制御部30A及び30Cは、GMPLS制御部30Bが再起動を開始すると(605)、一定期間以上GMPLS制御部30BからのHelloメッセージを受信することができなくなる。そこで、GMPLS制御部30A及び30Cは、GMPLS制御部30B、又はGMPLS制御部30Bとの間のC−Plane網40のいずれかに障害が発生したものと判定する。そして、GMPLS制御部30A及び30Cは、GMPLS制御部30Bを経由するパス情報の更新を停止し、パス情報の保護を開始する。
【0119】
その後、光スイッチ部20Bは、IF−1における光データ回線の障害を検出すると(606)、使用中のLSP60Bから副経路のLSP60Aに切替える。具体的には、光スイッチ部20Bは、D−Plane網50を介して光スイッチ部20A及び光スイッチ部20Cにスイッチ切替指示を送信する(607、608)。光スイッチ部20A及び光スイッチ部20Cは、スイッチ切替指示を受信すると、経路をLSP60BからLSP60Aに切替えて、障害を復旧させる。
【0120】
光スイッチ部20Bは、スイッチ状態が変更されたことをGMPLS制御部30Bに通知するが(609)、GMPLS制御部30Bが再起動中であるために応答を受信することができない。そこで、光スイッチ部20Bは、GMPLS制御部30Bに何らかの障害が発生していると判断し、内部状態を「保留」状態とする。
【0121】
その後、GMPLS制御部30Bは、再起動が完了すると(610)、光スイッチ部20Bに対してスイッチ状態を問い合わせる(611)。このとき、光スイッチ部20Bは、内部状態が「保留」状態であるため、LSP60Aに切替えた後のスイッチ状態ではなく、切替前のLSP60Bのスイッチ状態を送信する(612)。
【0122】
GMPLS制御部30Bは、光スイッチ部20Bによって送信されたスイッチ状態の応答結果に基づいて、パス状態の復旧を開始する。そして、GMPLS制御部30Bは、状態復旧中であることを示すパラメータ値を設定したHelloメッセージを、隣接するGMPLS制御部30A及び30Cに送信する(613、615)。
【0123】
Helloメッセージを受信したGMPLS制御部30A及び30Cは、Helloメッセージの交換を再開し(614、616)、状態復旧に必要な情報を含んだPATHメッセージをGMPLS制御部30Bに送信する。第2の実施の形態では、上流側のGMPLS制御部30CからPATHメッセージがGMPLS制御部30Bに送信される(617)。
【0124】
GMPLS制御部30Bは、GMPLS制御部30CからPATHメッセージを受信すると、受信したメッセージの内容に基づいて、パス状態を復旧させる(図12の3702)。そして、下流側のGMPLS制御部30AにPATHメッセージを送信する(618)。
【0125】
GMPLS制御部30Aは、PATHメッセージを受信すると、自ノードが終端であるため(図12の3704の結果が「Yes」)、GMPLS制御部30BにRESVメッセージを送信する(619、図12の3706)。
【0126】
GMPLS制御部30Bは、RESVメッセージを受信すると、受信したRESVメッセージの内容に基づいて、パス状態を復旧し(図13の3802)、RESVメッセージをGMPLS制御部30Cに送信する(620、図13の3805)。そして、GMPLS制御部30Cは、GMPLS制御部30BからRESVメッセージを受信すると、パス状態の復旧が完了したものと判定し、パス状態の保護を停止し、通常処理に移行する。
【0127】
GMPLS制御部30Bは、全てのパス状態の復旧を終えると、光スイッチ部20Bに対し、保留状態の解除を指示する(621)。光スイッチ部20Bは、指示に従って内部状態を通常状態に変更し、GMPLS制御部30Bに確認応答を送信する(622)。その後、引き続き、通常のプロテクション処理手順が実行され、GMPLS制御部30と光スイッチ部20との整合性が確保される。
【0128】
次に、第2の実施の形態において、以上の処理手順に従い、パス状態管理テーブル330の内容が更新される推移を具体的な例を参照しながら説明する。
【0129】
図19A及び図19Bは、第2の実施の形態の光スイッチ部20Bのスイッチ状態管理テーブル220Aの内容を示す図である。図19Aは、データ障害検出前(図18の606の前)の状態である。また、図19Bは、データ障害検出後(図18の606の後)の状態である。
【0130】
図19Aを参照すると、データ障害を検出する前であるため、IF−1及びIF−2が接続されている。したがって、IF−1及びIF−2のIF状態は、ともに「使用中」となっている。図15Aに示す状態では、図17に示す主回線であるLSP60Bを経由して通信する。また、副回線であるLSP60Aは、光スイッチ部20Bを経由せずに通信する。
【0131】
ここで、IF−1に障害が発生すると、図19Bに示すように、IF−1の状態が「使用中」から「障害中」に更新される。そして、パスが、LSP60AからLSP60Bに切替えられ、他のIFがすべて「未使用」に変更される。
【0132】
図20Aから図20Dは、第2の実施の形態のGMPLS制御部30Aのパス状態管理テーブル330の内容を示す図である。
【0133】
図20Aは、GMPLS制御部30Bが再起動する前のパス状態管理テーブル330を示している(図18のシーケンス605の前)。GMPLS制御部30Bが再起動する前は、光スイッチ部20BのIF−1に障害が発生していないため、稼働中のLBP60Bに対応するSESSION_Bは、光スイッチ部20Bのパス状態管理テーブル330に図20Aに示すように格納されている。具体的には、SESSION_Bは、入力IFを1とし、出力IFを2としている。
【0134】
図20Bは、光スイッチ部20Bに問い合わせて受信したスイッチ状態に基づいて復旧したパス状態管理テーブル330を示している(図18の612の後)。
【0135】
GMPLS制御部30Bは、再起動が完了すると、GMPLS制御部メイン処理350の初期化処理3501によって、パス状態管理テーブル330をクリアする。その後、GMPLS制御部30Bは、光スイッチ部20Bにスイッチ状態を問い合わせ(図10の3502、図18の611)、光スイッチ部20Bからスイッチ状態を受信する(図18の612)。GMPLS制御部30Bは、受信したスイッチ状態に基づいて、パス状態管理テーブル330を更新する(図10の3506)。
【0136】
このとき、光スイッチ部20Bは、IF−1に障害が発生しているため、LBP60BからLBP60Aに切替えられている(図8の2505、図18の607及び608)。また、切替後に、光スイッチ部20BからGMPLS制御部30Bに送信したスイッチ状態変更通知に対する応答を受信していないため(図8の2506、図18の609)、内部状態が「保留」状態となっている(図8の2508)。したがって、GMPLS制御部30Bは、光スイッチ部20Bにスイッチ状態を問い合わせたとき(図18の611)、受信するスイッチ状態は(図18の612)、更新前のスイッチ状態となる(図9の2606)。したがって、GMPLS制御部30Bが実際に受信したスイッチ状態は、図19Aに示したスイッチ状態である。図20Bは、受信したスイッチ状態を反映させた状態である。
【0137】
図20Cは、GMPLS制御部30Cによって送信されたPATHメッセージに基づいて復旧させたパス状態管理テーブル330を示している(図18の617の後)。
【0138】
GMPLS制御部30Bは、GMPLS制御部30Cに状態復旧中であることを示すパラメータを含むHelloメッセージを送信すると(図10の3509、図18の613)、GMPLS制御部30BからPATHメッセージを受信する(図10の3510)。受信したPATHメッセージには、通常のグレースフル・リスタートの手順に従うため、再起動前のパス状態が含まれている。GMPLS制御部30Bは、受信した再起動前のパス状態に基づいて、パス状態管理テーブル330を更新する(図12の3702)。
【0139】
図20Dは、GMPLS制御部30Aから受信したRESVメッセージに基づいて復旧させたパス状態管理テーブル330を示している(図18の619の後)。
【0140】
GMPLS制御部30Bは、GMPLS制御部30Aから受信したRESVメッセージに基づいて、パス状態管理テーブル330を復旧させる。以上の処理が完了すると、パス状態管理テーブル330は、図20Dに示す状態となり、図20Aの内容と一致する。
【0141】
第2の実施の形態によれば、障害が発生した光スイッチ部20が終端でない場合であっても、第1の実施の形態と同様に、グレースフル・リスタート及びプロテクション処理によって、矛盾無くパス状態を復旧させることができる。
【図面の簡単な説明】
【0142】
【図1】第1の実施の形態のネットワークシステムの構成図である。
【図2】第1の実施の形態の光スイッチ部の構成図である。
【図3】第1の実施の形態のGMPLS制御部の構成図である。
【図4】第1の実施の形態のデータ回線障害及びGMPLS制御部障害の二重障害が発生したときの復旧処理の手順を示すシーケンス図である。
【図5】第1の実施の形態のスイッチ状態管理テーブルの構成図である。
【図6】第1の実施の形態のスイッチ部内部状態管理テーブルの構成図である。
【図7】第1の実施の形態のパス状態管理テーブルの構成図である。
【図8】第1の実施の形態の光スイッチ部障害チェック処理のフローチャートである。
【図9】第1の実施の形態の光スイッチ部コマンド受信処理のフローチャートである。
【図10】第1の実施の形態のGMPLS制御部メイン処理のフローチャートである。
【図11】第1の実施の形態のGMPLS制御部メッセージ受信処理のフローチャートである。
【図12】第1の実施の形態のGMPLS制御部PATHメッセージ処理のフローチャートである。
【図13】第1の実施の形態のGMPLS制御部RESVメッセージ処理のフローチャートである。
【図14】第1の実施の形態のGMPLS制御部光スイッチ部メッセージ受信処理のフローチャートである。
【図15A】第1の実施の形態の回線障害発生前のスイッチ状態管理テーブルを示す図である。
【図15B】第1の実施の形態の回線障害発生後のスイッチ状態管理テーブルを示す図である。
【図16A】第1の実施の形態の再起動前のパス状態管理テーブルを示す図である。
【図16B】第1の実施の形態のスイッチ状態受信後のパス状態管理テーブルを示す図である。
【図16C】第1の実施の形態のPATHメッセージ受信後のパス状態管理テーブルを示す図である。
【図16D】第1の実施の形態のPATHメッセージ受信後のパス状態管理テーブルを示す図である。
【図17】第2の実施の形態のネットワークシステムの構成図である。
【図18】第2の実施の形態の障害復旧処理のシーケンス図である。
【図19A】第2の実施の形態の回線障害発生前のスイッチ状態管理テーブルを示す図である。
【図19B】第2の実施の形態の回線障害発生後のスイッチ状態管理テーブルを示す図である。
【図20A】第2の実施の形態の再起動前のパス状態管理テーブルを示す図である。
【図20B】第2の実施の形態のスイッチ状態受信後のパス状態管理テーブルを示す図である。
【図20C】第2の実施の形態のPATHメッセージ受信後のパス状態管理テーブルを示す図である。
【図20D】第2の実施の形態のRESVメッセージ受信後のパス状態管理テーブルを示す図である。
【符号の説明】
【0143】
20A、20B、20C 光スイッチ部
30A、30B、30C GMPLS制御部
40 C−Plane網
50 D−Plane網
60A、60B LSP(Label Switch Path)
【特許請求の範囲】
【請求項1】
1組の、経路制御部と、前記経路制御部に接続されるデータ転送部と、を含むネットワークシステムであって、
前記経路制御部は、シグナリングプロトコルを用いてデータを転送する経路を設定し、
前記データ転送部は、
転送されたデータの入力を受け付ける入力インターフェースと、入力されたデータを出力する出力インターフェースと、を備え、
前記経路制御部の指示に従って、前記入力されたデータを隣接するデータ転送部に転送し、
前記入力インターフェースと前記出力インターフェースとの対応関係を含む経路情報を格納し、
前記データを転送する経路に障害を検出したとき、前記経路情報を変更し、
前記経路制御部が再起動している間に、前記障害を検出したとき、前記障害検出前の経路情報、及び前記障害検出後の経路情報を格納し、
前記障害検出前の経路情報、又は前記障害検出後の経路情報のいずれか一方を、前記経路制御部に送信し、
前記経路制御部との通信状況に応じて設定される内部状態に基づいて、前記送信されるいずれか一方の経路情報を決定し、
前記経路制御部は、
前記データ転送部の経路情報を格納し、
有効な経路が設定された状態で再起動したとき、再起動後に、前記データ転送部から前記経路情報を受信し、
前記隣接するデータ転送部を制御する経路制御部に格納された経路情報を取得して再起動前の経路情報に回復させることを特徴とするネットワークシステム。
【請求項2】
前記内部状態は、前記データ転送部が前記経路制御部との通信に失敗したときに、変更されることを特徴とする請求項1に記載のネットワークシステム。
【請求項3】
前記内部状態には、
前記障害検出後の経路情報が前記データ転送部によって前記経路制御部に送信される通常状態と、
前記障害検出前の経路情報が前記データ転送部によって前記経路制御部に送信される保留状態と、が含まれることを特徴とする請求項1に記載のネットワークシステム。
【請求項4】
前記内部状態は、前記データ転送部が前記経路制御部との通信に失敗したときに、前記通常状態から前記保留状態に変更されることを特徴とする請求項3に記載のネットワークシステム。
【請求項5】
前記経路制御部は、前記経路情報を前記再起動前の経路情報に回復させたとき、前記内部状態を通常状態に変更する指示を前記データ転送部に送信することを特徴とする請求項3に記載のネットワークシステム。
【請求項6】
シグナリングプロトコルを用いてデータを転送する経路を設定する複数の経路制御部と、
前記経路制御部の指示に従って、データを転送する複数のデータ転送部と、を含むネットワークシステムであって、
前記経路制御部は、1又は複数の前記データ転送部を制御し、
前記制御対象のデータ転送部は、
転送されたデータの入力を受け付ける入力インターフェースと、入力されたデータを出力する出力インターフェースと、を備え、
前記入力インターフェースと前記出力インターフェースとの対応関係を含む経路情報を格納し、
前記データを転送する経路に障害を検出したとき、前記経路情報を変更し、
前記経路制御部が再起動している間に、前記障害を検出したとき、前記障害検出前の経路情報、及び前記障害検出後の経路情報を格納し、
前記障害検出前の経路情報、又は前記障害検出後の経路情報のいずれか一方を、前記経路制御部に送信し、
前記経路制御部との通信状況に応じて設定される内部状態に基づいて、前記送信されるいずれか一方の経路情報を決定し、
前記経路制御部は、
前記制御対象のデータ転送部の経路情報を含む経路情報を格納し、
有効な経路が設定された状態で再起動したとき、再起動後に、前記制御対象のデータ転送部から前記経路情報を受信し、
前記経路制御部と隣接する経路制御部に格納された経路情報を取得して再起動前の経路情報に回復させることを特徴とするネットワークシステム。
【請求項7】
前記内部状態は、前記制御対象のデータ転送部が前記経路制御部との通信に失敗したときに、変更されることを特徴とする請求項6に記載のネットワークシステム。
【請求項8】
前記内部状態には、
前記障害検出後の経路情報が前記制御対象のデータ転送部によって前記経路制御部に送信される通常状態と、
前記障害検出前の経路情報が前記制御対象のデータ転送部によって前記経路制御部に送信される保留状態と、が含まれることを特徴とする請求項6に記載のネットワークシステム。
【請求項9】
前記内部状態は、前記制御対象のデータ転送部が前記経路制御部との通信に失敗したときに、前記通常状態から前記保留状態に変更されることを特徴とする請求項8に記載のネットワークシステム。
【請求項10】
前記経路制御部は、前記経路情報を前記再起動前の経路情報に回復させたとき、前記内部状態を通常状態に変更する指示を前記制御対象のデータ転送部に送信することを特徴とする請求項8に記載のネットワークシステム。
【請求項1】
1組の、経路制御部と、前記経路制御部に接続されるデータ転送部と、を含むネットワークシステムであって、
前記経路制御部は、シグナリングプロトコルを用いてデータを転送する経路を設定し、
前記データ転送部は、
転送されたデータの入力を受け付ける入力インターフェースと、入力されたデータを出力する出力インターフェースと、を備え、
前記経路制御部の指示に従って、前記入力されたデータを隣接するデータ転送部に転送し、
前記入力インターフェースと前記出力インターフェースとの対応関係を含む経路情報を格納し、
前記データを転送する経路に障害を検出したとき、前記経路情報を変更し、
前記経路制御部が再起動している間に、前記障害を検出したとき、前記障害検出前の経路情報、及び前記障害検出後の経路情報を格納し、
前記障害検出前の経路情報、又は前記障害検出後の経路情報のいずれか一方を、前記経路制御部に送信し、
前記経路制御部との通信状況に応じて設定される内部状態に基づいて、前記送信されるいずれか一方の経路情報を決定し、
前記経路制御部は、
前記データ転送部の経路情報を格納し、
有効な経路が設定された状態で再起動したとき、再起動後に、前記データ転送部から前記経路情報を受信し、
前記隣接するデータ転送部を制御する経路制御部に格納された経路情報を取得して再起動前の経路情報に回復させることを特徴とするネットワークシステム。
【請求項2】
前記内部状態は、前記データ転送部が前記経路制御部との通信に失敗したときに、変更されることを特徴とする請求項1に記載のネットワークシステム。
【請求項3】
前記内部状態には、
前記障害検出後の経路情報が前記データ転送部によって前記経路制御部に送信される通常状態と、
前記障害検出前の経路情報が前記データ転送部によって前記経路制御部に送信される保留状態と、が含まれることを特徴とする請求項1に記載のネットワークシステム。
【請求項4】
前記内部状態は、前記データ転送部が前記経路制御部との通信に失敗したときに、前記通常状態から前記保留状態に変更されることを特徴とする請求項3に記載のネットワークシステム。
【請求項5】
前記経路制御部は、前記経路情報を前記再起動前の経路情報に回復させたとき、前記内部状態を通常状態に変更する指示を前記データ転送部に送信することを特徴とする請求項3に記載のネットワークシステム。
【請求項6】
シグナリングプロトコルを用いてデータを転送する経路を設定する複数の経路制御部と、
前記経路制御部の指示に従って、データを転送する複数のデータ転送部と、を含むネットワークシステムであって、
前記経路制御部は、1又は複数の前記データ転送部を制御し、
前記制御対象のデータ転送部は、
転送されたデータの入力を受け付ける入力インターフェースと、入力されたデータを出力する出力インターフェースと、を備え、
前記入力インターフェースと前記出力インターフェースとの対応関係を含む経路情報を格納し、
前記データを転送する経路に障害を検出したとき、前記経路情報を変更し、
前記経路制御部が再起動している間に、前記障害を検出したとき、前記障害検出前の経路情報、及び前記障害検出後の経路情報を格納し、
前記障害検出前の経路情報、又は前記障害検出後の経路情報のいずれか一方を、前記経路制御部に送信し、
前記経路制御部との通信状況に応じて設定される内部状態に基づいて、前記送信されるいずれか一方の経路情報を決定し、
前記経路制御部は、
前記制御対象のデータ転送部の経路情報を含む経路情報を格納し、
有効な経路が設定された状態で再起動したとき、再起動後に、前記制御対象のデータ転送部から前記経路情報を受信し、
前記経路制御部と隣接する経路制御部に格納された経路情報を取得して再起動前の経路情報に回復させることを特徴とするネットワークシステム。
【請求項7】
前記内部状態は、前記制御対象のデータ転送部が前記経路制御部との通信に失敗したときに、変更されることを特徴とする請求項6に記載のネットワークシステム。
【請求項8】
前記内部状態には、
前記障害検出後の経路情報が前記制御対象のデータ転送部によって前記経路制御部に送信される通常状態と、
前記障害検出前の経路情報が前記制御対象のデータ転送部によって前記経路制御部に送信される保留状態と、が含まれることを特徴とする請求項6に記載のネットワークシステム。
【請求項9】
前記内部状態は、前記制御対象のデータ転送部が前記経路制御部との通信に失敗したときに、前記通常状態から前記保留状態に変更されることを特徴とする請求項8に記載のネットワークシステム。
【請求項10】
前記経路制御部は、前記経路情報を前記再起動前の経路情報に回復させたとき、前記内部状態を通常状態に変更する指示を前記制御対象のデータ転送部に送信することを特徴とする請求項8に記載のネットワークシステム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15A】
【図15B】
【図16A】
【図16B】
【図16C】
【図16D】
【図17】
【図18】
【図19A】
【図19B】
【図20A】
【図20B】
【図20C】
【図20D】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15A】
【図15B】
【図16A】
【図16B】
【図16C】
【図16D】
【図17】
【図18】
【図19A】
【図19B】
【図20A】
【図20B】
【図20C】
【図20D】
【公開番号】特開2008−42807(P2008−42807A)
【公開日】平成20年2月21日(2008.2.21)
【国際特許分類】
【出願番号】特願2006−217934(P2006−217934)
【出願日】平成18年8月10日(2006.8.10)
【出願人】(000153465)株式会社日立コミュニケーションテクノロジー (770)
【Fターム(参考)】
【公開日】平成20年2月21日(2008.2.21)
【国際特許分類】
【出願日】平成18年8月10日(2006.8.10)
【出願人】(000153465)株式会社日立コミュニケーションテクノロジー (770)
【Fターム(参考)】
[ Back to top ]