(57)【特許請求の範囲】
【請求項１】
現用系と予備系とを備えて二重系として動作し、確認応答型プロトコルによる通信を行う通信ノード装置であって、
前記現用系と前記予備系はそれぞれ情報処理部とスイッチ処理部とを備え、
現用系の前記スイッチ処理部は、受信したデータパケットを現用系の前記情報処理部と予備系の前記情報処理部にコピーして転送し、
前記現用系と予備系の情報処理部は、択一的に、前記受信したデータパケットに対し応答パケットを送信し、且つ受信した前記データパケットを整列処理して宛先に送信し、
予備系の前記情報処理部は、
現用系の前記情報処理部で障害発生していない間、
予備系の前記情報処理部からの前記応答パケットの出力を停止する指示を行い、
現用系の前記情報処理部で障害発生した際、前記応答パケットの出力を許可する指示を行って系切替を行うことで、予備系の前記情報処理部で通信を継続し、且つ
前記系切替時に、予備系の前記情報処理部が処理するそれぞれのパケットフローにおいて、前記系切替以前に送信した前記応答パケットのうち、一番最後に送信した確認応答番号を含む前記応答パケットを送信することにより、前記系切替前に受信した前記データパケットに対して無条件に前記応答パケットを送信する、
ことを特徴とする通信ノード装置。
【請求項２】
請求項１記載の通信ノード装置であって、
予備系の前記情報処理部は、
前記応答パケットの出力を停止する指示によって、前記応答パケットを廃棄し、
前記系切替時には、前記廃棄した応答パケットの確認応答番号と同じ確認応答番号を含む前記応答パケットを送信することにより、前記系切替前に受信した前記データパケットに対して無条件に前記応答パケットを送信する、
ことを特徴とする通信ノード装置。
【請求項３】
請求項１記載の通信ノード装置であって、
予備系の前記情報処理部は、
前記系切替時に、無条件に前記データパケットを送信する、
ことを特徴とする通信ノード装置。
【請求項４】
請求項３記載の通信ノード装置であって、
予備系の前記情報処理部は、
前記系切替以前に送信した前記データパケットのうち、
前記系切替直後に到達確認の取れていない前記データパケットを、再送タイムアウトを待たずに無条件に送信する、
ことを特徴とする通信ノード装置。
【請求項５】
請求項３記載の通信ノード装置であって、
予備系の前記情報処理部は、
前記系切替以前に再送要求パケットにより再送要求されて再送した前記データパケットを、前記系切替直後にもう一度無条件に再送する、
ことを特徴とする通信ノード装置。
【請求項６】
それぞれ二重系の現用系と予備系として動作する２台のサーバと、１台のスイッチを備え、確認応答型プロトコルによる通信を行う通信システムであって、
前記スイッチは入力されたデータパケットを現用系の前記サーバと予備系の前記サーバにコピーして転送し、
現用系と予備系の前記サーバは、択一的に、受信したデータパケットに対し応答パケットを送信し、
予備系の前記サーバは、
現用系の前記サーバで障害発生していない間、
予備系の前記サーバからの前記応答パケットの出力を停止する指示を行い、
現用系の前記サーバが障害発生した時に、予備系の前記サーバからの前記応答パケットの出力を許可する指示を行うことで系切替をおこなうことにより通信を継続し、
前記系切替時に、予備系の前記サーバが処理するそれぞれのパケットフローにおいて、前記系切替以前に送信した前記応答パケットのうち、一番最後に送信した確認応答番号を含む前記応答パケットを送信することにより、前記系切替前に受信した前記データパケットに対して無条件に前記応答パケットを送信する、
ことを特徴とする通信システム。
【請求項７】
請求項６記載の通信システムであって、
予備系の前記サーバは、
前記応答パケットの出力を停止する指示によって、前記応答パケットを廃棄し、
前記系切替時には、前記廃棄した応答パケットの確認応答番号と同じ確認応答番号を含む前記応答パケットを送信することにより、前記系切替前に受信した前記データパケットに対して無条件に前記応答パケットを送信する、
ことを特徴とする通信システム。
【請求項８】
請求項６記載の通信システムであって、
予備系の前記サーバは、
前記系切替時に、無条件に前記受信したデータパケットを送信する、
ことを特徴とする通信システム。
【請求項９】
請求項８記載の通信システムであって、
予備系の前記サーバは、
前記系切替以前に送信した前記データパケットのうち、
前記系切替直後に到達確認の取れていない前記データパケットを、再送タイムアウトを待たずに無条件に送信する、
ことを特徴とする通信システム。
【請求項１０】
請求項８記載の通信システムであって、
予備系の前記サーバは、
前記系切替以前に再送要求パケットにより再送要求されて再送した前記データパケットを、前記系切替直後にもう一度無条件に再送する、
ことを特徴とする通信システム。
【請求項１１】
それぞれ情報処理部とスイッチ処理部を備える、現用系と予備系の二重系として動作し、
確認応答型プロトコルによる通信を行う装置における通信方法であって、
前記現用系と予備系の情報処理部は、
現用系の前記スイッチ処理部に入力され、現用系と予備系の前記情報処理部にコピーして転送されたデータパケットを受信し、
前記現用系と予備系の情報処理部は、択一的に、
受信した前記データパケットに対し応答パケットを送信し、且つ受信した前記データパケットを宛先に送信し、
予備系の前記情報処理部は、
現用系の前記情報処理部で障害発生していない間、
予備系の前記情報処理部からの前記応答パケットの出力を停止する指示を行い、
前記現用系で障害発生した際、前記応答パケットの出力を許可する指示を行って系切替を行うことにより通信を継続し、且つ前記系切替時に、予備系の前記情報処理部が処理するそれぞれのパケットフローにおいて、前記系切替以前に送信した前記応答パケットのうち、一番最後に送信した確認応答番号を含む前記応答パケットを送信することにより、前記系切替前に受信した前記データパケットに対して無条件に前記応答パケットを送信する、
ことを特徴とする通信方法。
【請求項１２】
請求項１１記載の通信方法であって、
予備系の前記情報処理部は、
前記応答パケットの出力を停止する指示によって、前記応答パケットを廃棄し、
前記系切替時には、前記廃棄した応答パケットの確認応答番号と同じ確認応答番号を含む前記応答パケットを送信することにより、前記系切替前に受信した前記データパケットに対して無条件に前記応答パケットを送信する、
ことを特徴とする通信方法。
【請求項１３】
請求項１１記載の通信方法であって、
予備系の前記情報処理部は、
前記系切替時に、無条件に前記受信したデータパケットを送信する、
ことを特徴とする通信方法。
【請求項１４】
請求項１３記載の通信方法であって、
予備系の前記情報処理部は、
前記系切替以前に送信した前記データパケットのうち、
前記系切替直後に到達確認の取れていない前記データパケットを、再送タイムアウトを待たずに無条件に送信する、
ことを特徴とする通信方法。
【請求項１５】
請求項１３記載の通信方法であって、
予備系の前記情報処理部は、
前記系切替以前に再送要求パケットにより再送要求されて再送した前記データパケットを、前記系切替直後にもう一度無条件に再送する、
ことを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置およびシステムに関し、特に、装置を冗長化して情報処理、通信処理を継続する技術に関する。
【背景技術】
【０００２】
Webページ閲覧などのアプリケーションでは、クライアントがリクエストパケットを送信し、サーバが応答パケットとデータパケットを送り返す、というパケットのやり取りを行う。クライアントはリクエストパケットを送信した後、最大で数百ミリ秒から数秒の間、応答パケットを受信するのを待ち、応答パケットを受信するまで次のリクエストパケットを送信しない。待機の間に応答パケットを受信できなかった場合、クライアントはリクエストパケットを再送する。これを再送タイムアウトと呼ぶ。再送タイムアウトは、TCP（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）のような応答確認型の通信プロトコル上で発生する。
【０００３】
本技術分野に関する情報通信処理冗長化システムの背景技術として種々の技術が存在するが、例えば、特許文献１には、その課題として、待機系のサーバ計算機とクライアント端末とが各々独自に障害復旧するのでなく、サーバ計算機とクライアント端末とが協調し、予め相互に電文を保持することによりサーバ計算機とクライアント端末間での状態不整合を解消し、業務継続できるオンライントランザクション処理の障害時復旧同期システムに関する技術を提供する点にある、と記載されている。
【０００４】
そして、その解決手段として、「本実施の形態１に係るオンライントランザクション処理の障害時復旧同期システムは、ネットワーク通信路に接続された稼動系サーバ計算機と、待機系サーバ計算機と、クライアント端末と、稼動系サーバ計算機及び待機系サーバ計算機から入出力可能な外部記憶装置とで概略構成される」、と記載されている。
【０００５】
また非特許文献１には、その課題として、障害発生時に瞬断とみなされない１００ms未満程度以内に、バックアップとなる他の装置に処理位置を切替え、サービス継続を実現する技術である。仕掛中のサービスでも継続できるようにするため、現用系と予備系装置の情報処理部では、同一の対象に対し二重にサービスを実施する、と記載されている。
【０００６】
また、その解決手段として、「通信処理部と情報処理部の間に高信頼切替部を備える。この高信頼切替部に、以下の５機能を備えることで、障害発生時の仕掛中の情報通信処理サービスの継続を実現する。１)選択的パケットコピー機能：指定条件に合致するパケットを、現用系と予備系情報処理部へコピー転送。情報処理部は、プロキシ的な動作を行うか、特定のIP（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスを自宛として受信可能にする。本機能により、系切替の前後で通常のサーバ切替時のような、IPアドレスなどの各種のネットワーク再設定を不要にする。２)応答確認型通信プロトコル機能：サーバやクライアントとの間でTCPに代表されるパケット送達を保証する応答確認型の通信を実施。３)選択的入力停止機能：高優先指定パケットは、現用系と予備系双方で入力許可。低優先指定パケットは、現用系と予備系一方で入力許可。対象外パケットは、両系で入力停止。４)選択的出力停止機能：現用系動作時に、予備系からのパケット出力を停止。現用系障害検出後、予備系からのパケット出力を許可。５)相互監視機能：ペアとなる装置間で障害検出のための状態通知を相互に実施し、設定したタイムアウト時間以上の無通信状態を検出すると、障害発生として系切替を実施。」と記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−３３７７１７号公報
【非特許文献】
【０００８】
【非特許文献１】奥野通貴他、「次世代クラウドシステムに向けた高信頼ネットワーク分散処理技術に関する検討」、電子情報通信学会、信学技報、２０１１年４月
【発明の概要】
【発明が解決しようとする課題】
【０００９】
二重系として動作する情報処理部を持つ通信ノード装置で、現用系情報処理部の障害時に予備系に動作を切り替えて通信を継続、維持するときに、パケットが廃棄され、サーバあるいはクライアントが応答パケットを受信できないと再送タイムアウトが発生し、通信が、例えば数百ミリ秒〜数秒中断してしまうという課題がある。
【００１０】
本発明の目的は、上記の課題を解決し、再送タイムアウトが起こりうる通信において、通信ノード装置の現用系で障害が発生し、予備系への系切替が起きた際に発生する、通信の中断時間を短縮することが可能な通信ノード装置、システム、及び方法を提供することにある。
【課題を解決するための手段】
【００１１】
上記の目的を達成するため、本発明においては、現用系と予備系とを備えて二重系として動作し、確認応答型プロトコルによる通信を行う通信ノード装置であって、現用系と予備系はそれぞれ情報処理部とスイッチ処理部とを備え、現用系のスイッチ処理部は、パケットを現用系の情報処理部と予備系の情報処理部にコピーして転送し、情報処理部は、受信したデータパケットに対し応答パケットを送信し、且つ受信したデータパケットを整列処理して宛先に送信し、予備系の情報処理部は、当該情報処理部からのパケットの出力を停止し、現用系の情報処理部で障害発生した際、パケットの出力停止を解除して系切替を行うことで、予備系の情報処理部で通信を継続し、且つ系切替時に、無条件に応答パケットを送信する構成の通信ノード装置を提供する。
【００１２】
また、上記の目的を達成するため、本発明においては、それぞれ二重系の現用系と予備系として動作する２台のサーバと、１台のスイッチを備え、確認応答型プロトコルによる通信を行う通信システムであって、スイッチはパケットを現用系の情報処理部と予備系の情報処理部にコピーして転送し、現用系と予備系のサーバ各々は、受信したデータパケットに対し応答パケットを送信し、予備系のサーバは、当該予備系のサーバからのパケットの出力を停止し、現用系のサーバが障害発生した時に、予備系のサーバのパケットの出力の停止を解除することで系切替をおこなうことにより通信を継続し、系切替時に、無条件に応答パケットを送信する構成の通信システムを提供する。
【００１３】
更に、上記の目的を達成するため、本発明においては、それぞれ情報処理部とスイッチ処理部を備える、現用系と予備系の二重系として動作し、確認応答型プロトコルによる通信を行う装置における通信方法であって、情報処理部は、現用系のスイッチ処理部に入力さ、現用系と予備系の情報処理部にコピーして転送されたデータパケットを受信し、受信したデータパケットに対し応答パケットを送信し、且つ受信したデータパケットを宛先に送信し、予備系の情報処理部は、当該情報処理部からのパケットの出力を停止し、現用系で障害発生した際、パケットの出力停止を解除して系切替を行うことにより通信を継続し、且つ系切替時に、無条件に応答パケットを送信することを特徴とする通信方法を提供する。
【発明の効果】
【００１４】
本発明によれば、二重系として動作させる情報処理部を有する通信ノード装置の間で、系切替が発生した際の、再送タイムアウトによる通信の中断を防止することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】実施例１における通信システムの予備系情報処理部が系切り替え後に応答パケットを送信する例を示す図である。
【図２】実施例１に係る通信システムの構成の一例を示す図である。
【図３】実施例１に係る通信システムで用いられるパケットフォーマットの一例を示す図である。
【図４】実施例１に係る通信システムの、パケットの正常状態での受信処理の一例を示す図である。
【図５】実施例１に係る通信システムの、障害監視から系切り替えまでの一連の動作を説明するための図である。
【図６】実施例１に係る通信システムの課題である、再送タイムアウトの発生による通信の中断の一例を説明するための図である。
【図７】実施例１に係る通信システムの、情報処理部の構成の一例を示す図である。
【図８】実施例１に係る通信システムの、状態テーブルのフォーマットの一例を示す図である。
【図９】実施例１に係る通信システムの、障害検出、系切替処理のフローチャートの一例を示す図である。
【図１０】実施例１に係る通信システムの、予備系情報処理部が系切り替え後に応答パケットを送信する一例を示すタイムチャート図である。
【図１１】実施例１に係る、サーバ２台とスイッチ一台で二重化したサーバシステムを構成した一例を示す図である。
【図１２】実施例１に係る、二重化したサーバでシステムを構成した場合に、予備系情報処理部が応答パケットを送信する一例を示す図である。
【図１３】実施例１に係る、二重化したサーバシステムを構築する際のサーバの構成の一例を示すブロック図である。
【図１４】実施例２に係る、通信ノード装置がクライアントからのパケットをサーバに向けて送信する一例を示す図である。
【図１５】実施例２に係る、系切替時に応答パケットとデータパケットとを送信する一例を示す図である。
【図１６】実施例２に係る、データパケットの再送判定と再送処理を行うフローチャートの一例を示す図である。
【図１７】実施例２に係る、系切替以前に応答パケットにより再送要求されていたパケットを、系切替時に再送する例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態の具体例を添付図面に基づき説明するが、その解決する課題を、非特許文献１の記載事項に基づき、図２−図５を用いて説明する。なお、本明細書においては、リクエストパケットは、ペイロードのTCPペイロードにデータを持つパケットであることから、リクエストパケットを含めて、データパケットと呼称することとする。
【００１７】
非特許文献１に見るように、系切替の際にクライアントへの応答パケットが廃棄されると、クライアントは応答パケットを受信することができないため、再送タイムアウトが発生し、通信の中断時間が増大する。
【００１８】
図２は、非特許文献１のシステム構成の概略図であり、現用系通信ノード装置１００−１と、現用系通信ノード装置１００−１に隣接する予備系通信ノード装置１００−２、クライアント１０、サーバ２０、広域網５０で構成される。現用系通信ノード装置１００−１のスイッチ処理部１１０−１は、スイッチ機能に加え、クライアント１０とサーバ２０とでやり取りされるパケットを、現用系情報処理部２００−１と予備系情報処理部２００−２とに、強制的にコピーして転送することで、現用系情報処理部２００−１と予備系情報処理部２００−２の状態を共有化する。なお、スイッチ処理部１１０−２は、系切替後に現用系として動作する場合、パケットを強制コピーして転送する様に構成されることは言うまでもない。
【００１９】
一方、情報処理部２００は、スイッチ処理部１１０−１から転送されたデータパケットに対して、パケットヘッダのシーケンス番号に基づいて整列し、応答パケットを送信元に送信する手段と、整列したパケットに対してアプリ処理を実行し、データパケットを宛先に送信する手段とを持つ。また、予備系情報処理部２００−２は、後で説明するパケットの出力を停止する手段を持つ。
【００２０】
図３にTCP/IPネットワークで使用されるパケットのフォーマット３００を示す。パケットのTCPヘッダ部は、送信元ポート番号３０１、送信先ポート番号３０２、シーケンス番号３０３、確認応答番号３０４、ヘッダ長３０５、予約済みビット３０６、コードビット３０７、ウインドウサイズ３０８、チェックサム３０９、緊急ポインタ３１０、オプション３１１で構成される。応答パケットのフォーマットも図３のフォーマットと同じであり、確認応答番号フィールド３０４に、クライアントが次に送るべきパケットのシーケンス番号を含み、クライアントに通知する。
【００２１】
図４に基づき、非特許文献１における、クライアント１０と通信ノード装置１００の間の通信処理を説明する。クライアント１０は、サーバ２０宛にデータパケットを送信する（Ｓ５００）。クライアント１０は、データパケットを送信した後、再送タイムアウトを判定するためのタイマをスタートさせる（Ｓ１０３０）。途中の経路上にある現用系の通信ノード装置１００−１は、情報処理対象となる通信のデータパケットであれば、データパケットに記載の宛先IPアドレスや宛先MAC（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスに依らず、データパケットを自身の情報処理部２００−１と、予備系の通信ノード装置１００−２向けに、コピーして転送する（Ｓ５０１）。
【００２２】
前記データパケットを受信した現用系情報処理部２００−１、および、予備系情報処理部２００−２は、同データパケットに対し、パケットヘッダに含まれるシーケンス番号順に整列処理を行い（Ｓ５０２）、応答パケット送信処理を行う（Ｓ５０３）。このとき、予備系情報処理部２００−２では、上述したように、パケット出力停止手段を機能させ、応答パケットの出力を停止し、外部に出力しない（Ｓ５０４）ため、現用系からの応答パケットだけがクライアント１０に向けて送信される。現用系情報処理部２００−１から応答パケットを受信したクライアントは、再送タイムアウトのためのタイマを解除する（Ｓ１０３３）
図５を用いて、現用系情報処理部２００−１と、予備系情報処理部２００−２との間の障害検出から系切替のための連携動作を説明する。現用系情報処理部２００−１は、動作状態にあるとき、予備系情報処理部２００−２に対して、自身が動作状態にあることを示す状態通知パケットを送信する動作を続ける（ハートビート）（Ｓ５５０→Ｓ５５１→Ｓ５５２）。現用系情報処理部２００−１に障害５００が発生すると、予備系情報処理部２００−２は、指定期間内に前記の状態通知パケットを受信できないため、障害として検出する（Ｓ５６０）。そして、予備系情報処理部２００−２は、一定時間以上通知がないことで、現用系情報処理部２００−１が停止していると判断し、フィルタによるパケット出力停止を解除し（Ｓ５６３）、現用系としての動作を開始する。上記系切替の手法によると、現用系で障害が発生してから切替が終了するまでの時間は、相互監視の状態通知間隔にもよるが、例えば、数十ミリ秒程度である。
【００２３】
しかし、図６に示す通り、現用系情報処理部２００−１で障害が発生してから（Ｓ６００）、予備系情報処理部２００−２でパケット出力停止が解除されるまで（Ｓ５６３）に、予備系情報処理部２００−２が状態通知パケットの受信を指定期間待つために数十ミリ秒の時間がかかるため、予備系情報処理部２００−２が送信した応答パケットが廃棄され（Ｓ５０４）、現用系情報処理部２００−１と、予備系情報処理部２００−２の両方から、応答パケットが送信されない可能性がある。この時、クライアント１０は応答パケットを受信できないために、再送タイムアウト待ちが発生し、通信が数百ミリ秒〜数秒中断し（Ｓ１００３）、タイムアウトが発生する（Ｓ１０３１）。以上が、各実施例の通信ノード装置が解決すべき課題である。
【実施例１】
【００２４】
第１の実施例では、系切替時に、予備系情報処理部からクライアントに対して、応答パケットを無条件で送信することで、再送タイムアウトの発生を防止する通信ノード装置の実施例を説明する。本実施例における、確認応答型プロトコルによる通信を行う通信システムの構成は図２、通信ノード装置のパケット受信処理は図４、障害監視から系切替までの連係動作は図５に示したものと同様である。
【００２５】
図７に、本実施例の通信ノード装置１００における情報処理部２００の構成の一例を示す。情報処理部２００は、処理部として機能する汎用的なプロセッサやネットワークプロセッサ等を活用したプロセッシング部１２２、記憶部であるメモリ１２３、その他のデバイスを接続する拡張インタフェース１２４、スイッチ機能およびパケットコピー機能を持つスイッチ処理部１１０本体と、情報処理部２００とを接続するためのインタフェース１２１で構成される。情報処理部２００のプロセッシング部１２２は、その内部の複数のブロックで示す各種の機能を、プログラムを実行することで実現することができる。例えば、プロセッシング部１２２のアプリケーション処理部２４０は、例えばメモリ１２３に記憶される各種のアプリケーションについてのプログラムを実行することで処理を行う。
【００２６】
また、プロセッシング部１２２は、現用系と予備系の間で状態通知と障害検出、系切替処理を行うための相互監視処理部２０１、入力パケットフローを選択的に取り込むための制御をおこなう選択的入力停止処理部２０２、出力パケットフローを選択的に停止する制御をおこなう選択的出力停止処理部２０３を備え、更に、入力振分部２０５、出力マージ部２０６、パススルー処理部２５０等を備える。
【００２７】
入力振分部２０５は、入力パケットをＡ側入力フィルタ部２１０、Ｂ側入力フィルタ部２２０、パススルー処理部２５０、相互監視処理部２０１、いずれかへ振り分ける処理を行う。また、自系外の相互監視処理部２０１からのパケットを自系の相互監視処理部２０１へ振り分ける。更に、それ以外のパケットをパススルー処理部２５０へ振り分ける。ここで、Ａ側、Ｂ側とは、それぞれ図２のシステム構成における、クライアント１０側、サーバ２０側を意味し、以下、同様である。
【００２８】
出力マージ部２０６は、Ａ側出力フィルタ部２１６、Ｂ側出力フィルタ部２２６、相互監視処理部２０１、パススルー処理部２５０からのパケットを情報処理部２００の外部へ送信する処理を行う。
【００２９】
選択的入力停止処理部２０２は、Ａ側入力フィルタ部２１０、Ｂ側入力フィルタ部２２０を用いて、特定のパケットフローの取り込みをフィルタする、すなわち、停止（排除）する処理を行う。
【００３０】
選択的出力停止処理部２０３は、予備系情報処理部２００−２として動作している場合の、上述したパケット出力停止手段に対応し、クライアント１０、サーバ２０に対するパケットの出力を、Ａ側出力フィルタ部２１６、Ｂ側出力フィルタ部２２６を利用してフィルタする、すなわち、停止する処理を行う。同様に、パススルー処理部２５０に対しても、パケットの出力を停止する処理を行う。また、現用系情報処理部２００−１が障害を起こして、予備系情報処理部２００−２が現用系として動作する場合には、前記のフィルタを解除する。すなわち、それまで、停止するとしていたパケットの出力を許可する。
【００３１】
パススルー処理部２５０は、入力振分部２０５から入力されたパケットに対し、何も処理せずに、そのまま出力マージ部２０６へ向けて転送する。尚、スイッチ処理部１１０で、情報処理部２００のアプリケーション処理部２４０で処理を必要としないパケットフローを情報処理部２００に対して転送しない設定としている場合、基本的にはパススルー処理部２５０へはパケットは転送されない。
【００３２】
Ａ側整列処理部２１１、Ａ側再送処理部２１３、Ａ側送信処理部２１５、はＡ側の応答確認型通信プロトコル処理部の構成要素である。なお、ここで応答確認型通信プロトコルとは、例えば、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）のようにデータの送達確認を行う通信プロトコルを意味し、応答確認型通信プロトコル処理部は当該プロトコルを実行する機能部を意味し、上述の通りプログラムによって実現可能である。
【００３３】
Ａ側入力フィルタ部２１０からの入力パケットがデータパケットであれば、Ａ側整列処理部２１１で受け取り、データパケットをＡ側受信バッファ２１２へ書き込む。Ａ側整列処理部２１１は、シーケンス番号などを基準にして前記データパケットが順番通りに到着しているかどうか確認し、順番抜けがあれば、該当パケットの再送要求を行うための応答パケットを、Ａ側送信処理部２１５から送信する。また、順番通りであれば正常到着を通知する応答パケットを、Ａ側送信処理部２１５から送信する。尚、Ａ側送信処理部２１５は、前記のようにＡ側整列処理部２１１に対応する処理の他、アプリケーション処理部２４０がＡ側送信バッファ２１４へ書き込んだデータをデータパケットとして送信する処理を行う。
【００３４】
Ａ側入力フィルタ部２１０からの入力パケットが応答パケットであれば、Ａ側再送処理部２１３で受け取る。Ａ側再送処理部２１３は、正常到着を示す応答パケットを受信すれば、Ａ側送信バッファ２１４から該当データを削除する。再送要求を示す応答パケットを受信すれば、Ａ側送信バッファ２１４から該当データを再送する。
【００３５】
Ｂ側入力フィルタ部２２０、Ｂ側出力フィルタ部２２６、Ｂ側整列処理部２２１、Ｂ側再送処理部２２３、Ｂ側送信処理部２２５、Ｂ側受信バッファ２２２、Ｂ側送信バッファ２２４、に関してもパケットの流れる方向が異なるだけで、Ａ側と同様の処理を行う。Ｂ側整列処理部２２１、Ｂ側再送処理部２２３、Ｂ側送信処理部２２５も纏めて、Ｂ側の応答確認型通信プロトコル処理部と称し、Ａ側と同様、応答確認型通信プロトコルを実行するための機能部として利用する。
【００３６】
アプリケーション処理部２４０は、Ａ側受信バッファ２１２、及び、Ｂ側受信バッファ２２２を介してアプリケーションで利用するデータを受信し、上述のとおりプログラムされた通信処理や情報処理を行い、結果を入力とは反対側のＡ側送信バッファ２１４、及び、Ｂ側送信バッファ２２４へ書き込む。
【００３７】
図８にその一例を示すように、状態テーブル２３０は、検索キー２３１、Ａ側応答確認型プロトコル状態２３２、Ｂ側応答確認型プロトコル状態２３３、アプリケーションデータ利用状態２３４を備える。
【００３８】
同図において、検索キー２３１は、例えば、送信元IPアドレス４０１、送信先IPアドレス４０２、送信元ポート４０３、送信先ポート４０４などで構成する。
【００３９】
Ａ側応答確認型プロトコル状態２３２は、例えば、コネクションの状態（確立中、接続中、終了中など）を示すプロトコル状態２５１、受信バッファ状態２５２、送信バッファ状態２５３、シーケンス番号２５７、確認応答番号２５８、受信済み確認応答番号２５９、再送要求パケット２５４等で構成する。
【００４０】
シーケンス番号２５７は、現在のパケットフローのシーケンス番号を確認する目的だけでなく、Ａ側からＢ側、または、その逆側への通信処理で、送信側の現用系と予備系の送信処理部からのパケットのシーケンス番号を同じ値に揃える目的にも利用できる。これは、現用系情報処理部２００−１で障害が発生して、予備系情報処理部２００−２からの出力を有効にした場合に、現用系情報処理部２００−１が基準として利用していたパケットフローのシーケンス番号と同じシーケンス番号を予備系情報処理部２００−２が利用できるようにするために必要な処理となる。
【００４１】
シーケンス番号２５７を利用して、反対側の応答確認型プロトコルは、受け渡されたシーケンス番号そのものを利用しても良いし、シーケンス番号に一定の値を加減算した新たなシーケンス番号を用いても良い。一定の値を加減算する場合は、現用系情報処理部２００−１と予備系情報処理部２００−２は、同じ一定の値を用いる。
【００４２】
確認応答番号２５８は、パケットの送信元装置に、次に送るべきパケットのシーケンス番号を通知するための値であり、順番通りに受信したパケットのうち、最後に受信したパケットのシーケンス番号と、そのパケットのサイズの和に、１を足した値である。パケットの送受信における確認応答番号２５８の値の遷移については後述する。
【００４３】
受信済み確認応答番号２５９は、送信先となる装置から受信した応答パケットに含まれる確認応答番号の値である。
【００４４】
再送要求パケット２６０は、送信先となる装置から送られてきた応答パケットにより、再送要求を指定されたパケットのシーケンス番号である。
【００４５】
Ｂ側応答確認型プロトコル状態２６０もＡ側応答確認型プロトコル状態２５０と同様である。また、アプリケーションデータ利用状態２７０は、アプリケーションに依存するが、例えば、アプリケーションの状態（稼働中、サスペンド中、データ待ち状態等）などによって構成する。
【００４６】
図７に戻り、プロセッシング１２２中のＡ側切替時パケット送信部２２７は、系切替時に無条件に最後に送信した応答パケットとデータパケットを送信する機能を持つ。情報処理部が予備系として動作していて、かつ現用系情報処理部２００−１の障害を検出して出力フィルタを解除した直後、Ａ側切替時パケット送信部２２７は通信中の全てあるいは一部のパケットフローごとに、最後に送信した応答パケットとデータパケットをもう一度送信する。送信するパケットは、送信バッファ２１４が保持するパケットを送信してもよいし、状態テーブル２３０とＡ側応答確認型プロトコル状態２３２を使って再生成してもよい。Ｂ側切替時パケット送信部２２８の機能は、Ａ側切替時パケット送信部２２７と同様であるので説明を省略する。
【００４７】
図１を用いて、本実施例の通信ノード装置の系切替時に、予備系情報処理部２００−２が、無条件に応答パケットを送信する例を説明する。クライアント１０が、シーケンス番号が５００、パケットサイズが５００バイトのデータパケットを送信したとする（Ｓ５００）。クライアント１０は、データパケットを送信後、再送タイムアウト待ちのためのタイマを起動させる（Ｓ１０３０）。現用系スイッチ処理部１１０−１は、データパケットをコピーして、現用系情報処理部２００−１と予備系情報処理部２００−２に転送する（Ｓ５０１）。この時、現用系情報処理部２００−１で障害が発生したとする（Ｓ６００）。予備系情報処理部２００−２は、整列処理を行い、状態テーブル２３０の確認応答番号２５８の値を更新する（Ｓ５０２）。確認応答番号２５８の値は、次にクライアントが送るパケットのシーケンス番号を示し、受信したパケットのシーケンス番号に、パケットのサイズと１を足した値となる。この場合では、状態テーブル２３０の確認応答番号２５８の値は１００１となる。
【００４８】
その後、予備系情報処理部２００−２は応答パケットの確認応答番号フィールド３０４に、状態テーブル２３０の確認応答番号２５８の値を書き込み、応答パケットを送信するが、系切替が行われていないため、出力停止処理により応答パケットは廃棄される（Ｓ５０３→Ｓ５０４）。現用系の障害が検知され（Ｓ５６０）、予備系情報処理部の出力フィルタが解除された（Ｓ５６３）後、予備系情報処理部２００−２は、状態テーブル２３０の確認応答番号２５８の値を、応答パケットの確認応答番号フィールド３０４に書込み、クライアント１０に対して応答パケット送信処理（Ｓ５０３）を行う。これにより、系切替時に予備系情報処理部２００−２の送信した応答パケットが出力フィルタによって破棄されていたとしても、クライアント１０はデータパケットに対する応答パケットを受信することができる。
【００４９】
応答パケットに含まれる確認応答番号３０４の値がまだ未受信だった場合、クライアント１０は、応答パケットに含まれる確認応答番号の値が示すシーケンス番号から、パケットを送信する。応答パケットに含まれる確認応答番号が既に受信済だった場合、クライアント１０は応答パケットを廃棄する。クライアント１０は、応答パケットを受信したことで、再送タイムアウト待ちのためのタイマを解除する（Ｓ１０３３）。これにより、クライアント１０での再送タイムアウトの発生を防止することできる。
【００５０】
上記の例では簡単のため、１つのパケットフローにおいて、予備系情報処理部２００−２が系切替時に応答パケットを送信する例を示したが、予備系情報処理部２００−２が複数のパケットフローを処理する場合、予備系情報処理部２００−２はそれぞれのパケットフローに対して、系切替時に応答パケットを送信する。
【００５１】
図９に、本実施例における通信ノードの障害検出、系切替処理のフローチャートを示す。現用系の通信ノード装置１００−１の情報処理部２００−１は、自身が現用系として動作状態にある場合、相互監視処理部２０１を利用して、予備系の通信ノード装置１００−２の情報処理部２００−２に対して、状態通知パケットを送信する（ハートビート）（Ｓ６３０→Ｓ６３１）。以後、相互監視処理部２０１に対して設定した指定期間が経過するたびに、予備系情報処理部２００−２に対して、状態通知パケット（ハートビート）を送信し続ける（Ｓ６３２→Ｓ６３１の繰り返し）。
【００５２】
予備系情報処理部２００−２は、自身が予備系として動作状態にある場合、相互監視処理部２０１を利用して、現用系情報処理部２００−１からの状態通知パケット（ハートビート）の有無を観測する。相互監視処理部２０１に対して設定した指定期間内に、前記の状態通知パケットを受信できた場合は、その有無の観測を続ける（Ｓ６４１）。
【００５３】
前記の状態通知パケットを受信できなかった場合は、現用系の通信ノード装置１００−１の情報処理部２００−１が停止していると判断し、予備系情報処理部２００−２の選択的出力停止処理部２０１が出力フィルタ部２１６（２２６）のフィルタによるパケット出力停止を解除し（Ｓ６４３→Ｓ６４４）、現用系としての動作を開始する（Ｓ６４５）。
現用系としての動作を開始した後、予備系情報処理部２００−２は、クライアント１０に応答パケット送信処理を行う（Ｓ６４５）。
【００５４】
以上、本実施例の通信ノード装置における系切替時に、予備系情報処理部２００−２が応答パケットを無条件に送信する処理について説明した。なお上記の例では、予備系情報処理部２００−２が系切替時に、クライアント１０に対して応答パケットを送信する例を示したが、予備系情報処理部２００−２は、サーバ２０からデータパケットを受信した場合も、応答パケットを送信する。
【００５５】
図１０に、予備系情報処理部２００−２がサーバ２０に対して応答パケットを送信する処理の例を示す。サーバは、前述したように、クライアントからのデータパケットを受信すると、データパケットをクライアントに向けて送信し（Ｓ５００）、再送タイムアウト待ちのためのタイマをスタートさせる（Ｓ１０３０）。予備系情報処理部２００−２は、クライアントからデータパケットを受信した時と同様に、整列処理を行い、応答パケットを送信する（Ｓ５０２→Ｓ５０３）。ここで応答パケットは、出力停止処理により応答パケットは廃棄される（Ｓ５０４）。現用系の障害が検知され（Ｓ５６０）、予備系情報処理部の出力フィルタが解除された（Ｓ５６３）後、予備系情報処理部２００−２は、もう一度状態テーブル２３０の確認応答番号フィールド２５７の値を、応答パケットの確認応答番号フィールド３０４に書込み、サーバ２０に対して応答パケット送信処理（Ｓ５０３）を行う。サーバ２０は応答パケットを受信すると、再送タイムアウト待ちのためのタイマを解除する（Ｓ１０３３）。
【００５６】
また、上記の説明では、図２のような二重化した通信ノード装置でシステムを構成した例について説明したが、図１１に示すように、二重化した通信ノード装置１００の代わりに、二重化したサーバ２０を２台と、スイッチ部であるスイッチ１０１０１台で通信システムを構成することも可能である。この場合、スイッチ１０１０は、通信ノード装置のスイッチ処理部１１０−１と同様に、受信したパケットを現用系サーバ２０−１と予備系サーバ２０−２へコピーして転送する手段を持ち、現用系サーバ２０−１と予備系サーバ２０−２は少なくとも、それぞれ現用系情報処理部２００−１と、予備系情報処理部２００−２と同様の、確認応答型プロトコルを処理する機能と、系切替機能とを持つ。
【００５７】
図１２に、図１１のように、二重化したサーバ２０でシステムを構成した場合の、系切替の一連の動作の例を示す。なお、クライアント１０の動作は図１と同様である（Ｓ５００、Ｓ１０３０、Ｓ１０３３）。クライアント１０が送信したデータパケットは、スイッチ１０１０により現用系サーバ２０−１と予備系サーバ２０−２にコピーして転送される（Ｓ５０１）。予備系サーバ２０−２は、状態テーブル２３０の確認応答番号２５８の値を更新する（Ｓ５０２）。その後、予備系情報処理部２００−２は応答パケットの確認応答番号フィールド３０４に、状態テーブル２３０の確認応答番号２５８の値を書き込み、応答パケットを送信するが、系切替が行われていないため、出力停止処理により応答パケットは廃棄される（Ｓ５０３→Ｓ５０４）。現用系の障害が検知され（Ｓ５６０）、予備系情報処理部の出力フィルタが解除された（Ｓ５６３）後、予備系情報処理部２００−２は、もう一度状態テーブル２３０の確認応答番号２５８の値を、応答パケットの確認応答番号フィールド３０４に書込み、クライアント１０に対して応答パケット送信処理（Ｓ５０３）を行う。
【００５８】
図１３に、図１２のようにサーバ２０を２台と、スイッチ１台とで二重系を構築する場合の、サーバ２０の構成の例を示す。サーバ２０が備える、相互監視処理部２０１、選択的入力停止処理部２０２、選択的出力停止処理部２０３、出力マージ部２０３、入力フィルタ部２１０、出力フィルタ部２１６、整列処理部２１１、再送処理部２１３、送信処理部２１５、状態テーブル２３０、受信バッファ２１２、送信バッファ２１４、切替時パケット送信部２２８の機能は、それぞれ通信ノード装置１００の情報処理部２００のものと同様である。サーバアプリケーション処理部１１００は、プログラムされたサーバアプリケーションのデータ処理、通信処理を行う。
【００５９】
以上、本実施の形態によれば、二重系として動作する、情報処理部を備える通信ノードにおいて、現用系情報処理部で障害が発生し、系切替が発生した時に、予備系情報処理部が無条件に応答パケットを送信することで、クライアントまたはサーバで再送タイムアウトが発生することを防止し、通信の中断時間を短縮することができる。
【実施例２】
【００６０】
実施例１では、系切替時に予備系情報処理部が応答パケットを無条件に送信することで、サーバあるいはクライアントで再送タイムアウトが発生することを防止する手法について説明した。一方、情報処理部が応答パケットを送信するだけでなく、データパケットを送信する手段を持つ場合、情報処理部においてデータパケットの再送タイムアウトが発生する場合がある。
【００６１】
図１４に、通信ノード装置がクライアントから受信したデータパケットをサーバに送信する手段の一例を示す。現用系情報処理部２００−１と予備系情報処理部２００−２は、クライアントから受信したデータパケットに対して、まず実施例１と同様に、整列処理と応答パケットの送信処理を実行する（Ｓ５０２→Ｓ５０３→Ｓ５０４）。上記の処理に加え、現用系情報処理部２００−１と予備系情報処理部２００−２は、整列処理したパケットに対しアプリ処理を実行し（Ｓ５０５）、状態テーブル２３０のシーケンス番号２５７を読み出してアプリ処理済みのデータパケットを選択し、サーバに送信して、状態テーブル２３０のシーケンス番号を更新する（Ｓ５０６）。現用系情報処理部２００−１と予備系情報処理部２００−２は、データパケットを送信した後、再送タイムアウトのためのタイマをスタートさせる（Ｓ１０３０）。予備系情報処理部２００−２が出力したデータパケットは、応答パケットと同様、出力停止処理により、廃棄される（Ｓ５０７）。
【００６２】
情報処理部２００が上記のようなデータパケットを送信する手段を持つ場合、予備系情報処理部２００−２が送信したデータパケットが系切替により廃棄されたとき、予備系情報処理部２００−２はサーバ２０からの応答パケットを受信することができないため、予備系情報処理部２００−２で再送タイムアウトが発生する。
【００６３】
本実施例では、予備系情報処理部２００−２が、系切替以前に送信したデータパケットのうち、系切替時に到達確認の取れていないデータパケットに関しては、再送タイムアウトを待たずに無条件に送信することで、予備系情報処理部２００−２で再送タイムアウトが発生することを防止する手法を説明する。なお本実施例におけるシステム構成は図２、障害監視から系切替までの連係動作は図５、情報処理部の構成は図７と同様である。
【００６４】
図１５に、予備系情報処理部２００−２が、系切替以前に送信したデータパケットのうち、系切替時に到達確認の取れていないデータパケットを、再送タイムアウトを待たずに送信する例を示す。なお、クライアントの動作（Ｓ５００、Ｓ１０３０、Ｓ１０３３）と、予備系情報処理部２００−２の系切替の動作（Ｓ５６０、Ｓ５６３）と、クライアントに応答パケットを送信する動作（Ｓ５０２、Ｓ５０３、Ｓ５０４）は、図１と同様である。また、系切替以前の、予備系情報処理部２００−２のデータパケットを送信する動作（Ｓ５０５、Ｓ５０６、Ｓ１０３０、Ｓ５０７）は図１４と同様である。
【００６５】
予備系情報処理部２００−２は、系切替時に、状態テーブル２３０のシーケンス番号２５７をと受信済み確認応答番号２５９を読みだし、系切替以前に送信したデータパケットのうち、到達確認されていないデータパケットがあるか判断し、到達確認されていないデータパケットがある場合は、そのデータパケットを、再送タイムアウトを待たずに再送する（Ｓ１０６０）。
【００６６】
図１６に、予備系情報処理部２００−２が、到達確認されていないデータパケットがあるか判断し、到達確認されていないデータパケットを再送アウトタイムを待たずに再送する処理について、処理フローチャートの例を示す。予備系情報処理部２００−２は、状態テーブル２３０のシーケンス番号２５７と、受信済確認応答番号２５９の値を比較する（Ｓ１０５０）。シーケンス番号２５７が受信済確認応答番号２５９の値より大きかった場合、送信したデータパケットのうち、サーバに到達していないパケットがあると判定し、受信済み確認応答番号２５９が示すシーケンス番号のパケットを再送する（Ｓ１０５１）。
【００６７】
これにより、予備系情報処理部２００−２が送信したデータパケットが系切替により廃棄された場合においても、予備系情報処理部２００−２が系切り替え後にデータパケットの再送判定と再送処理を行うことによって、データパケットを確実にサーバ２０に送信し、予備系情報処理部２００−２がサーバ２０からの応答パケットを受信できないことで、予備系情報処理部２００−２で再送タイムアウトが発生することを防止することが可能となる。
【００６８】
以上、実施例２において、予備系情報処理部２００−２が、系切替時にデータパケットを再送する処理について説明した。なお、クライアント１０からサーバ２０に対してデータパケットを送信する例を説明したが、サーバ２０からクライアント１０に対するデータパケットの送信についても、同様である。
【００６９】
上記の例では予備系情報処理部２００−２が状態テーブル２３０のシーケンス番号２５７と受信済確認応答番号２５９を比較することで、到達確認のできていないパケットを選択する例について説明した。次に、予備系情報処理部２００−２が、系切替以前にサーバ２０から再送要求を含む応答パケットを受信した場合において、予備系情報処理部２００−２が、系切替以前にサーバ２０から再送要求されて送信したデータパケットを、系切替時にもう一度再送する例について説明する。
【００７０】
図１７に、実施例２において、予備系情報処理部２００−２が、系切替以前にサーバから再送要求されて送信したデータパケットを、系切替時にもう一度再送する例を示す。現用系情報処理部２２０−１からデータパケットを受信したサーバ２０は、受信したパケットのシーケンス番号をもとに、パケットにぬけがないかどうかを判断する。抜けがあると判断した場合、サーバ２０は、再送要求の応答パケットを現用系情報処理部２２０−１へ送信し（Ｓ５３０）パケットを受信した現用系スイッチ部１１０−１は、パケットのコピーを現用系情報処理部２００−１と予備系情報処理部２００−２へ転送する（Ｓ５３１）。この時、現用系情報処理部１１０−１で障害があったとする（Ｓ６００）。予備系情報処理部２００−２は、受信した応答パケットにより再送要求されたパケットのシーケンス番号を、状態テーブル２３０の再送要求パケット２５４に書き込む（Ｓ５３２）。予備系情報処理部２００−２は、状態テーブル２３０の再送要求パケット２６０が示すシーケンス番号をもとに、データパケットを再送し（Ｓ５３３）、再送タイムアウトのためのタイマをスタートさせる（Ｓ１０３０）。この時、まだ現用系情報処理部２００−１の障害が検出されていないため、予備系情報処理部２００−２はパケットの出力を停止する（Ｓ５３４）。現用系の障害が検出され（Ｓ５６０）、出力フィルタが解除された後（Ｓ５６３）、予備系情報処理部２００−２は、状態テーブル２３０の再送要求パケット２５４のシーケンス番号が示すデータパケットを、サーバに対して送信する（Ｓ５３３）。
【００７１】
これにより、予備系情報処理部２００−２が送信した再送パケットが、系切替により廃棄された場合でも、予備系情報処理部２００−２が系切替時に、再送パケットをもう一度送信することで、確実に再送パケットをサーバ２０に送信し、予備系情報処理部２００−２がサーバ２０からの応答パケットを受信できず、予備系情報処理部２００−２で再送タイムアウトが発生することを防止することが可能となる。
【００７２】
なお、上記の例では、サーバ２０が通信ノード装置１００に対して再送要求の応答パケットが送信する例を説明したが、クライアント１０が通信ノード装置１００に対して再送要求の応答パケットを送信する場合も同様である。
【００７３】
以上、本実施の形態によれば、二重系として動作する、情報処理部を備える通信ノードにおいて、現用系情報処理部で障害が発生し、系切替が発生した時に、予備系情報処理部が、系切替以前に送信したデータパケットのうち、到達確認されていないデータパケットを無条件に送信することで、予備系情報処理部で再送タイムアウトが発生することを防止し、通信の中断時間を短縮することができる。
【００７４】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したのであり、必ずしも説明の全ての構成を備えるものに限定されものではない。また、一の実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、一の実施例の構成に他の実施例の構成を加えることが可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００７５】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、それぞれの機能を実現するプログラムを実行することによりソフトウェアで実現する場合を例示して説明したが、各機能を実現するプログラム、テーブル、ファイル等の情報はメモリのみならず、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体におくことができるし、ネットワーク等を介してダウンロード、インストロールすることも可能である。
【符号の説明】
【００７６】
１０  クライアント
２０  サーバ
２０−１  現用系サーバ
２０−２  予備系サーバ
５０  広域網
１００−１  現用系通信ノード装置
１００−２  予備系通信ノード装置
１１０−１  現用系スイッチ処理部
１１０−２  予備系スイッチ処理部
１２１  インタフェース
１２２  プロセッシング部
１２３  メモリ
１２４  拡張インタフェース
２００  情報処理部
２００−１  現用系情報処理部
２００−２  予備系情報処理部
２３０  状態テーブル
３００  パケットフォーマット
３０３  シーケンス番号
３０４  確認応答番号
【図１】
0005863383.tif 000002
【図２】
0005863383.tif 000003
【図３】
0005863383.tif 000004
【図４】
0005863383.tif 000005
【図５】
0005863383.tif 000006
【図６】
0005863383.tif 000007
【図７】
0005863383.tif 000008
【図８】
0005863383.tif 000009
【図９】
0005863383.tif 000010
【図１０】
0005863383.tif 000011
【図１１】
0005863383.tif 000012
【図１２】
0005863383.tif 000013
【図１３】
0005863383.tif 000014
【図１４】
0005863383.tif 000015
【図１５】
0005863383.tif 000016
【図１６】
0005863383.tif 000017
【図１７】
0005863383.tif 000018