(57)【要約】【課題】  既存の通信制御システムやＯＳ、通信レイヤを無改造、無改修のまま、既存の専用システムまたは、汎用的な通信アプリケ−ションの通信二重化を実現する。【解決手段】  汎用的な通信アプリケ−ションのメッセージを、仮想ネットワークインターフェースと、二重化通信制御デーモンと、二重化通信ミドルウェアによって複製して、異なるネットワークに同一のメッセージを転送する。【選択図】図５
2012070293.tif 000002
【特許請求の範囲】
【請求項１】
２つの物理的なインターフェースをそれぞれ２つのネットワークに接続し、当該ネットワークに同じメッセージを転送することによって通信アプリケーション間で高信頼な通信を行なう二重化高信頼通信装置であって、
当該物理的なインターフェースを介してメッセージを転送するソフトウェアである仮想ネットワークインターフェースと、二重化通信制御デーモンと、二重化通信ミドルウェアとを備え、
データ送信時には、
通信アプリケーションから転送されたメッセージを、仮想ネットワークインターフェースに転送し、当該仮想ネットワークインターフェースから、二重化通信制御デーモンに転送し、さらに二重化通信ミドルウェアにて当該メッセージを２以上のメッセージに複製した後に、当該２つの物理的なネットワークインターフェースから当該メッセージを転送し、
データ受信時には、
当該２つの物理的なネットワークインターフェースから１以上のメッセージを受信し、
前記二重化通信ミドルウェアは、前記当該２つの物理的なネットワークインタフェースカードから転送されたメッセージのうち先着のメッセージを取り込み、後着メッセージを廃棄することによって、前記先着メッセージのみを前記二重化通信制御デーモンに転送し、
前記二重化通信制御デーモンは、前記先着メッセージを前記仮想ネットワークインターフェースに転送し、
前記仮想ネットワークインターフェースは、前記先着メッセージを通信アプリケ−ションに転送すること
を特徴とする二重化高信頼通信装置。
【請求項２】
請求項１記載の二重化高信頼通信装置であって、
データ送信時には、
メッセージに含まれる物理ネットワークインターフェースの送信元アドレスまたは送信先アドレスを、仮想ネットワークインターフェースの送信元アドレスまたは送信先アドレスに変換し、
データ受信時には、
メッセージに含まれる仮想ネットワークインターフェースの送信元アドレスまたは送信先アドレスを、物理ネットワークインターフェースの送信元アドレスまたは送信先アドレスに変換する、
ことを特徴とする二重化高信頼通信装置。
【請求項３】
２以上の物理的なインターフェースをそれぞれ２以上のネットワークに接続し、当該ネットワークに同じメッセージを転送することによって通信アプリケーション間で高信頼な通信を行なう多重化高信頼通信装置であって、
当該物理的なインターフェースを介してメッセージを転送するソフトウェアである２以上の仮想ネットワークインターフェースと、二以上の二重化通信制御デーモンと、二重化通信ミドルウェアとを備え、
データ送信時には、
通信アプリケーションから転送されたメッセージを、仮想ネットワークインターフェースに転送し、当該仮想ネットワークインターフェースから、多重化通信制御デーモンに転送し、さらに二重化通信ミドルウェアにて当該メッセージを２以上のメッセージに複製した後に、さらに、別の多重化通信制御デーモンに転送し、これらの処理を繰り返すことで、当該２以上の物理的なネットワークインターフェースから当該メッセージを転送し、
データ受信時には、
当該２以上の物理的なネットワークインターフェースから２以上のメッセージを受信し、
前記多重化通信ミドルウェアは、前記当該２以上の物理的なネットワークインタフェースカードから転送されたメッセージのうち先着のメッセージを取り込み、後着メッセージを廃棄することによって、前記先着メッセージのみを前記二重化通信制御デーモンに転送し、
前記二重化通信制御デーモンは、前記先着メッセージを前記仮想ネットワークインターフェースに転送し、前記仮想ネットワークインターフェースは、さらに、別の仮想ネットワークインターフェースに転送し、これらの処理を繰り返した後に、通信アプリケ−ションに転送すること
を特徴とする多重化高信頼通信装置。
【請求項４】
２つの物理的なインターフェースをそれぞれ２つのネットワークに接続し、当該ネットワークに同じメッセージを転送することによって通信アプリケーション間で高信頼な通信を行なう二重化高信頼通信方式であって、
当該物理的なインターフェースを介してメッセージを転送するソフトウェアである仮想ネットワークインターフェースと、二重化通信制御デーモンと、二重化通信ミドルウェアとを備え、
データ送信時には、
通信アプリケーションから転送されたメッセージを、仮想ネットワークインターフェースに転送し、当該仮想ネットワークインターフェースから、二重化通信制御デーモンに転送し、さらに二重化通信ミドルウェアにて当該メッセージを２以上のメッセージに複製した後に、当該２つの物理的なネットワークインターフェースから当該メッセージを転送し、
データ受信時には、
当該２つの物理的なネットワークインターフェースから１以上のメッセージを受信し、
前記二重化通信ミドルウェアは、前記当該２つの物理的なネットワークインタフェースカードから転送されたメッセージのうち先着のメッセージを取り込み、後着メッセージを廃棄することによって、前記先着メッセージのみを前記二重化通信制御デーモンに転送し、
前記二重化通信制御デーモンは、前記先着メッセージを前記仮想ネットワークインターフェースに転送し、
前記仮想ネットワークインターフェースは、前記先着メッセージを通信アプリケ−ションに転送する
ことを特徴とする二重化高信頼通信方式。
【請求項５】
請求項４記載の二重化高信頼通信方式であって、
データ送信時には、
メッセージに含まれる物理ネットワークインターフェースの送信元アドレスまたは送信先アドレスを、仮想ネットワークインターフェースの送信元アドレスまたは送信先アドレスに変換し、
データ受信時には、
メッセージに含まれる仮想ネットワークインターフェースの送信元アドレスまたは送信先アドレスを、物理ネットワークインターフェースの送信元アドレスまたは送信先アドレスに変換する、
ことを特徴とする二重化高信頼通信方式。
【請求項６】
２以上の物理的なインターフェースをそれぞれ２以上のネットワークに接続し、当該ネットワークに同じメッセージを転送することによって通信アプリケーション間で高信頼な通信を行なう多重化高信頼通信方式であって、
当該物理的なインターフェースを介してメッセージを転送するソフトウェアである２以上の仮想ネットワークインターフェースと、二以上の二重化通信制御デーモンと、二重化通信ミドルウェアとを備え、
データ送信時には、
通信アプリケーションから転送されたメッセージを、仮想ネットワークインターフェースに転送し、当該仮想ネットワークインターフェースから、多重化通信制御デーモンに転送し、さらに二重化通信ミドルウェアにて当該メッセージを２以上のメッセージに複製した後に、さらに、別の多重化通信制御デーモンに転送し、これらの処理を繰り返すことで、当該２以上の物理的なネットワークインターフェースから当該メッセージを転送し、
データ受信時には、
当該２以上の物理的なネットワークインターフェースから２以上のメッセージを受信し、
前記多重化通信ミドルウェアは、前記当該２以上の物理的なネットワークインタフェースカードから転送されたメッセージのうち先着のメッセージを取り込み、後着メッセージを廃棄することによって、前記先着メッセージのみを前記二重化通信制御デーモンに転送し、
前記二重化通信制御デーモンは、前記先着メッセージを前記仮想ネットワークインターフェースに転送し、前記仮想ネットワークインターフェースは、さらに、別の仮想ネットワークインターフェースに転送し、これらの処理を繰り返した後に、通信アプリケ−ションに転送する
ことを特徴とする多重化高信頼通信方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク通信システムの後発的な通信高信頼化方法に関する。
【背景技術】
【０００２】
ネットワークを高信頼にする方法として、ネットワークを二重化する方法がある。この二重化には、一方のネットワーク障害発生時に他方のネットワークを稼動させるスタンバイ方式と、常に両ネットワークにおいて同じ通信メッセージを転送する方式に大別される。
【０００３】
また、実装方法としては、通信ホスト以外のネットワーク機器であるハードウェアによって制御されるものと、通信ホスト自身に具備されるソフトウェアによって制御されるものに大別される。
【０００４】
通信ホスト以外のネットワーク機器で制御される場合、通信ホストはネットワークの制御を行なう必要はなく二重化通信を意識する必要がない。これは通信ホストの改造が不要となる点ではメリットがあるが、二重化用のネットワークハードウェアの開発が必要となり、一般的にこのようなネットワークは、通常のネットワークより高価であり、また運用コストも高くなるという傾向がある。なお、かかるハードウェアによるネットワーク二重化は、金融や軍事等のミッションクリティカルなシステムで採用される場合が多い。
【０００５】
これと比べて、通信ホストにおいては、ソフトウェア的にネットワークを二重化するには、当初から当該機能を具備している専用オペレーティングシステム（以下、ＯＳという）の開発が必要となり、かかる専用ＯＳ上では、汎市場に流通している安価な用ＯＳ用アプリケーションは使えない。なぜなら、汎用ＯＳの通信アプリケ−ションインターフェース（以下、ＡＰＩという)を具備していないからである。
【０００６】
また、通信ミドルウェアを使ったもう一つの方法としては、通信ミドルウェアによるものがある。当該ミドルウェアにおいて、常に両ネットワークにおいて同じ通信メッセージを転送する方式を実現したものとしては、非特許文献１に記載の通信ミドルウェア「ＮｅＸＵＳ／Ｄｌｉｎｋ」がある。当該ミドルウェアは、独自の通信ＡＰＩを通信アプリケ−ションが利用することによって、送信側においては、１のメッセージを複製して異なる２つのネットワークに転送し、受信側においては、当該２つのネットワークから転送された先着メッセージを取り込み、後着メッセージを廃棄することで、ネットワークを二重化した高信頼な通信環境を提供するものであるが、本方式によっても独自のＡＰＩを使用することから、汎用のＯＳで利用可能なアプリケーションの通信を二重化することはできない。
【０００７】
従って、従来は、二重化ネットワークのメリットを享受する為には、高価な専用ネットワークを用意するか、あるいは専用ＯＳまたは汎用ＯＳ上のミドルウェアで稼動する、専用通信アプリを開発しなければならないという問題があった。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】「ＮｅＸＵＳ／Ｄｌｉｎｋガイド＆リファレンスソフトウェアマニュアル」
【発明の概要】
【発明が解決しようとする課題】
【０００９】
非特許文献１の方法では、前述した様に、二重化による高信頼な通信を享受し得る通信アプリケ−ションは、必ず当該ミドルウェアの提供する通信アプリケ−ションインターフェースを利用しなければならず、既存システムで稼動中の通信アプリケ−ションをそのまま利用することはできない。
【００１０】
また、一般に知られている既存の情報制御システムにおいては、既存の専用システムの通信アプリケ−ションを後発的にネットワーク二重化を行うことは困難であり、また、電子メ−ル、Ｗｅｂブラウザ、その他の一般的な通信アプリケ−ションを、後発的に二重化対応することはできない。
【００１１】
また、一般的に、情報制御システムを高信頼な通信に対応させるためには既存のＯＳの通信レイヤを改造することが不可避である。
【００１２】
上記の問題に鑑み、本発明は、既存の通信制御システムやＯＳ、通信レイヤを改造、改修する必要なしに、既存の専用システムまたは汎用的な通信アプリケ−ションの通信を二重化できる方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記課題を解決する本発明の代表的な一実施形態例を以下に示す。
【００１４】
本発明の二重化高信頼通信方法を実現する装置は、仮想ネットワークインターフェースと、二重化通信制御デーモンと、二重化通信ミドルウェアとを具備する。
【００１５】
メッセージ送信側の通信装置の当該仮想ネットワークインターフェースは、通信アプリケ−ションのメッセージを、通信レイヤ２のメッセージとして作成した後に、当該メッセージををネットワークに送出しないで、通信レイヤ２からアプリケーション層で常時稼動する二重化通信制御デーモンに転送する。二重化通信制御デーモンは、二重化通信ミドルウェアのＡＰＩで記述される一のアプリケーションとして振る舞い、二重化通信ミドルウェアを介することによって、当該通信レイヤ２のメッセージを２つ作成して、２つの異なるネットワークに転送する。
【００１６】
一方、メッセージ送信側の通信装置の二重化通信ミドルウェアは、当該２つのネットワークから転送された２つのメッセージのうち、先着メッセージのみを取り込み、後着メッセージを廃棄し、当該先着メッセージのみを二重化通信制御デーモンに転送する。
【００１７】
当該二重化通信制御デーモンは、前述とは逆の方向にメッセージを転送する。すなわち、当該受信したメッセージを、今度は通信レイヤ２の仮想ネットワークインターフェースに転送し、当該仮想ネットワークインターフェースは、当該メッセージをメッセージ送信側の通信装置の通信アプリケ−ションに転送することで、汎用ＯＳの汎用通信アプリケーションによる通信が成功することになる。
【００１８】
本発明は、通信レイヤ２の仮想ネットワークインターフェースと二重化通信制御デーモンのみが追加されており、これらはユーザ空間で動作するアプリケーションとして稼動するものであることより、ＯＳ、通信レイヤ、通信アプリケ−ションを無改造、無改修のままで、高信頼二重化通信を実現する。
【発明の効果】
【００１９】
本発明に因れば、稼動中の専用システムまたは汎用的な通信アプリケ−ションの通信を、既存の通信制御システムやＯＳ、通信レイヤを改造、改修する必要なしに、後発的に高信頼化することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明におけるシステム構成を説明する図である。
【図２】通信装置のハードウェア構成を示す図である。
【図３】通信装置のソフトウェア構成を示す図である。
【図４】二重化通信制御ミドルウェアの動作概要を示す図である。
【図５】本発明の高信頼多重化通信方法の概要を示す図である。
【図６】二重化通信制御デーモンの処理手順を示すフローチャートである。
【図７】本発明に必要となるテーブルを示す図である。
【図８】フックライブラリを具備した本発明の高信頼多重化通信方法の概要を示す図である。
【図９】多重化通信方法の概要を示す図である。
【発明を実施するための形態】
【００２１】
（１）第１の実施例
以下の実施例においては、通信ＡＰ１７３，二重化通信管理ミドルウェア１７２は、ソフトウェアであり、ＣＰＵ１０２と協働して動作するものであり、本動作に関しては、以下説明を割愛する。
【００２２】
また通信メッセージは、メモリ１０４上で通信バッファとして格納された領域で加工されるものとし、かかる通信メッセージの全体または一部は、メモリ１０４，ＣＰＵ１０２，ＮＩＣ１１２の間を、バス１１０を介して移動するものとする。
【００２３】
図１は、本発明におけるシステム構成を説明する図である。
【００２４】
通信装置１−１ないし１−２は、ローカルエリアネットワーク（以下、ＬＡＮという）１０−１、１０−２に接続されており、通信装置２−１は、ＬＡＮ２０−１、２０−２に接続されている。ＬＡＮ１０−１、２０−１は広域ネットワーク（以下、ＷＡＮという）３０−１に接続され、ＬＡＮ１０−２、２０−２はＷＡＮ３０−２に接続されている。
【００２５】
図２は通信装置１−１、１−２、２−１のハードウェア構成を示す図である。
【００２６】
ネットワークインターフェースカード（以下ＮＩＣという）１１２−１、１１２−２、ＣＰＵ１０２、メモリ１０４、キーボード２２やマウス２４を制御する入出力コントローラ１０６、そしてモニターコントローラ１０８がバス１１０によって接続されている。ＮＩＣ１１２−１、１１２−２は、前述のＬＡＮ１０−１、１０−２に接続されている。
【００２７】
図３は通信装置１−１、１−２、２−１のメモリ１０４に格納されているソフトウェアの構成を示す図である。
【００２８】
ＮＩＣ１１２を制御するためのＮＩＣ制御ドライバ１７４、メッセージを指定された装置へネットワーク１０を介して転送する二重化通信管理ミドルウェア１７２、及びモニタ−１４とキーボード２２とマウス２４を制御する入出力装置制御ドライバ１５０が通信装置１−１、１−２、２−１のメモリ１０４に格納されている。
【００２９】
仮想ＮＩＣ制御ドライバ１７５は、通信装置内部で仮想ＮＩＣ１７５の制御管理を行なうドライバである。
【００３０】
仮想ＮＩＣ１７５は、ソフトウェアによる仮想化技術を用いて、一般的なネットワークカードなどのネットワーク機器をエミュレ−ションする仕組みや、その仕組みによって実装されたソフトウェアである。
【００３１】
仮想ＮＩＣ１７５は、仮想インターフェースとも呼ばれるものであり、ＯＳや通信アプリケ−ションは、物理的なコンピュ−タに装着されているＬＡＮカードと同様に仮想ＬＡＮカードを認識し、扱う。
【００３２】
本来、物理的なインターフェースを持たないマシン内のＯＳは、自身が物理的なＬＡＮカードを持っていると認識し、その物理的なＬＡＮカードに対して通信を行おうとする。実際には仮想ＬＡＮカードに対してソフトウェア的に通信が行われているが、通信内容をトラップすることにより、ＯＳは二重化通信制御デーモン１７６と通信することができる。
【００３３】
本実施例では、通信アプリケ−ション（以下、ＡＰという）１４８は、ＵＤＰ／ＴＣＰ／ＩＰ通信を行なうためのソケット通信インターフェース（以下、ソケットＡＰＩという）を通信手段として具備するものと想定するが、ＡＰ１４８の通信手段はソケットＡＰＩに限定されるものではない。ＡＰ１４８、二重化通信制御デーモン１７６の間の通信は、送信キュー１６６、受信キュー１７０、ＮＩＣまたは仮想ＮＩＣ１７５を介して行われる。
【００３４】
図４は、二重化通信管理ミドルウェア１７２の動作概要を示す図である。
【００３５】
二重化通信管理ミドルウェア１７２は、独自の通信ＡＰインターフェース（以下、ＡＰＩという）を提供する。当該ＡＰを具備した通信ＡＰ１７３は、当該通信ＡＰ間で通信を実施する。
【００３６】
通信ＡＰ１７３が当該ＡＰＩを使ってメッセージを送信すると、送信元の二重化通信管理ミドルウェア１７２は、そのメッセージの複製を作成し、共通の通信プロトコルを使って異なるＮＩＣを介して、通信相手のＮＩＣを介してメッセージを送達する。通信プロトコルとしては、ＴＣＰ／ＵＤＰ／ＩＰが著名であり、本実施例ではこれを用いるが、本実施例で使用できる通信プロトコルをこれに限定するものではない。
【００３７】
送信先の二重化通信管理ミドルウェア１７２は、この先着メッセージのみを取り込み、送信先通信ＡＰに当該先着メッセージを届け、後着メッセージを廃棄する。先着、後着の判断は、当該ミドルウェアがメッセージに通番を付与することで実現する。なお、通番については後述する。
【００３８】
このように異なるネットワークに同一のメッセージを送信することで、一方のネットワークに障害が発生した場合でも、通信が途絶えることなく継続され、その結果、通信の信頼性が向上することになる。
【００３９】
二重化通信管理ミドルウェア１７２の一例として、日立製作所のＮｅＸＵＳ／Ｄｌｉｎｋがある。以下、本実施例ではＮｅＸＵＳ／Ｄｌｉｎｋを前提として、実施の態様を説明する。
【００４０】
図５は、本発明の高信頼多重化通信方法の概要を示す図である。
【００４１】
通信装置１−１から、通信装置１−２へメッセージを転送する処理を順を追って説明する。
【００４２】
通信装置１−１の通信ＡＰソフトウェア１４８は、仮想ＮＩＣ１７５にメッセージを転送する。メッセージの態様を図５（１）の（Ｂ）（Ｃ）に示す。仮想ＮＩＣ１７５は、通常のＮＩＣがネットワークに転送するメッセージと同様のメッセージ（メッセージの態様は、図５（１）の（Ｃ））を、ネットワークに流さずに二重化通信制御デーモン１７６に転送する。
【００４３】
通信装置１−１の二重化通信制御デーモン１７６は、二重化通信管理ミドルウェア１７２が提供する独自のＡＰＩを具備しており、仮想ＮＩＣ１７５から転送されたメッセージの中に含まれる送信先アドレスを読み取り、当該アドレスを適当なトランザクションコ−ド（以下、ＴＣＤという）に変換した後、当該ＡＰＩを介してメッセージを送信する。この変換方法は後述する。
【００４４】
トランザクションとは、商品やサ−ビス、リアルタイムイベントなどに関する処理、取引を意味し、アドレスとは異なる概念である。ＴＣＤとは、トランザクションを識別する為のコ−ドであり、ＴＣＤを指定してデ−タを転送すると、当該ＴＣＤを登録した通信装置がメッセージを受信することができるようになる。
【００４５】
ＴＣＤについては、非特許文献１に詳しく記載されている。
【００４６】
通信装置１−１の二重化通信制御デーモン１７６が当該ＡＰＩを使ってメッセージを送信すると、通信装置１−１の二重化通信管理ミドルウェア１７２は、そのメッセージの複製を作成する。、この時、図５（１）のヘッダ部ＮＸ＿Ｈ（０）と、ＮＸ＿Ｈ（１）の両方に、同じ番号の通番を付与する。この番号は連続する整数であり十分に大きな値を付与できる。また最大値を越えると、再び０から通番の付与を開始する（図５（１）の（Ｅ−０）（Ｅ−１））。
これらのメッセージは、汎用ＯＳの通信プロトコルを使って別々のＮＩＣを介して、対応する通信相手のＮＩＣにメッセージを転送する。メッセージは汎用ＯＳの各通信レイヤを介して、ヘッダが付与される（図５（１）の（Ｆ−０）（Ｆ−１）乃至（Ｈ−０）（Ｈ−１））。
【００４７】
送信先通信装置１−２は、各通信レイヤを通過するタイミングでヘッダを外し、二重化通信管理ミドルウェア１７２は、、図５（１）のヘッダ部ＮＸ＿Ｈ（０）と、ＮＸ＿Ｈ（１）の記載の通番をチェックして、２つのメッセージのうち先着のメッセージのみを取り込み、二重化通信制御デーモン１７６に当該メッセージを届け、後着のメッセージを廃棄する。
【００４８】
送信先通信装置１−２の二重化通信制御デーモン１７６は、当該メッセージを仮想ＮＩＣ１７５に転送し、仮想ＮＩＣ１７５は、通常のＮＩＣと同様にプロトコルレイヤを介して、送信先通信装置１−２の通信ＡＰ１４８にメッセージを転送する。
【００４９】
このように、二重化通信管理ミドルウェア１７２の独自のＡＰＩを具備した通信ＡＰだけでなく、汎用的な通信ＡＰであっても、現存の通信装置等の通信装置を介して、仮想ＮＩＣとユ−ザ空間で稼動する二重化通信制御デーモン１７６とを後から設置するだけで、ＯＳや通信レイヤの変更を一切行なうことなく二重化通信の利益を享受することができるようになる。
【００５０】
図６は、二重化通信制御デーモン１７６の処理手順を示すフローチャートである。
【００５１】
二重化通信制御デーモン１７６は、通信装置１−１が具備している２つのＮＩＣの情報から、現在のＮＩＣに割り当てられたＩＰアドレス、サブネットアドレスを入手する。（ステップ１７６−２）。
【００５２】
ここでは、通信装置１−１の第１のＮＩＣとして”１９．１６．１．１／２５５．２５５．２５５．０”が取得され、第２のＮＩＣとして”１９．１６．２．１／２５５．２５５．２５５．０”が取得されたとする。ここでは、第１つ目のＮＩＣと第２のＮＩＣのアドレスを比較して、ネットワーク番号の下位の値を比較して大きい方の値に１を加えた値を仮想ＮＩＣのネットワークアドレスとし、第１のＮＩＣのホストアドレスと同じ番号を仮想ＮＩＣのホストアドレスとする（”１９．１６．１．３／２５５．２５５．２５５．０”）。
【００５３】
次に、自通信装置の受信ハンドルを作成する（ステップ１７６−４）。
【００５４】
ここでハンドルとは通信に必要な情報の全てが記載されている識別子の一種であり、通信アプリケ−ションはハンドルの番号を使って通信を実施する。通信ＡＰは通信態様を意識する必要はない。送信用ハンドルは「デ−タの出口」として認識され、受信用ハンドルは「デ−タの入口」として認識される。
【００５５】
ここでは、第１つ目のＮＩＣと第２のＮＩＣのアドレスを比較して、ホスト番号に相当する番号が小さい方の番号をＴＣＤ（＃１）とし、仮想ＮＩＣのネットワーク番号の下位の値を比較して小さい方の値をデータフィールド（以下、ＤＦという）番号（＃３）とする。
【００５６】
ここでＤＦとは、デ−タが流れる、複数の通信装置との間でデ−タを共有できる場を意味し、一般には一つのネットワークアドレスで指定されるネットワークセグメント単位に設定されるものある。
【００５７】
次に、ＤＦの全通信装置情報を入手する（１７６−６）。
【００５８】
これは表７−１のテ−ブルを作成するためであり、二重化通信制御ミドルウェアの機能を使って、他の通信装置の情報を入手しても良い。ＮｅＸＵＳ／Ｄｌｉｎｋの場合は、ｎｘ＿ｇｅｔ＿ｄｆｓｔａｔのコマンドでこれらの情報を入手することができる。二重化通信制御デーモン１７６はこれらの情報を用いて表７−１を作成する。
【００５９】
次に、他通信装置向けの送信ハンドルを作成する（１７６−８、表７−５）。
【００６０】
ＤＦとＴＣＤは前述と同様の方法を用いることで決定され、送信先のＴＣＤはシステム内で一意に決定される。
【００６１】
表７−５を用いて、ＩＰアドレスからＴＣＤへ変換することができる。例えば、仮想ＮＩＣアドレスが”１９．１６．３．２／２５５．２５５．２５５．０”である通信装置に対する送信ハンドルは、ＤＦ番号＃３、受信ＴＣＤ＃２となる。
【００６２】
次に、ＤＦ内の全通信装置向け送信ハンドルを作成する（１７６−８）（表７−２、Ｇ−３）。ＤＦ内の全通信装置向け送信は、各通信装置が共通のＵＤＰポ−ト番号を使用することによって実現する。
【００６３】
ここでは、５００００にＤＦ番号を加算した番号を、ＵＤＰポ−ト番号とする（＃５０００３）を用いることとする。
【００６４】
以上のように、仮想ネットワークインターフェースと二重化通信制御デーモンの間でメッセージ転送を行なうことを特徴とする構成を備えることで、汎用ＯＳの汎用通信ＡＰにおいても、二重化通信の効果を奏することができるようになる。
【００６５】
（２）第２の実施例
第１の実施例では、仮想ＮＩＣによって構成されるネットワークは、ＮＩＣによって構成されるネットワークとは異なるネットワークとして認識される。
【００６６】
しかし、この場合、通信ＡＰに対してＩＰアドレスの変更を加えなければならず、誤ったＩＰアドレスが付与されると、通信できなくなる場合がある。
【００６７】
この場合にも対処するため、第２の実施例では、通信ＡＰに対してＩＰアドレスの変更を加えることなしに、本発明の二重化通信方法を実現する方法について説明する。
【００６８】
図８は、本発明の二重化通信方法を実現する仮想ＮＩＣ１７５と、二重化通信制御デーモン１７６に加えて、通信ＡＰＩをフックするフックライブラリ１７８を新規に具備した図である。フックライブラリ１７８は、通信ＡＰＩが起動される前に、アプリケーションから当該ＡＰＩに渡されるメッセージに含まれる送信先アドレスを読み出し、表Ｉの変換テ−ブルに基づいてアドレス変換を行う。なお、表Ｉは、表７−１のサブセットである。
【００６９】
例えば、送信ＡＰＩにおいて受け取ったメッセージの宛先アドレスが”１９．１６．１．２／２５５．２５５．２５５．０”の場合、これを”１９．１６．３．２／２５５．２５５．２５５．０”に変換する。このように変換することで、メッセージはＮＩＣ１１２−１に転送されずに仮想ＮＩＣへと転送され、仮想ＮＩＣから二重化通信制御デーモン１７６に転送される。
【００７０】
またこれとは逆に、送信ＡＰＩにおいて受け取ったメッセージの送信元アドレスが”１９．１６．３．２／２５５．２５５．２５５．０”の場合は、その送信元アドレスを”１９．１６．１．２／２５５．２５５．２５５．０”と変換して通信ＡＰ１４８に渡せば足りる（図８（１））。
【００７１】
送信先が、本発明の仮想ＮＩＣ１７５と二重化通信制御デーモン１７６を具備しない通信装置である場合には、ＩＰアドレス、サブネットアドレス、仮想ＩＰアドレス、サブネットアドレスが表Ｉの変換テ−ブルのエントリに記載されていないので、送信先のフックライブラリ１７８は変換処理を行わない（図８（２））。
【００７２】
かかる場合には、仮想ＮＩＣを介さない通信が行われ、通信ＡＰは、本発明の利用を意識することなく、本発明の二重化通信方法がすでに具備されていれば、本方法を利用した通信を実施し、具備されていなければ本方法を利用しない通常の通信を実施する。
【００７３】
以上のように、通信ＡＰに対してＩＰアドレスに変更を加えることなく、二重化通信の効果を享受し得るようになる。
【００７４】
（３）第３の実施例
図９は、本発明を応用した、多重化度が２以上であるネットワークの多重化通信を実現する方法を示す図である。
【００７５】
通信ＡＰ１４８から転送されたメッセージは、仮想ＮＩＣ１７５−１に転送された後、二重化通信制御デーモン１７６−１に転送される。さらに、二重化通信制御デーモン１７６−１のメッセージは、２つの仮想ＮＩＣ１７６―２と１７６―３を介して、二重化通信制御デーモン１７６−２と、１７６−３に転送される。
【００７６】
二重化通信制御デーモン１７６−２は、当該メッセージをＮＩＣ１１２−１、１１２−２に、二重化通信制御デーモン１７６−３は、当該メッセージをＮＩＣ１１２−３、１１２−４に転送する。これにより、四重化したメッセージ送信を実現できる。メッセージ受信についても同様に四重化することができ、その結果、四重化通信を容易に実現することができる。
【００７７】
また、実施例１〜３では、ＮＩＣ１１２−１、１１２−２、１１２−３、１１２−４としてイ−サネットＮＩＣ等を想定しているが、ＮＩＣ１１２−１をイ−サネットＮＩＣ、１１２−２を無線ＬＡＮのＮＩＣ、１１２−３をキャリア会社の通信カード、１１２−４をＰＬＣ（Ｐｏｗｅｒ  Ｌｉｎｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）の通信カードというように、異なるネットワーク媒体の通信ＮＩＣを用いても同様の効果が得られることは当業者には理解されよう。また異種ネットワークを使うことで、信頼性が向上するという副次的な効果も得られる。また、この二重化通信制御デーモンを用いた仕組みをさらに多段にすることで任意の多重化通信環境を作ることができる。
【符号の説明】
【００７８】
１  通信装置
１０  ＬＡＮ
３０  ＷＡＮ
１１０  バス
１１２  ＮＩＣ
１２０  ＣＰＵ
１０４  メモリ  
２２  キーボード
２４  マウス  
１０６  入出力コントローラ
１０８  モニタコントローラ
１４８  通信ＡＰ
１５０  入出力装置制御ドライバ
１７５  仮想ＮＩＣ    
１７４  ＮＩＣ制御ドライバ
１７５  仮想ＮＩＣ制御ドライバ
１７２  二重化通信管理ミドルウェア
１７６  二重化通信制御デーモン
１６６  送信キュー
１７０  受信キュー
１８０  フックライブラリ
【図１】
2012070293.tif 000003
【図２】
2012070293.tif 000004
【図３】
2012070293.tif 000005
【図４】
2012070293.tif 000006
【図５】
2012070293.tif 000007
【図６】
2012070293.tif 000008
【図７】
2012070293.tif 000009
【図８】
2012070293.tif 000010
【図９】
2012070293.tif 000011