(57)【要約】【課題】パケット転送網を介して接続した現用装置と予備装置とを有し現用装置の故障時に予備装置に切り替わるシステムにおいて、切替に伴う処理遅延や状態不整合を防止し、さらに、予備装置の台数の削減も可能とする。【解決手段】１または複数の現用装置２０を設けるとともに、現用装置２０に対して直接接続し、かつ、予備装置４０に対してパケット転送網１１を介して接続する同期管理サーバ５０を設ける。同期管理サーバ５０は、対向装置３０から現用装置２０に入力された情報に基づく同期情報をその現用装置２０から受け取って保持・管理し、現用装置２０の故障を検出した予備装置４０からの要求に応じて、その同期情報を予備装置４０に送信する。【選択図】            図５
2013179430.tif 000002
【特許請求の範囲】
【請求項１】
対向装置からの入力に応じて処理を実行して前記対向装置に出力を返す現用装置と、パケット転送網を介して前記現用装置と接続し、前記現用装置に障害が発生した時に前記現用装置から前記処理を引き続いて実行する予備装置と、を有するシステムにおける装置間同期および切替方法であって、
前記現用装置が、当該現用装置に直接接続した同期管理サーバに、前記対向装置からの入力に基づいて同期情報を送信する段階と、
前記同期管理サーバが前記同期情報を保持する段階と、
前記現用装置の障害を検出した前記予備装置が、当該故障を発生した現用装置の同期情報であって当該予備装置において未受信である同期情報を前記パケット転送網を介して前記同期管理サーバに要求する段階と、
前記予備装置が、前記同期管理サーバから前記パケット転送網を介して受け取った前記同期情報に基づいて、前記故障を発生した現用装置の処理を引き続いて実行する段階と、
を有する方法。
【請求項２】
複数の前記現用装置が設けられ、
前記同期情報は、前記対向装置からの入力パケットのフローごとに処理内容を記述したフローリストであって、前記各現用装置は前記フローリストを保持するとともに前記同期管理サーバとの間でフローリストを同期させる、請求項１に記載の方法。
【請求項３】
前記予備装置はバッファを備え、
前記予備装置において、前記フローリストの前記同期管理サーバからのダウンロードの完了前にも前記対向装置からの入力パケットを受け付けてバッファに格納し、前記同期管理サーバから受信した前記フローリストに従って前記バッファ内の入力パケットを処理する、請求項２に記載の方法。
【請求項４】
前記予備装置はフローの分類の別に応じた複数のバッファを備え、
前記予備装置において、前記フローリストの前記同期管理サーバからのダウンロードの完了前にも前記対向装置からの入力パケットを受け付けて前記フローの分類の別に基づいて対応するバッファに格納し、前記同期管理サーバから受信した前記フローリストに従って前記バッファ内の入力パケットを処理する、請求項２に記載の方法。
【請求項５】
前記予備装置は、前記フローリストのうち当該パケットのフローに関するエントリを含む部分の受信が完了していない場合には前記同期管理サーバに前記エントリの送信を要求する、請求項２乃至４のいずれか１項に記載の方法。
【請求項６】
前記現用装置は、高い優先度を有するクラスのフローに関し、前記予備装置との間で前記フローリストを直接同期させる、請求項２乃至５のいずれか１項に記載の方法。
【請求項７】
対向装置からの入力に応じて処理を実行して前記対向装置に出力を返す現用装置と、
パケット転送網を介して前記現用装置と接続し、前記現用装置に障害が発生した時に前記現用装置から前記処理を引き続いて実行する予備装置と、
前記現用装置に直接接続するとともに、前記パケット転送網を介して前記予備装置にも接続し、前記対向装置から前記現用装置に入力された情報に基づく同期情報を当該現用装置から受け取って保持し、前記予備装置からの要求に応じて前記同期情報を前記予備装置に送信する同期管理サーバと、
を備え、
前記予備装置は、前記現用装置の障害を検出したときに、当該故障を発生した現用装置の同期情報であって当該予備装置において未受信である同期情報を前記パケット転送網を介して前記同期管理サーバに要求し、前記同期管理サーバから前記パケット転送網を介して受け取った前記同期情報に基づいて、前記故障を発生した現用装置の処理を引き続いて実行する、装置間切替システム。
【請求項８】
複数の前記現用装置を備え、
前記同期情報は、前記対向装置からの入力パケットのフローごとに処理内容を記述したフローリストであって、前記各現用装置は前記フローリストを保持するとともに前記同期管理サーバとの間でフローリストを同期させる、請求項７に記載の装置間切替システム。
【請求項９】
前記予備装置は、前記対向装置からの入力パケットをフローの分類に基づいて格納する複数のバッファを有し、前記同期管理サーバから受信した前記フローリストに従って前記バッファ内の入力パケットを処理する、請求項８に記載の装置間切替システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して現用装置と予備装置とが接続する場合における、現用装置と予備装置との間で状態の同期を図り、障害発生時などに現用装置から予備装置に切り替える方法と、そのような方法が適用される装置間切替システムとに関する。
【背景技術】
【０００２】
ネットワーク事業者が提供するパケット通信網には、アドレス変換やＱｏＳ（Quality of Service；サービス品質）制御、トンネル通信のためのヘッダ付与などの各種の処理をパケットに施すパケット転送装置が設置されている。これらの装置が故障した時の対策として、同じ機能を搭載する現用装置と予備装置とを用意し、通常時には現用装置を運転し、かつ、現用装置と予備装置との間で状態の同期を図り、現用装置が故障した場合には、瞬時に予備装置が処理を引き継ぐ方法がある。
【０００３】
図１は、現用装置と予備装置とを備えたシステムの一例を示している。図１の（Ａ）に示したものでは、ルータ等の転送装置によって構成される２つのパケット転送網１１，１２が設けられており、現用装置２０と予備装置４０は、いずれも、２つのパケット転送網１１，１２の両方に接続している。また、パケット転送網１２には、対向装置３０が接続している。対向装置３０は現用装置２０に対してパケット処理を依頼するものであり、現用装置２０は、通常時には、対向装置３０からパケット転送網１２を介して入力したデータに対してパケット処理を実行し、その結果をパケット転送網１２を介して対向装置３０に出力する。また、現用装置２０と予備装置４０は、パケット転送網１１を介して状態同期を行っている。
【０００４】
ここで現用装置２０に故障が発生したとすると、図１の（Ｂ）に示したように、パケット処理の実行が現用装置２０から予備装置４０に切り替わり、その結果、予備装置４０は、対向装置３０からパケット転送網１２を介して入力したデータに対してパケット処理を実行し、その結果をパケット転送網１２を介して対向装置３０に出力するようになる。
【０００５】
ところで、現用装置と予備装置との間で状態の同期を図る方法として、対向装置３０から現用装置２０に入力した情報をログ（記録）化してパケット化し、その入力情報のログのパケットを現用装置２０から予備装置４０に送信し、現用装置２０と予備装置４０のそれぞれにおいて、当該入力に対する演算と出力とを行う方法がある。この場合、現用装置２０と予備装置４０との間での状態同期を入力情報ログのパケットを用いてどのように行うかによって、データレプリケーション技術などで採用されている同期方式と、非同期方式とがある（非特許文献１参照）。
【０００６】
図２は、同期方式での状態同期を説明する図である。図２の（Ａ）に示すように、対向装置３０から入力があると（図２の［１］）、現用装置２０は入力情報をログに記録してパケット化し（［２］）、それを予備装置４０に送信する（［３］）。予備装置４０は、入力情報を受信したら受信確認応答（Ａｃｋ）を現用装置に送り（［４］）、現用装置２０は、Ａｃｋを受け取ってから演算結果を対向装置３０に出力する（［５］）。図２の（Ｂ）は、この同期方式での現用装置２０、対向装置３０及び予備装置４０の間でのデータのやり取りを信号シーケンス図として示したものである。以下の説明において、信号シーケンス図におけるａ，ｂは現用装置への入力を表し、ａ−Ａｃｋ，ｂ−Ａｃｋは、入力ａ，ｂに対する現用装置からの出力を表し、ａ’，ｂ’は入力情報ａ，ｂをパケット化したものを表し、ａ’−Ａｃｋ，ｂ’−Ａｃｋは、パケット化された入力情報ａ’，ｂ’に対する到達確認応答を示している。
【０００７】
ここでは、現用装置２０と予備装置４０との間にパケット転送網１１が存在している。そのため、パケット転送網１１でのルータの輻輳や故障等により、パケット損失が発生する可能性が高まる。その場合、現用装置２０から予備装置４０に向けてパケット化された入力情報ａ’を送信する際に再送が頻発したり、予備装置２０からの到達確認応答ａ’−Ａｃｋが遅れ、現用装置２０での処理遅延が生じる。この処理遅延により、現用装置２０から対向装置３０が出力ａ−Ａｃｋを受け取るまでの時間にも遅延が生じる。これは、同期方式における解決すべき課題である。
【０００８】
図３は、非同期方式での状態同期を説明する図である。図３の（Ａ）に示すように、対向装置３０から入力があると（図３の［１］）、現用装置２０は直ちに対向装置３０に対する出力を実行し（［２］）、その後、入力情報をログに記録してパケット化し（［３］）、それを予備装置４０に送信する（［４］）。予備装置４０は、入力情報を受信したら受信確認応答（Ａｃｋ）を現用装置に送る（［５］）。図３の（Ｂ）は、この非同期方式での現用装置２０、対向装置３０及び予備装置４０の間でのデータのやり取りを信号シーケンス図として示したものである。
【０００９】
ここで、現用装置２０が入力に対して直ちに出力を実行したが、その後、入力情報を予備装置４０に送信する前に故障したとする。その場合、対向装置３０からの入力ａに対応した入力情報ａ’を予備装置４０が受け取っていない状態で、予備装置４０に切り替わってしまう。その一方で、対向装置３０は、入力ａに対する出力ａ−Ａｃｋを既に現用装置２０から受け取っているため、次の処理に移行している。従って、切替後の予備装置４０と対向装置３０との間で状態の不整合が生じ、予備装置４０は、処理を正しく引き継げない可能性がある。具体的には、入力ａを前提として入力ｂに対する処理を行う必要がある場合、図３の（Ｂ）に示すように、予備装置４０は入力情報ａ’を受け取っていないため、切替によって対向装置３０から入力ｂを直接受け取ったとしても、この入力ｂは不明パケットということになり、出力ｂ−Ａｃｋを返すことができなくなる。
【００１０】
現用装置２０と予備装置４０が配置されている場合、相互に相手側の装置の生存確認を行って、相手側の装置が故障していないかを検出する必要がある。図４の（Ａ）に示すように、現用装置２０と予備装置４０との間でのこのような生存確認は、一般に、ハートビートパケットを互いに送信し、一定時間相手からの応答がない場合に、故障発生と判断するようにしている。ところで、現用装置２０と予備装置４０とがパケット転送網１１を介して存在する場合、パケット転送網１１のルータの輻輳や故障により、ハートビートパケットが不達となる場合がある。図４の（Ｂ）に示すように、パケット損失によるハートビートパケットの不達が発生すると、予備装置４０は、現用装置２０が正常に動作しているにも関わらず現用装置２０での故障発生と判断するので、現用装置２０が正常に動作していても、予備装置４０が処理を引き継いでしまう。これにより、現用装置２０と予備装置４０が重複して現用装置となりうる両系起動の問題、すなわち両方の装置が対向装置３０からの入力を処理する動作を行ってしまう、という問題が生じる。
【先行技術文献】
【非特許文献】
【００１１】
【非特許文献１】佐野  正和、“システム担当者のための今さら聞けないストレージ再入門  天災は、忘れたころにやってくる〜災害時対策入門、その具体的手法（２）”、[online]、2008年5月22日、企業ＩＴとマネジメント Enterprise Zine、株式会社翔泳社、［2011年12月14日検索］、インターネット<URL:http://enterprisezine.jp/article/detail/361>
【発明の概要】
【発明が解決しようとする課題】
【００１２】
上述したように、現用装置と予備装置とをパケット転送網を介して配置した場合、パケット転送網での輻輳やパケット損失に起因して処理遅延や両系起動の問題が生じたり、あるいは、故障発生のタイミングによっては処理を現用装置から予備装置にうまく引き継げない、などの問題が生じる。また、現用装置と予備装置とを１：１で配置することは、現用装置の台数が多い場合などに不経済になりがちである。
【００１３】
本発明の目的は、現用装置と予備装置とを有するシステムにおいて、切替に伴う処理遅延や状態不整合を防止し、さらに、予備装置の台数の削減も可能とする装置間同期および切替方法を提供することにある。
【００１４】
本発明の目的は、現用装置と予備装置とを備えるシステムであって、切替に伴う処理遅延や状態不整合を防止し、さらに、予備装置の台数の削減も可能な装置間切替システムを提供することにある。
【課題を解決するための手段】
【００１５】
本発明の装置間同期および切替方法は、対向装置からの入力に応じて処理を実行して前記対向装置に出力を返す現用装置と、パケット転送網を介して前記現用装置と接続し、前記現用装置に障害が発生した時に前記現用装置から前記処理を引き続いて実行する予備装置と、を有するシステムにおける装置間同期および切替方法であって、
前記現用装置が、当該現用装置に直接接続した同期管理サーバに、前記対向装置からの入力に基づいて同期情報を送信する段階と、
前記同期管理サーバが前記同期情報を保持する段階と、
前記現用装置の障害を検出した前記予備装置が、当該故障を発生した現用装置の同期情報であって当該予備装置において未受信である同期情報を前記パケット転送網を介して前記同期管理サーバに要求する段階と、
前記予備装置が、前記同期管理サーバから前記パケット転送網を介して受け取った前記同期情報に基づいて、前記故障を発生した現用装置の処理を引き続いて実行する段階と、
を有する。
【００１６】
本発明の装置間切替システムは、対向装置からの入力に応じて処理を実行して前記対向装置に出力を返す現用装置と、
パケット転送網を介して前記現用装置と接続し、前記現用装置に障害が発生した時に前記現用装置から前記処理を引き続いて実行する予備装置と、
前記現用装置に直接接続するとともに、前記パケット転送網を介して前記予備装置にも接続し、前記対向装置から前記現用装置に入力された情報に基づく同期情報を当該現用装置から受け取って保持し、前記予備装置からの要求に応じて前記同期情報を前記予備装置に送信する同期管理サーバと、
を備える。前記予備装置は、前記現用装置の障害を検出したときに、当該故障を発生した現用装置の同期情報であって当該予備装置において未受信である同期情報を前記パケット転送網を介して前記同期管理サーバに要求し、前記同期管理サーバから前記パケット転送網を介して受け取った前記同期情報に基づいて、前記故障を発生した現用装置の処理を引き続いて実行する。
【発明の効果】
【００１７】
本発明は、１または複数の現用装置を設けるとともに、これらの現用装置と直接接続した同期管理サーバを設け、この同期管理サーバにおいて、現用装置と予備装置との間での状態同期に必要な同期情報を現用装置から受信して保持し、現用装置から予備装置に切り替わるときにはその同期情報を予備装置へ送信するようにすることにより、切替に伴う処理遅延などの発生を防止することができるとともに、状態不整合なども起こらなくなる、という効果を有する。
【図面の簡単な説明】
【００１８】
【図１】現用装置と予備装置とを備えたシステムの一例を示すブロック図である。
【図２】同期方式による状態同期を説明する図である。
【図３】非同期方式による状態同期を説明する図である。
【図４】パケット損失によって現用装置と予備装置とが同時に動作状態となることを示す図である。
【図５】本発明の実施の一形態の装置間切替システムの構成を示すブロック図である。
【図６】現用装置、予備装置及び同期管理サーバの構成を示すブロック図である。
【図７】実施例１において現用装置が正常であるときの動作を説明する図である。
【図８】実施例１において現用装置が故障したときの動作を説明する図である。
【図９】実施例１においてネットワーク障害があったときの動作を説明する図である。
【図１０】実施例２での動作を説明する図である。
【図１１】実施例３での動作を説明する図である。
【図１２】実施例３において入力パケットのバッファへの格納を説明する図である。
【図１３】実施例３において共用予備装置に複数のバッファを設けた構成を示す図である。
【図１４】実施例３において共用予備装置に問い合わせ部を設けた構成を示す図である。
【図１５】実施例３において共用予備装置にフローのＱｏＳクラスごとのバッファを設けた構成を示す図である。
【発明を実施するための形態】
【００１９】
図５は、本発明の実施の一形態の装置間切替システムを示している。このシステムは、図１に示したものと同様にパケット転送網に接続した現用装置２０と予備装置４０とを備え、通常時には対向装置３０からの入力を現用装置２０で処理し、現用装置２０での障害発生時には対向装置３０からの入力を予備装置４０で処理するようにしたものである。このシステムが図１に示したものと異なることは、複数の現用装置２０に対して、それよりも少ない台数の予備装置４０を設ければよいことと、現用装置２０と予備装置４０との間で状態を同期するために必要な同期情報を現用装置２０から受信して保持し、予備装置４０に処理が切り替わったときに同期情報を予備装置４０へ送信する機能を有する同期管理サーバ５０が設けられていることである。同期情報としては、現用装置に対する入力情報は、後述するフローテーブルなどが含まれる。
【００２０】
１または複数の現用装置２０（図示したものでは現用装置１〜現用装置Ｎ）がパケット転送網１１に接続しており、このパケット転送網１１には予備装置４０も接続している。同期管理サーバ５０は、パケット転送網１１を介さずに各現用装置２０と直接接続し、パケット転送網１１を介して予備装置４０ともデータの送受信が可能である。パケット転送網１１は、現用装置２０と予備装置４０との間での状態の同期のために用いられるネットワークである。もう１つのパケット転送網１２には、各現用装置２０と対応装置３０と予備装置４０とが接続している。パケット転送網１２は、各現用装置２０及び予備装置４０に対して対向装置３０を接続するためのネットワークである。ここではパケット転送網１１，１２が分離しているが、パケット転送網１１，１２が一体のものとなっていてもよい。
【００２１】
図６は、現用装置、予備装置及び同期管理サーバの各々の構成を示している。
【００２２】
各現用装置２０と直接接続し、同期情報を現用装置２０から受信して保存し、現用装置２０から予備装置４０への切り替え時に同期方法を予備装置４０へ送信する同期管理サーバ５０は、同期情報受信部５１とＡｃｋ送信部５２と同期情報保存部５３と同期情報要求応答部５４とを備えている。同期情報受信部５１は、現用装置２０から同期情報を受信する機能を有する。Ａｃｋ送信部５２は、現用装置２０から同期情報を受信した後、受信確認のためのＡｃｋ応答を当該現用装置２０に送信する機能を有する。同期情報保存部５３は、現用装置２０から受信した同期情報をある一定時間保存する機能を有する。同期情報要求応答部５４は、予備装置２０からの同期情報要求に対し、該当する現用装置２０の同期情報を予備装置４０へ送信する機能を有する。
【００２３】
各現用装置２０は、対向装置３０からのパケットをパケット転送網１２を介して受信し、そのパケットに対して必要な処理を施し、処理後のパケットをパケット転送網１２に送信する機能を有するとともに、予備装置４０との同期のため、同期情報を同期管理サーバ５０または予備装置４０に送信する機能を有する。また現用装置２０は、予備装置４０との間で、ハートビートパケットによる生存確認を行うように構成されている。そのような現用装置２０は、同期情報を同期管理サーバ５０及び予備装置４０に送信する同期情報送信部２１と、同期管理サーバ５０または予備装置４０からのＡｃｋ応答を受信するＡｃｋ受信部２２と、予備装置４０との間でハートビートパケットを一定間隔で交換する生存確認部２３と、を備えている。
【００２４】
予備装置４０は、現用装置２０との同期のため、同期情報を現用装置２０または同期管理サーバ５０から受信する機能を有する。また予備装置４０は、現用装置２０との間で、ハートビートパケットによる生存確認を行い、現用装置２０の故障を検出した場合、現用装置２０の処理を引き継ぎ、パケット転送網１２へ切替通知を送信する。このような予備装置４０は、現用装置２０から同期情報を受信する同期情報受信部４１と、現用装置２０から同期情報を受信した後、受信確認のためのＡｃｋ応答を当該現用装置２０に送信するＡｃｋ送信部４２と、現用装置２０との間でハートビートパケットを一定間隔で交換する生存確認部４３と、生存確認部４３において、ある一定時間、現用装置からの応答がない場合に、同期管理サーバに対して同期情報を要求する同期情報要求部４４と、パケット転送網１２に対して切替の通知を行う切替通知部４５と、対向装置３０から受信したパケットを一定時間保存しておく受信パケット保存部４６と、を備えている。
【００２５】
以上説明した構成を有する本実施形態の装置間切替システムでは、（１）冗長構成、（２）同期情報のコピーの方式、及び（３）切替タイミングの３点について、それぞれが独立に複数の形態を考えることができ、これらの各点ごとに１つの形態を選択して、現用装置と予備装置との間での同期と切替を実現することができる。すなわち、組み合わせに関してすべてのものが実現可能である。
【００２６】
（１）冗長構成では、（１−１）現用装置と予備装置をそれぞれ１台ずつとする１：１の構成と、（１−２）Ｎ，ｍがＮ＞ｍである自然数であるとして、現用装置をＮ台と予備装置をｍ台設けるＮ：ｍの構成と、が可能である。Ｎ：ｍの構成によれば、複数の現用装置が１台の予備装置を共用することによって、予備装置にかかるコストを低減することが可能である。
【００２７】
（２）同期情報コピー方式では、（２−１）同期情報を現用装置または同期管理サーバから予備装置に逐次コピーする逐次コピー方式と、（２−２）現用装置の正常運用中は同期情報を同期管理サーバに格納しておき、現用装置が故障した際に、同期情報を同期管理サーバから予備装置にコピーする切替後コピー方式とが可能である。
【００２８】
（３）切替タイミングでは、（３−１）現用装置の故障発生後、同期情報または同期情報の差分を同期管理サーバから予備装置へコピーし、そのコピーの完了後、予備装置の切替通知部がパケット転送網へ切替通知を行うコピー後切替方式と、（３−２）現用装置の故障発生後、予備装置の切替通知部パケット転送網へ切替通知を行ってから、同期情報または同期情報の差分を同期管理サーバから予備装置へコピーを行うコピー前切替方式と、が可能である。ただし、コピー前切替方式では、コピー中に対向装置からパケットを受信した場合には、そのパケットを予備装置の受信パケット保存部に保存する。
【００２９】
［実施例］
以下、図５及び図６に示した装置間切替システムにおける（１）冗長構成、（２）同期情報のコピーの方式、及び（３）切替タイミングの組み合わせに基づく各実施例を説明することによって、本発明をさらに詳しく説明する。
【００３０】
［実施例１］
冗長構成として１：１を採用し、同期情報コピー方式として逐次コピー方式を採用し、切替タイミングとしてコピー後切替方式を採用するものとする。また、同期情報は、現用装置２０に入力された入力情報（すなわち対向装置３０からのパケット入力など）であるとする。
【００３１】
現用装置２０が正常に動作しているときは、図７における（Ａ）のブロック図及び（Ｂ）の信号シーケンス図に示すように、現用装置２０は、対向装置３０から入力ａを受信すると（図７の［１］）、その入力情報をログに記録してパケット化して入力情報ａ’を生成し（［２］）、パケット化された入力情報ａ’を同期情報として同期情報送信部２１から同期管理サーバ５０に送信する（［３］）。同期管理サーバ５０は、同期情報受信部５１によってこのパケット化された入力情報ａ’を同期情報として受信して同期情報保存部５３に保存し、Ａｃｋ送信部５２によって到達確認応答ａ’−Ａｃｋを現用装置２０に送信する（［４］）。現用装置２０は、Ａｃｋ受信部２２によって同期管理サーバ５０からのａ’−Ａｃｋを受信したのち、入力ａに対する出力ａ−Ａｃｋを対向装置３０に送信する（［５］）。
【００３２】
その後、現用装置２０は、予備装置４０に対しても、パケット化された入力情報ａ’を同期情報として送信し（［６］）、予備装置４０は、その同期情報受信部４１によって同期情報ａ’を受信すると、Ａｃｋ送信部４２によって到着確認応答ａ’−Ａｃｋを現用装置３０に送信する（［７］）。
【００３３】
対向装置３０および現用装置２０は、入力情報ａやａ’に対する到着確認応答ａ−Ａｃｋやａ’−Ａｃｋが一定時間たっても届かない場合には、ａやａ’を再送する機能を備えている。
【００３４】
この実施例では、現用装置２０は、同期管理サーバ５０にも同期情報ａ’を送信し、同期管理サーバ５０からの到達確認応答ａ’−Ａｃｋを受信したら対向装置３０に対する出力を実行できるようにしている。この実施例は、到達確認応答ａ’−Ａｃｋを受信してから現用装置２０が対向装置３０に対する出力を実行する点では図２に示した同期方式と同じであるが、現用装置２０と同期管理サーバ５０とが直接接続されており、この直接接続ではルータの輻輳や故障によるパケット損失は発生しにくいことから、図２に示したものと比べ、現用装置２０が、入力をを受けてから出力を実行するまでの時間が短縮され、処理遅延の低減が可能となっている。すなわちこの実施例の構成は、現用装置２０と予備装置４０とが接続するパケット転送網１１でのパケット損失などの影響を受けない構成となっている。
【００３５】
次に、図８を用いて、実施例１において現用装置２０が故障した時の動作を説明する。
【００３６】
現用装置２０と予備装置４０との間では、ハートビートパケットを相互に送信することによって、互いの生存確認を行っている。ここでは、対向装置３０からの入力ａに対する出力ａ−Ａｃｋを現用装置２０が対向装置３０に送信したが、同期情報ａ’を予備装置４０には送信していない時点で現用装置２０に故障が発生したものとする。これは、図３を用いて説明した非同期方式の構成での故障発生時点と同じである。図８における（Ａ）のブロック図及び（Ｂ）の信号シーケンス図に示すように、現用装置２０で故障が発生すると（図８の［１］）、予備装置４０ではその生存確認部４３が、ハートビートパケットへの現用装置２０の応答がないことから、現用装置２０での故障発生を検出する（［２］）。その結果、予備装置４０は、その同期情報要求部４４によって、同期管理サーバ５０に対し、アクセス確認と受信済み同期情報通知のためのパケットを送信する（［３］）。このパケットを受信した同期管理サーバ５０では、同期情報要求応答部５４が、予備装置４０では未受信の同期情報を同期情報保存部５３から取り出して予備装置４０へ送信する（［４］）。予備装置４０は、この同期情報を同期情報受信部４１において受信し、Ａｃｋ送信部４２によって到達確認応答のパケットａ’−Ａｃｋを同期管理サーバ５０に送信する（［５］）。
【００３７】
その後、予備装置４０は、切替通知部４５によってパケット転送網１２に対してＲＡＲＰ(Reverse ARP)パケット等の切替通知パケットを送信し（［６］）、その結果、対向装置３０は現用装置２０から予備装置４０に切り替わったことを認識して、対向装置３０からの入力情報（図示したものではｂ）が予備装置４０に到達するようになる（［７］）。予備装置４０は、入力ｂに対する出力ｂ−Ａｃｋを実行して対向装置３０に送信する（［８］）。
【００３８】
この構成では、現用装置２０が予備装置４０に同期情報を送信する前に現用装置２０の故障が発生した場合であっても、同期管理サーバ５０には全ての同期情報が保存されているから、予備装置４０は、現用装置２０での故障発生後に同期管理サーバ５０から未受信の同期情報を受信することが可能である。したがって、切替後の予備装置２０と対向装置３０との間での状態の不整合が生じず、処理を正常に引き継ぐことが可能となる。
【００３９】
次に、図９を用いて、実施例１においてパケット転送網１１に障害が発生した場合の動作を説明する。
【００４０】
現用装置２０と予備装置４０とは、パケット転送網１１を介して生存確認用のハートビートパケットを相互に送信している。図９における（Ａ）のブロック図及び（Ｂ）の信号シーケンス図に示すように、パケット転送網１１でネットワーク障害が発生すると（［１］）、予備装置４０の生存確認部４３は、ハートビートパケットの応答がないことから、故障を検出する（［２］）。ここでは、図８に示した場合と同様に、予備装置４０は、同期管理サーバ５０に対し、アクセス確認と受信済み同期情報通知のためのパケットをパケット転送網１１を介して送信する（［３］）。ここではパケット転送網１１のネットワーク障害が起きているから同期管理サーバ５０からの応答が予備装置４０に届くことはなく、予備装置４０は、同期管理サーバ５０からの応答がないことから、現用装置２０の故障ではなくパケット転送網１２のネットワーク障害であると判断し、現用装置２０の処理引き継ぎは行わない。現用装置２０は、引き続き、対向装置３０からの入力（ここで示した例では入力ｂ）に対し（［４］）、出力を実行してｂ−Ａｃｋを対向装置３０に送信する（［５］）。
【００４１】
本発明の構成によれば、予備装置４０は、ハートビートパケット不達時に、その不達が現用装置２０の故障によるものかネットワーク障害によるものかを区別することができ、その結果、ネットワーク障害時に、現用装置と予備装置が重複して動作するいわゆる両系起動の問題を回避することができる。
【００４２】
［実施例２］
冗長構成としてＮ：ｍを採用し、同期情報コピー方式として切替後コピー方式を採用し、切替タイミングとしてコピー後切替方式を採用するものとする。また、同期情報は、現用装置２０に入力された入力情報であるが、特に、ＳＩＰ(Session Initiation Protocol)パケットなどに含まれ、パケットのヘッダ情報等により区別されるフローごとに当該フローのパケットに対して要求される処理内容を記載した情報を抽出したものとする。当該処理内容は、フローテーブルとして現用装置２０に保存さているものとする。本実施例では、フローテーブルを同期情報とする。フローテーブルはフローごとのものであり、パケット処理もフローごとに現用装置２０でなされるものであるから、結果として、現用装置ごとにフローテーブルも区別されることとなる。これらのフローテーブルは、各現用装置２０においてメモリに格納され、参照されるものとする。
【００４３】
図１０の（Ａ）は、実施例２での構成を示している。３台の現用装置２０（現用装置１〜３として区別する）がパケット転送網１１に接続し、このパケット転送網１１には、各現用装置２０に共通のものとして設けられる共用予備装置６０も接続している。対向装置３０は、パケット転送網１２に接続し、パケット転送網１２には、各現用装置２０も共用予備装置６０も接続している。上述と同様に、パケット転送網１１は、現用装置２０と共用予備装置６０との状態同期のために用いられるネットワークであり、パケット転送網１２は、対向装置３０が要求するパケット処理を現用装置２０（あるいは共用予備装置６０）で処理するためのネットワークである。同期管理サーバ５０は、３台の現用装置に対して直接接続するとともに、パケット転送網１１を介して共用予備装置６０とも接続している。共用予備装置６０は、上述した予備装置４０と同様の構成のものであるが、複数の現用装置２０に対応するようにしたものである。
【００４４】
各現用装置２０が正常に動作している時には、各現用装置２０のメモリ上に格納され、パケット処理の際に参照されるフローテーブルを、同期管理サーバ５０の記憶媒体上で同期させる。現用装置２０においてフローテーブルが変更されると、それに追従して同期管理サーバ５０で上の当該現用装置用のフローテーブルも変更される。
【００４５】
次に、現用装置が故障した時の動作を図１０の（Ｂ）を用いて説明する。ここでは、現用装置２に故障が発生するものとする。
【００４６】
現用装置２で故障が発生すると（図１０の［１］）、共用予備装置６０は、現用装置２からのハートビート応答がないことから、現用装置２の故障を検出し（［２］）、同期管理サーバ５０に対し、アクセス確認と現用装置２のフローテーブル要求のためのパケットを送信する（［３］）。同期管理サーバ５０は、現用装置２に対応したフローテーブル、すなわちフローテーブル２を共用予備装置６０へ送信する（［４］）。共用予備装置６０は、受信したフローテーブル２をメモリ上に全て保存すると、パケット転送網１２に対して、ＲＡＲＰパケット等の切替通知パケットを送信する（［５］）。その結果、対向装置３０は現用装置２から予備装置４０に切り替わったことを認識して、対向装置３０から現用装置２向けのパケットが共用予備装置６０に入力されるようになり（［６］）、共用予備装置６０は、現用装置２の処理を引き継いで出力を実行する（［７］）。
【００４７】
共用予備装置６０は、Ｎ：ｍ冗長構成において複数の現用装置２０の処理を引き継ぐものであるが、これら複数の現用装置２０の状態情報をすべて保持するようにすると、共用予備装置６０におけるメモリ容量不足が懸念されるところである。本実施例では、記憶容量の大きな同期管理サーバの記憶媒体上で、各現用装置ごとのフローテーブルの同期と保存を行い、現用装置から予備装置への切替時に、該当するフローテーブルのみを共用予備装置がダウンロードするようにすることにより、共用予備装置６０でのメモリサイズを抑えたまま、Ｎ：ｍの冗長構成を容易に実現できるようになる。
【００４８】
［実施例３］
冗長構成としてＮ：ｍを採用し、同期情報コピー方式として切替後コピー方式を採用し、切替タイミングとしてコピー前切替方式を採用するものとする。また、同期情報として、実施例２と同様にフローテーブルを使用する。フローテーブルは、各現用装置２０においてメモリに格納され、参照されるものとする。また、共用予備装置６０では、受信パケットを保存する受信パケット保存部が特にバッファ６１として設けられているものとする。
【００４９】
図１１の（Ａ）は、実施例３の構成を示しており、共用予備装置６０内にバッファ６１が設けられていること以外は、図１０の（Ａ）に示した実施例２の構成と同じである。また、各現用装置２０が正常であるときの動作も実施例２の場合と同様である。
【００５０】
現用装置が故障した時の動作を図１１の（Ｂ）を用いて説明する。ここでは、現用装置２に故障が発生するものとする。
【００５１】
現用装置２での故障の発生（図１１の［１］）、共用予備装置６０における現用装置２の故障の検出（［２］）、及びアクセス確認及びフローテーブル２要求のパケットの送信（［３］）までは、図１０の（Ｂ）に示した実施例２の場合と同様に行われる。同期管理サーバ５０は、アクセス確認及びフローテーブル２要求のパケットを受信すると、共用予備装置６０へのフローテーブル２の共用予備装置への送信を開始する（［４］）。共用予備装置６０は、フローテーブル２の受信を開始した時点で、パケット転送網１２に対して、ＲＡＲＰパケット等の切替通知パケットを送信する（［５］）。切替通知パケットの送信時点では、共用予備装置６０でのフローテーブル２のダウンロードは完了していないが、対向装置３０から共用予備装置６０に対し、現用装置２向けのパケットが入力されることがあり得る。現用装置２向けのパケットが対向装置３０から共用予備装置６０に入力されると（［６］）、この時点ではフローテーブル２のダウンロード中であり、共用予備装置２のメモリ上では、フローのエントリが完備して存在しているわけではない。そこで、存在しないエントリに対応するパケットをバッファ６１に蓄積し（［７］）、フローのエントリがメモリ上に格納された時点で、共用予備装置６０は出力をを実行する（［８］）。
【００５２】
この構成では、実施例２と同様に、共用予備装置におけるメモリサイズを抑えたまま、容易にＮ：ｍ冗長構成を実現することができる。さらに、共用予備装置にバッファを設け、フローテーブルのダウンロードと並行して、対象のエントリがダウンロード済みのパケットに対する処理を実行して結果を出力できるようにしたことにより、現用装置から共用予備装置への切替後の処理遅延を緩和することができる。
【００５３】
ところで、実施例３において、共用予備装置６０に受信パケットを格納するバッファ６１が１つしかない場合、図１２に示すように、フローのエントリをダウンロードしてメモリ６２に格納する際に、ダウンロードの初期にＢフローのエントリを受信し、その後、Ａフローのエントリはダウンロードの最後になってからでないと受信できないとすると、Ａフローのパケットがバッファ６１内に格納されている場合には、ダウンロードが完了してＡフローのエントリを受信するまで、Ａフローのパケット以降に受信したパケットの処理を行えないことになる。図１２は最悪ケースを示したものであり、最初にそのエントリを受信したＢフローのパケットについても、Ａフローのパケットより後にあるかぎり、ダウンロード完了まで処理を行えないことになる。
【００５４】
そこで図１３に示すように、共用予備装置６０内に複数のバッファ６１を設けるとともに、パケットをこれらのバッファに振り分ける振り分け部６４を設ける。フローは、あらかじめ、バッファ６１の個数と同じ数に分類されており、振り分け部６４は、パケットを受信すると、定められた分類に従ってパケットを各バッファ６１に振り分ける。また、同期管理サーバ５０からのフローテーブルの送信においても上記の分類にしたがってフローテーブルを分割して送信するものとする。送信されるフローテーブルを分割し、バッファ６１も分割することにより、フローテーブルのダウンロードのために共用予備装置６０内で処理待ちとなるパケットの数を低減することができる。
【００５５】
あるいは、共用予備装置６０内での受信パケットの処理待ちを低減するものとして、図１４に示すように、同期管理サーバ５０に対して問い合わせを行う問い合わせ部６３を共用予備装置６０内に設けるようにしてもよい。問い合わせ部６３は、バッファ６１内にバッファリングされたパケットについて、対応するエントリがまだ共用予備装置６０にダウンロードされていない場合に、同期管理サーバ５０に対して当該エントリの問い合わせを行うものである。同期管理サーバ５０がこの問い合わせに対して当該エントリを共用予備装置６０に対して回答する。図示したものでは、Ａフローのパケットがバッファ６１内に格納されたことに応じ、問い合わせ部６３が同期管理サーバ５０に問い合わせを行っており、その結果、同期管理サーバ５０からはＡフローのエントリが回答として共用予備装置６０に送られている。バッファリングされたパケットのエントリがダウンロードされていない場合に問い合わせ部６３によって同期管理サーバに逐次問い合わせを行うことにより、フローのエントリのダウンロードにより待たされる時間を低減することができる。
【００５６】
共用予備装置６０において複数のバッファ６１を設ける例として、図１５では、フローのＱｏＳクラスごとにバッファ６１を設け、パケットを受信したときに、振り分け部６４によって、そのパケットのフローのＱｏＳクラスに応じてそのパケットをバッファ６１に振り分けるようにしたものが示されている。ここでは、ＱｏＳクラスとして、Ｈｉｇｈ（保証するサービス品質が相対的に高いクラス）、Ｍｉｄｄｌｅ（保証するサービス品質が中程度のクラス）、Ｌｏｗ（保証するサービス品質が相対的に低いクラス）及びＢＥ（ベスト・エフォート；サービス品質の保証を行わないクラス）とが設定されているものとする。
【００５７】
図１５に示したものでは、Ｈｉｇｈクラスのフローを記述したフローテーブルは、同期管理サーバ５０を介さずに、各現用装置２０から共用予備装置６０のメモリ６２に転送され、これにより、Ｈｉｇｈクラスのフローについては、各現用装置２０と共用予備装置６０との間でリアルタイムで状態同期がなされるようにする。Ｈｉｇｈクラスに属するフローは、フロー全体の中では少数であると考えられるので、複数の現用装置についてＨｉｇｈクラスのフローのエントリを共用予備装置６０のメモリ６２に格納しても、共用予備装置６０のメモリサイズが不足することはない。そして、いずれかの現用装置において故障が発生し、故障した現用装置の処理を共用予備装置６０が引き継いで実行する切替が発生した時は、故障した現用装置のＨｉｇｈクラスのフローのエントリ以外は、メモリ６２から削除する。
【００５８】
また、Ｈｉｇｈクラスより下位のＱｏＳクラス（例えば、Ｍｉｄｄｌｅ、Ｌｏｗ及びＢＥの各クラス）のフローについては、図１３あるいは図１４に示した場合と同様に、優先度の高い順にフローテーブルのダウンロードを行い、また、優先度の高い順に同期管理サーバ５０に対する問い合わせを行うようにする。
【００５９】
この構成では、Ｈｉｇｈクラスのフローについては各現用装置２０と共用予備装置６０との間でリアルタイムに状態を同期させているため、同期管理サーバ５０からのダウンロードを行うことなく、現用装置から共用予備装置への切替後、直ちに、それらのフローのパケット処理を行うことが可能である。また、Ｈｉｇｈクラスより低位のクラスのパケットについても、優先度の高い方のクラスのパケットが優先的にダウンロードされて、そのクラスのフローの入力に対して出力を実行可能である。
【符号の説明】
【００６０】
１１，１２    パケット転送網
２０    現用装置
２１    同期情報送信部
２２    Ａｃｋ受信部
２３，４３    生存確認部
３０    対向装置
４０    予備装置
４１，５１    同期情報受信部
４２，５２    Ａｃｋ送信部
４４    同期情報要求部
４５    切替通知部
４６    受信パケット保存部
５０    同期管理サーバ
５３    同期情報保存部
５４    同期情報要求応答部
６０    共用予備装置
６１    バッファ
６２    メモリ
６３    問い合わせ部
６４    振り分け部
【図１】
2013179430.tif 000003
【図２】
2013179430.tif 000004
【図３】
2013179430.tif 000005
【図４】
2013179430.tif 000006
【図５】
2013179430.tif 000007
【図６】
2013179430.tif 000008
【図７】
2013179430.tif 000009
【図８】
2013179430.tif 000010
【図９】
2013179430.tif 000011
【図１０】
2013179430.tif 000012
【図１１】
2013179430.tif 000013
【図１２】
2013179430.tif 000014
【図１３】
2013179430.tif 000015
【図１４】
2013179430.tif 000016
【図１５】
2013179430.tif 000017