(57)【要約】【課題】  送信開始時に送信すべき全データが揃っていなくても順次先頭から送信可能で、かつ常時は信頼性と高速性を確保し、二重化以上の多重化ネットワークにおいても有効なデータ通信方法および装置を提供すること【解決手段】  情報処理装置１００から情報処理装置２００へデータを伝送するのに送信すべき元データを先頭から所定のサイズに分割し、分割番号を付加して、分割データを順に一つずつネットワークを変えて送信する場合に、元データの末尾、もしくは一定個数の分割データには末尾を示す情報を付加して送信し、先頭の分割データから再送を行い、その際に、同じネットワークに同じ分割データを送信しないようにネットワークを選ぶ。【選択図】図１
2009111653.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも第１と第２の二つの情報処理装置が、Ｍ本のネットワークに接続され、Ｍ重化通信を行う多重化データ通信システムにおいて（Ｍは２以上の整数）、
前記第１の情報処理装置は、送信すべき元データを先頭から末尾までを予め定められたサイズ毎に分割するデータ分割処理部と、分割により得られた分割データを前記Ｍ本のネットワークに順番に一つずつ送信する送信制御処理部とを備え、
前記第２の情報処理装置は、前記Ｍ本のネットワークから送信されてくる前記分割データを受信し、受信した分割データが既に受信済みの場合は破棄し、受信した分割データが受信済みでない場合は保存する受信処理部と、受信した前記分割データを結合して前記元データを再構成するデータ結合処理部とを備えたことを特徴とする多重化データ通信システム。
【請求項２】
請求項１記載の多重化データ通信システムにおいて、
前記送信制御処理部は、前記分割データが重複して同じネットワークに送信されないようにＭ回送信することを特徴とする多重化データ通信システム。
【請求項３】
請求項１記載の多重化データ通信システムにおいて、
前記送信制御処理部は、前記分割データが重複して同じネットワークに送信されないようにＭ以下の任意の回数送信することを特徴とする多重化データ通信システム。
【請求項４】
請求項１乃至３の何れかに記載の多重化データ通信システムにおいて、
Ｍ＝２である多重化データ通信システム。
【請求項５】
請求項２又は３に記載の多重化データ通信システムにおいて、
前記送信制御処理部はＭ、第１番目から第Ｍ番目のネットワークの送信順番を固定しておきかつ先頭の分割データの送信ネットワークを一つずつずらして割当てることにより、前記分割データが重複して同じネットワークに送信されないようにすることを特徴とする多重化データ通信システム。
【請求項６】
請求項１乃至５の何れかに記載の多重化データ通信システムにおいて、
前記データ結合処理部は、新規の分割データが保存されるのをトリガとして起動することを特徴とする多重化データ通信システム。
【請求項７】
請求項６に記載の多重化データ通信システムにおいて、
前記データ結合処理部は、新規の分割データが所定の個数保存されるのをトリガとして起動することを特徴とする多重化データ通信システム。
【請求項８】
請求項１乃至５の何れかに記載の多重化データ通信システムにおいて、
前記データ結合処理部は、所定の周期毎に起動することを特徴とする多重化データ通信システム。
【請求項９】
請求項１に記載の多重化データ通信システムにおいて。
前記送信制御処理部は、第ｎ番目の分割データを、第（ｎー１）番目の分割データを送信したネットワークとは異なるネットワークを介して、送信し（ｎは２以上の整数）、
前記送信制御処理部は、第ｌ回目の分割データを、第（ｌー１）回目の分割データを送信したネットワークとは異なるネットワークを介して、送信する（ｌは２以上の整数）ことを特徴とする多重化データ通信システム。
【請求項１０】
少なくとも第１と第２の二つの情報処理装置間で、Ｍ本のネットワークを用いて、Ｍ重化通信を行う多重化データ通信方法において（Ｍは２以上の整数）、
前記第１の情報処理装置が、送信すべき元データを先頭から末尾までを予め定められたサイズ毎に分割し、分割により得られた分割データを前記Ｍ本のネットワークに順番に一つずつ送信し、
前記第２の情報処理装置が、前記Ｍ本のネットワークから送信されてくる前記分割データを受信し、受信した分割データが既に受信済みの場合は破棄し、受信した分割データが受信済みでない場合は保存し、保存した前記分割データを結合して前記元データを再構成することを特徴とする多重化データ通信方法。
【請求項１１】
Ｍ本のネットワークを介して、Ｎ個に分割されたデータをＬ回他の多重化通信装置へ送信する多重化データ通信装置において（Ｌ、Ｍ，Ｎは２以上の整数）、
元データをＮ個の分割データに分割する分割処理部と、
Ｎ個の分割データをＬ回送信する送信制御処理部とを備え、
前記送信制御処理部は、第ｎ番目の分割データを、第（ｎー１）番目の分割データを送信したネットワークとは異なるネットワークを介して、送信し（ｎは２以上Ｎ以下の整数）、
前記送信制御処理部は、第ｌ回目の分割データを、第（ｌー１）回目の分割データを送信したネットワークとは異なるネットワークを介して、送信する（ｌは２以上Ｌ以下の整数）ことを特徴とする多重化データ通信装置。
【請求項１２】
請求項１１記載の多重化データ通信装置において、
Ｌ＝Ｍ＝２である場合に、
前記送信制御処理部は、
第１回目に、奇数番目の分割データを第１のネットワークを介して送信し、偶数番目の分割データを第２のネットワークを介して送信し、
第２回目に、奇数番目の分割データを第２のネットワークを介して送信し、偶数番目の分割データを第１のネットワークを介して送信することを特徴とする多重化データ通信装置。
【請求項１３】
請求項１１記載の多重化データ通信装置において、
Ｌ＝Ｍ＝３である場合に、
前記送信制御処理部は、
第１回目に、第（３Ｙ−２）番目の分割データを第１のネットワークを介して送信し、第（３Ｙ−１）番目の分割データを第２のネットワークを介して送信し、第３Ｙ番目の分割データを第３のネットワークを介して送信し（Ｙは１以上の整数）、
第２回目に、第（３Ｙ−２）番目の分割データを第２のネットワークを介して送信し、第（３Ｙ−１）番目の分割データを第３のネットワークを介して送信し、第３Ｙ番目の分割データを第１のネットワークを介して送信し、
第３回目に、第（３Ｙ−２）番目の分割データを第３のネットワークを介して送信し、第（３Ｙ−１）番目の分割データを第１のネットワークを介して送信し、第３Ｙ番目の分割データを第２のネットワークを介して送信することを特徴とする多重化データ通信装置。
【請求項１４】
Ｍ本のネットワークを介して、Ｎ個に分割されたデータをＬ回他の多重化通信装置へ送信する多重化データ通信方法において（Ｌ、Ｍ，Ｎは２以上の整数）、
元データをＮ個の分割データに分割するステップと、
Ｎ個の分割データをＬ回送信するステップとを備え、
前記送信するステップは、第ｎ番目の分割データを、第（ｎー１）番目の分割データを送信したネットワークとは異なるネットワークを介して、送信し（ｎは２以上Ｎ以下の整数）、第ｌ回目の分割データを、第（ｌー１）回目の分割データを送信したネットワークとは異なるネットワークを介して、送信する（ｌは２以上Ｌ以下の整数）ことを特徴とする多重化データ通信方法。
【請求項１５】
Ｍ本のネットワークを介して、Ｎ個に分割されたデータをＬ回他の多重化通信装置から受信する多重化データ通信装置において（Ｌ、Ｍ，Ｎは２以上の整数）、
Ｎ個の分割データをＬ回受信する受信処理部と、
前記Ｎ個の分割データを結合して元データを再構成する結合処理部とを備え、
前記受信処理部は、第ｎ番目の分割データを、第（ｎー１）番目の分割データを送信したネットワークとは異なるネットワークを介して、受信し（ｎは２以上Ｎ以下の整数）、
前記受信処理部は、第ｌ回目の分割データを、第（ｌー１）回目の分割データを送信したネットワークとは異なるネットワークを介して、受信する（ｌは２以上Ｌ以下の整数）ことを特徴とする多重化データ通信装置。
【請求項１６】
請求項１５記載の多重化データ通信装置において、
前記受信処理部は、受信された分割データを順次にメモリに格納し、
前記受信処理部は、前記メモリに既に格納された分割データと同一の分割データを受信した場合に、受信された分割データを前記メモリに格納せず、
前記結合処理部は、前記メモリに格納されたＮ個の分割データを結合して前記元データを再構成することを特徴とする多重化データ通信装置。
【請求項１７】
Ｍ本のネットワークを介して、Ｎ個に分割されたデータをＬ回他の多重化通信装置から受信する多重化データ通信方法において（Ｌ、Ｍ，Ｎは２以上の整数）、
Ｎ個の分割データをＬ回受信するステップと、
前記Ｎ個の分割データを結合して元データを再構成するステップとを備え、
前記受信するステップは、第ｎ番目の分割データを、第（ｎー１）番目の分割データを送信したネットワークとは異なるネットワークを介して、受信し（ｎは２以上Ｎ以下の整数）、第ｌ回目の分割データを、第（ｌー１）回目の分割データを送信したネットワークとは異なるネットワークを介して、受信する（ｌは２以上Ｌ以下の整数）ことを特徴とする多重化データ通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、少なくとも２つ以上の情報処理装置間で、多重化されたネットワークを用いてデータの送受信を行う際の通信方法、システムおよびおよびそのシステムを構成する装置に関する発明である。
【背景技術】
【０００２】
情報処理装置間で、ネットワークを利用してデータ送受信を高信頼に行う場合にネットワークを多重化し、各ネットワークに同じデータを同時に、あるいは時間差を置いて伝送している。
【０００３】
この種の多重化された通信方法においては、少なくとも１系統のネットワークが正常であれば、データ送受信は正常に行われるため高い信頼性が得られる。
【０００４】
しかしながら、異常がない状態では各ネットワークに全く同じデータが送信されており無駄が多いという課題があった。
【０００５】
この課題を解決するための公知の技術として、特許文献１には、二重化されたネットワークに接続された装置において送信すべきデータを分割し、第一のネットワークには分割データを先頭から正順に送信し、第二のネットワークには分割データを末尾から逆順に送信することで、常時は高速に通信が可能で、かつ信頼性を確保し得るという技術が開示されている。
【０００６】
【特許文献１】特開平１０−１３３８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記した特許文献１の二重化通信装置においては、送信すべきデータの分割後先頭のデータと末尾のデータから送信するため、送信処理開始時点にデータが先頭から末尾までの完全な形で存在している必要があり、ゆえに、送信開始はデータの分割処理完了後しか行えない。
【０００８】
このため、たとえばストリームデータのように、データが用意できた順に送信するようなケースには適用が困難である。
【０００９】
また、予めそれぞれのネットワークに送信するデータの順番を決めて、シーケンシャルに送信するが、途中の一部の分割データが欠落したり、受信側装置へのデータ到着順番が前後した場合にはそのネットワークは異常と判断されてしまい、その後は異常状態での通信となるため高速化の効果が得るのが困難である。
【００１０】
また、正順、逆順をそれぞれ二重化ネットワークの一方に送信するため三重化以上の多重化ケースにおいてはさらなる高速化を享受するのが困難である。
【００１１】
本発明は、先頭から末尾までの全データが揃っていなくても、先頭から順次送信開始が可能な通信方法などを提供することを目的とする、
また、本発明は、データ到着順番が前後する場合にも、高速性を確保することが可能な通信方法などを提供することを目的とする
また、本発明は、三重化以上の多重化ネットワークにおいても高速性を確保することが可能な通信方法などを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の多重化データ通信システムは、少なくとも第1と第２の情報処理装置間で、第１から第ｎのｎ個のネットワークを用いてｎ重化通信を行うものにおいて、前記第１の情報処理装置には、送信すべきデータを一定サイズに分割するデータ分割手段と、前記第１から第ｎのネットワークとのインタフェースを提供する第１から第ｎネットワークIF手段と、前記第１から第ｎのネットワークIFに対して、前記分割データを割り当てて送信させる送信制御手段と備え、前記第２の情報処理装置には、前記第１から第ｎのネットワークとのインタフェースを提供する第１から第ｎネットワークIF手段と、前記第１から第ｎのネットワークIFに受信した前記分割データを受信し、受信メモリに保存する受信制御手段と、受信メモリに保存された前記分割データを走査し、すべての分割データが揃ったらデータを結合するデータ結合手段とを備えたものである。
【００１３】
そして、データ送信側である第１の情報処理装置より、データ受信側である第２の情報処理装置にデータを送信する場合に、その元データを先頭から予め定めておいた所定のサイズに分割し、次に分割した第１番目のデータを、第１ネットワークIFに割当てて送信し、第２番目のデータを第２ネットワークIFに割り当てて送信し、以降第ｎ番目のデータを第ｎネットワークIFに割り当てて送信する。さらに第ｎネットワークIFの送信後は、第ｎ+１番目のデータは再び第１ネットワークIFへデータを割り当て、以降第１ネットワークIFから第ｎネットワークに対して順に分割データを割当てて送信する。
【００１４】
このようにしてデータ全体の１回目の送信が完了したら、今度は第２ネットワークIFに第１番目のデータを割当て、以降第ｎネットワークIFに第n−１番目のデータを割当て、第１ネットワークIFに第ｎ番目のデータを割当て、第２ネットワークIFに第ｎ+１番目のデータを割当て、以降２回目のデータ全体の送信が完了するまで繰り返す。
【００１５】
これを各ネットワークIFに第1番目のデータが割当てられるまで、計ｎ回繰り返す。
【００１６】
第２の情報処理装置では、第1から第ｎのネットワークIFに送られてきた受信データが受信制御手段において何番目の分割データかを解析し、受信メモリをチェックしてすでに受信済みの分割データでなければ受信メモリに保存する。
【００１７】
データ結合手段は、受信メモリを走査し、分割データの先頭から順に結合し、末尾の分割データまですべての分割データの受信が確認された時点で元データが復元される。この時、第１から第ｎのすべてのネットワークに異常がなければ、第１の情報処理装置の一回目のデータ送信が受信された時点でデータ伝送が完了するが、理論的にはｎ系統のネットワークをパラレルに使ってデータ送信を行ったため１系統のネットワークで送信する場合の１／ｎの時間でデータ送受信を行うことが可能である。また、いずれかの系統のネットワークに異常が発生したとしても、一系統でも正常なネットワークが存在する限り正しいデータ伝送が可能であり、信頼性が確保できる。
【発明の効果】
【００１８】
本発明によれば、先頭から末尾までの全データが揃っていなくても、先頭から順次送信開始が可能である。
【００１９】
本発明によれば、データ到着順番が前後する場合にも、高速性を確保することが可能である。
【００２０】
本発明によれば、三重化以上の多重化ネットワークにおいても高速性を確保することが可能である。
【００２１】
つまり、発明によれば、送信データを先頭から分割し、分割データを多重化されたネットワークそれぞれに順に割り振って送信し、受信側では分割データを多重化されたネットワークからそれぞれ受信し、先頭から末尾までのすべての分割データが受信された時点で受信完了するものであり、ネットワーク等にエラーが無い常時は、多重化数ｍとすれば、おおむね１／ｍの時間でファイル送信が可能であり、また、多重化されたネットワークすべてが異常にならない限りデータ伝送は可能であることから信頼性も確保される。
【発明を実施するための最良の形態】
【００２２】
本発明の実施例１および実施例２を図１から図１２を用いて説明する。
【実施例１】
【００２３】
図１は本発明の実施例１の二重化データ通信装置の構成を示す図である。この二重化データ通信システムは、２台の情報処理装置１００と２００と、ＬＡＮａネットワーク３００ａとＬＡＮｂネットワーク３００ｂから構成されている。ここでは情報処理装置が２台の構成を示しているが、３台以上の情報処理装置がネットワーク３００ａと３００ｂに接続されている構成であってもよい。また、１対１通信だけでなく、１対Ｘ通信や（Ｘは２以上の整数）、Ｘ対Ｘ通信にも適用可能である。尚、ネットワークを構成する要素（例えば、情報処理装置）を、ノードと定義する。
【００２４】
情報処理装置１００は、送信したいデータを、先頭から所定のサイズ（情報処理装置１００と情報処理装置２００とのプロトコルにより定められたサイズ）に分割し、分割されたデータを結合する際に必要な情報を付加した分割データ化するデータ分割処理部１０１と、定められたルール（情報処理装置１００と情報処理装置２００とのプロトコルにより定められたルール）に従って送信するネットワークを３００ａと３００ｂから選択し、分割データを選択したネットワークに接続されたネットワークＩＦ（interface）に渡す処理を行う送信制御処理部１０２と、ネットワーク３００ａに接続されデータの送受信を行うネットワークＩＦａ１０３ａと、ネットワーク３００ｂに接続されデータの送受信を行うネットワークＩＦｂ１０３ｂと、ネットワークＩＦａ１０３ａとネットワークＩＦｂ１０３ｂに受信された分割データを受け取り、受信メモリ１０５をチェックして受け取った前記分割データが受信済みであるかどうかを確認し、受信済みでなかったら受信メモリ１０５に保存する処理を行う受信処理部１０４と、受信した分割データを保存する受信メモリ１０５と、受信メモリ１０５から受信した分割データを取得、結合して元のデータに再構成する処理を行うデータ結合処理部１０６とを備えている。分割されたデータを、パケットと定義してもよい。
【００２５】
また、情報処理装置２００も、情報処理装置１００と同様に、データ分割処理部２０１と、送信制御処理部２０２と、ネットワーク３００ａに接続されたネットワークＩＦａ２０３ａと、ネットワーク３００ｂに接続されたネットワークＩＦｂ２０３ｂと、受信処理部２０４と、受信メモリ２０５と、データ結合処理部２０６とを備えている。
【００２６】
情報処理装置１００と情報処理装置２００は、ネットワーク３００ａに接続されたネットワークＩＦａ１０３ａおよび２０３ａと、ネットワーク３００ｂに接続されたネットワークＩＦｂ１０３ｂおよび２０３ｂにより互いにデータを送受信することができる。本発明の最も特徴とするところは、ネットワーク３００ａと３００ｂを用いて一方の情報処理装置から、他方の情報処理装置へのデータ伝送方法にある。
【００２７】
ここで、情報処理装置１００および情報処理装置２００の各処理部１０１、１０２、１０４、１０６、２０１、２０２、２０４、２０６の機能は、メモリおよびＣＰＵ（中央演算装置）により構成されたパーソナルコンピュータ等の情報処理装置にオペレーティングソフトウェアを搭載し、そのオペレーティングソフトウェア上に各機能を実現するためのプログラムをメモリにロードして実行することにより、その機能を実現することができる。尚、上記構成の全部または一部は、専用のハードウェアにより実現されてもよい。
【００２８】
次に、本発明の実施例１の二重化データ通信システムのデータ伝送方法について説明する。説明の都合上情報処理装置１００から情報処理装置２００へデータを送受信する場合について説明するが、その逆の送受信も可能である。
【００２９】
情報処理装置１００では、図２に示すように、データ分割処理部１０１では送信元データを先頭から所定のサイズに分割し、第１番目から第Ｎ番目までの分割データを生成する。所定のサイズは、一定であるのが好ましいが、必須ではない、例えば、第Ｎ番目の分割データのサイズは、所定のサイズに満たない場合もある。
【００３０】
送信制御処理部１０２では、図２に示すように、分割データをネットワーク３００ａと３００ｂとに交互に送信するよう、データ送信ネットワークＩＦを選択する。つまり、第１番目の分割データをネットワーク３００ａへ送信した場合は、第２番目の分割データをネットワーク３００ｂに送信し、第３番目の分割データをネットワーク３００ａへ送信した場合は、第４番目の分割データをネットワーク３００ｂに送信する。さらに、送信制御処理部１０２では、図２に示すように、同一の元データ（同一の分割データ）を２回送信する。このとき、送信制御処理部１０２では、１回目の分割データの第１番目から第Ｎ番目までの全ての送信が完了してから、２回目の分データの第１番目の送信を開始するのが好ましい。さらに、送信制御処理部１０２では、１回目の分割データを第１番目から第Ｎ番目まで順に送信した場合は、２回目の分割データも第１番目から第Ｎ番目まで順に送信するのが好ましい。さらに、送信制御処理部１０２では、Ｎが奇数、偶数に関わらず、１回目の第１番目の分割データをネットワーク３００ａへ送信した場合には、２回目の第１番目の分割データをネットワーク３００ｂへ送信するのが好ましい。つまり、Ｎが奇数、偶数に関わらず、１回目の第１番目の分割データのネットワークと２回目の第１番目の分割データのネットワークが異なるのが好ましい。
【００３１】
図３に送信処理のフロー図を示す。
【００３２】
まず、送信現在処理中の分割データを示す処理カウンタｎを１、データの送信回数を示す送信カウンタｍを１に初期化する（ステップ４０１）。次にデータ分割処理部１０１では、第ｎ番目の分割データを作成する（ステップ４０２）。次に、ステップ４０２で作成した前記第ｎ番目の分割データを送信制御処理部が図４に示すルールにしたがって選択したネットワークＩＦから送信する（ステップ４０３）。次に、第ｎ番目の分割データが元データの末尾であったかどうか（データ終了）を判定する（ステップ４０４）。ステップ４０４の判定結果がＮＯであった場合は処理カウンタをインクリメントしステップ４０２に移行する。ステップ４０４の判定結果がＹＥＳであった場合は処理カウンタｎを１に初期化する（ステップ４０６）。さらに送信回数カウンタｍをインクリメントする（ステップ４０７）。次に、ネットワーク多重化数と送信回数カウンタｍを比較する（ステップ４０８）。比較の結果ｍがネットワーク多重化数以下の場合はステップ４０２に移行し、そうでない場合は処理を完了する。
【００３３】
図４に二重化ネットワークの場合の送信制御処理部のネットワークを選択するルールを示す。図４に示すように、送信対象の分割データが先頭（第一番目）かどうか（５０１）、送信対象の分割データは何回目の送信か（５０２）、送信対象の分割データの一つ前の分割データはどのネットワークに送信したか（５０３）、の３つの条件に基づいてネットワークを選択する（５０５）。
【００３４】
送信対象の分割データが先頭（第一番目）の場合、何回目の送信かによって送信ネットワークを選択する。具体的には、一回目の場合はネットワーク３００ａ、二回目の場合はネットワーク３００ｂを選択する。つまり、一回目のネットワークと二回目のネットワークを変える。
【００３５】
送信対象の分割データが先頭以外の場合、一つ前の分割データの送信先ネットワークに基づいてネットワークを選択する。具体的には、一つ前の送信先がネットワーク３００ａの場合はネットワーク３００ｂ、一つ前の送信先がネットワーク３００ｂの場合は、ネットワーク３００ａを選択する。つまり、一つ前のネットワークと今回のネットワークを変える。
【００３６】
以上、述べたルールは、必ず各ネットワークに全ての分割データが一度送信され、かつすべてのネットワークで見た場合同じ分割データが送信される間隔が均等になるように決められている。よって、先頭から末尾までの全データが揃っていなくても、先頭から順次送信開始が可能である。
【００３７】
図６に分割データの構造図の一例を示す。６０１は先頭から何番目の分割データであるかを示す「分割番号」、６０２は分割されたデータを識別する「元データ識別子」、６０３は当該分割データが先頭の場合と末尾である場合を識別する「先頭／末尾フラグ」、６０４は分割されたデータである。尚、何回目の送信かを示す番号を、さらに含んでもよい。分割処理部１０１が、各分割データに分割番号６０１を割り当て、分割番号６０１、元データ識別子６０２、先頭／末尾フラグ６０３を、ヘッダとして、分割データに付加する。
【００３８】
図８に受信処理のフロー図を示す。
【００３９】
受信処理において、受信処理部２０４はネットワークＩＦａ２０３ａとネットワークＩＦｂ２０３ｂへの分割データ受信を待つ（ステップ８０１）。ネットワークＩＦへ分割データが受信されると、受信処理部２０４にデータが渡される（ステップ８０２）。次に受信処理部２０４は受信した分割データを解析し、分割番号６０１と、元データ識別子６０２を取得する（ステップ８０３）。受信メモリを検索して、過去に受信済みの分割データの分割番号と元データ識別子が一致する分割データを検索する（ステップ８０４）。ここで、元データ識別子と分割番号により同じ分割データか否かを判断する。同じ分割データが存在した場合は、受信した分割データを破棄し分割データ待ち８０１に遷移する（ステップ８０６）。尚、同じ分割データが存在した場合は、受信した分割データを破棄する代わりに、受信した分割データによって受信メモリ内の受信済みの分割データを書き換えてもよい。同じ分割データ存在しない場合は、受信した分割データを受信メモリ１０５に保存し、データ結合処理部に元データ識別子を通知する（ステップ８０７）。データ結合処理部は、受信メモリ１０５を検索して、データ受信処理部から受け取った元データ識別子を持つ分割データを検索し、分割番号順に先頭から末尾フラグのセットされた分割データまでを結合する。必要な分割番号を持つ分割データが受信メモリ上に存在しない場合は、そこで処理を中止する（ステップ８０８）。先頭（第一番目）から末尾の分割データをすべて結合できた場合は、データ受信完了したため終了する。そうでない場合は分割データ受信待ち８０１に遷移する（ステップ８０９）。
【００４０】
図９から図１１に、受信メモリ２０５への分割データの保存結果を示す。図中、三角印は、分割データが破棄されたことを示し、バツ印は、分割データが受信されなかったことを示し、無印は、分割データが受信され受信メモリ２０５に保存されたことを示す。
【００４１】
図２で示したようにデータ送信された場合の、受信メモリに書き込まれるデータ内容は、二重化ネットワークが正常の場合、図９に示すように1回目に送信される分割データが受信メモリ２０５に保存され、２回目に送信されるデータは保存されない。図９に示すように、受信メモリ２０５は、ネットワーク３００ａから、１回目に奇数番目の全ての分割データを受信し、ネットワーク３００ｂから、１回目に偶数番目の全ての分割データを受信する。よって、受信メモリ２０５は、１回目のみでも、全ての分割データを受信できる。
【００４２】
二重化ネットワークのうち片方のネットワーク、たとえばネットワーク３００ｂに異常があってネットワーク３００ｂから分割データを受信できなかった場合は、図１０に示すようにネットワーク３００ａ経由で送信される分割データが受信メモリ２０５に保存される。図１０に示すように、受信メモリ２０５は、ネットワーク３００ａから、１回目に奇数番目の全ての分割データを受信し、２回目に偶数番目の全ての分割データを受信する。つまり、受信メモリ２０５は、ネットワーク３００ａのみからでも、全ての分割データを受信できる。よって、受信メモリ２０５は、ネットワーク３００ｂが異常であった場合も、全ての分割データを受信できる。
【００４３】
このようにいずれの場合でも分割番号１からＮまでのすべての分割データがノード２に伝送され、特に二重化ネットワークが正常の場合は、従来の技術に比較して、ほぼ半分の時間ですべての分割データが受信可能であり、元データを再構成を開始できる。
【００４４】
また、なんらかの理由で一部の分割データのみ受信できなかった場合の受信メモリに書き込まれるデータ内容は、例えば図１１に示す一回目に送信された分割番号２の分割データと分割番号Ｎ−２の分割データが受信されなかった例では、二回目に送信された分割番号２と分割番号Ｎ−２の分割データが受信メモリに保存される。したがって、一回目と二回目で同じ分割データの送受信異常が発生しない限りすべての分割データが受信可能である。
【００４５】
また、本実施例では、ステップ８０８でデータ結合処理部は新規に受信した分割データを保存した処理をトリガにしてデータ結合処理が行われるが、これを所定の個数保存した場合にのみ結合処理が実施されるようにすることも可能である。この方法は、分割数が多い場合などに無駄な結合処理を減らして負荷を軽減する効果がある。
【００４６】
また、タイマーにより周期的に結合処理が実施されるようにすることも可能である。この方法は、受信処理を最優先で実施して結合処理は情報処理装置の処理負荷が軽い時などにバックグラウンドで処理させたい場合に有効である。
【実施例２】
【００４７】
図７は本発明の実施例２の三重化データ通信システムの構成を示す図である。この三重化データ通信システムは、２台の情報処理装置１００’と２００’と、ＬＡＮａネットワーク３００ａとＬＡＮｂネットワーク３００ｂとＬＡＮｃネットワーク３００ｃから構成されている。ここでは情報処理装置が２台の構成を示しているが、実施例１同様３台以上の情報処理装置がネットワーク３００ａと３００ｂと３００ｃに接続されている構成であってもよい。
【００４８】
情報処理装置１００’と２００’の、実施例１の情報処理装置１００と２００との相違点は、ＬＡＮｃネットワーク３００ｃが追加され、ネットワークＩＦｃ１０３ｃと２０３ｃが追加され、送信制御部１０２’と２０２’は３つのネットワークＩＦに対してデータ送信可能であり、受信処理部１０４’と２０４’は３つのネットワークＩＦからデータ受信が可能となっている点であるが、送信処理フローと受信処理フローは実施例１と同様である。
【００４９】
図５に三重化ネットワークの場合の送信制御処理部のネットワークを選択するルールを示す。二重化ネットワークの場合と同様に、図に示すように、送信対象の分割データが先頭（第一番目）かどうか（５０１）、送信対象の分割データは何回目の送信か（５０２）、送信対象の分割データの一つ前の分割データはどのネットワークに送信したか（５０３）、の３つの条件に基づいてネットワークを選択する（５０５）。
【００５０】
送信対象の分割データが先頭（第一番目）の場合、何回目の送信かによって送信ネットワークを選択する。具体的には、一回目の場合はネットワーク３００ａ、二回目の場合はネットワーク３００ｂ、三回目の場合はネットワーク３００ｃを選択する。
【００５１】
送信対象の分割データが先頭以外の場合、一つ前の分割データの送信先ネットワークに基づいてネットワークを選択する。具体的には、一つ前の送信先がネットワーク３００ａの場合はネットワーク３００ｂ、一つ前の送信先がネットワーク３００ｂの場合は、ネットワーク３００ｃ、一つ前の送信先がネットワーク３００ｃの場合は、ネットワーク３００ａを選択する。
【００５２】
以上、述べたルールは、実施例１と同様に必ず各ネットワークに全ての分割データが一度送信され、かつすべてのネットワークで見た場合同じ分割データが送信される間隔が均等になるように決められている。
【００５３】
図１２に三重化データ通信システムの各ネットワークに送信されるデータを示す。ネットワークは三重化されているため、ネットワーク３００ａ、３００ｂ、３００ｃの順に分割データを割り当てて、３回データ送信を実施する。ネットワーク毎に重複なく分割データを割り当てるため、各回で第一番目のデータを割り当てるネットワークを変更する。つまり、第１番目の分割データをネットワーク３００ａへ送信した場合は、第２番目の分割データをネットワーク３００ｂに送信し、第３番目の分割データをネットワーク３００ｂに送信する。さらに、送信制御処理部１０２では、図２に示すように、同一の元データ（同一の分割データ）を３回送信する。このとき、送信制御処理部１０２では、１回目の分割データの第１番目から第Ｎ番目までの全ての送信が完了してから、２回目の分データの第１番目の送信を開始し、２回目の分割データの第１番目から第Ｎ番目までの全ての送信が完了してから、３回目の分データの第１番目の送信を開始するのが好ましい。さらに、送信制御処理部１０２では、１回目の分割データを第１番目から第Ｎ番目まで順に送信した場合は、２回目や３回目の分割データも第１番目から第Ｎ番目まで順に送信するのが好ましい。さらに、送信制御処理部１０２では、Ｎが３の倍数でるか否かに関わらず、１回目の第１番目の分割データをネットワーク３００ａへ送信した場合には、２回目の第１番目の分割データをネットワーク３００ｂへ送信し、３回目の第１番目の分割データをネットワーク３００ｃへ送信するのが好ましい。つまり、Ｎが３の倍数でるか否かに関わらず、１回目の第１番目の分割データのネットワークと２回目の第１番目の分割データのネットワークと３回目の第１番目の分割データのネットワークが異なるのが好ましい。
【００５４】
本実施例の三重化データ通信システムの場合、三重化ネットワークがすべて正常の場合、ほぼ三分の一の時間ですべての分割データが受信可能であり、信頼性も確保されている。
【００５５】
なお、上記実施例では分割データの末尾フラグをもって元データの末尾を検出しているが、ストリームデータのように元データの末尾が明確でない場合でも、一定の分割データ個数ごとに末尾フラグを付けて、順次データ結合処理を実施することができる。
【００５６】
また、上記実施例では多重化数と同じ回数データ送信処理を行っていたが、多重化数より多い回数のデータ送信を行ってもかまわない。
【００５７】
逆に多重化数より少ない回数のデータ送信処理とすることも可能である。その場合、信頼性は低下するが、送信処理時間を短縮することができる。たとえば３重化データ通信システムでデータ送信回数を２回にすると、３つのネットワークのうち２つが同時に異常となった場合に通信失敗となるが、送信時間は３分の２に短縮することができる。
【００５８】
仮に各ネットワークの異常となる確率をｐとすれば、データ送信回数３回の場合の信頼性は１−ｐ３であるが、データ送信回数を２回の場合は１−３ｐ２＋２ｐ３となる。
【００５９】
また、本実施例の三重化データ通信システムは、四重化以上のネットワークが接続された場合にも適用することができる。ネットワーク１からＮまでのＮ重化ネットワークを想定した場合、一回目のデータ送信においては、送信先ネットワーク１を先頭に以降→２→３→４→・・→Ｎ−１→Ｎ→１→２・・・の順に送信し末尾の分割データまで送信する。二回目のデータ送信においては、送信先ネットワーク２を先頭に以降→３→４→・・→Ｎ−１→Ｎ→１→２→・・の順に送信する、以降同様に、三回目はネットワーク３を先頭に、四回目はネットワーク４を先頭に、と順次Ｎ回目はネットワークＮを先頭にデータ送信を行えばよい。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施例１の二重化データ通信システム構成図
【図２】本発明の実施例１の二重化データ通信システムにおけるデータ送信方法を説明する図
【図３】本発明の実施例１および実施例２におけるデータ送信処理のフローを示す図
【図４】本発明の実施例１における送信制御処理部のネットワーク選択するルールを示す図
【図５】本発明の実施例２における送信制御処理部のネットワーク選択するルールを示す図
【図６】本発明の実施例１および２における分割データの構造を示す図
【図７】本発明の実施例２の三重化データ通信システム構成図
【図８】本発明の実施例１および実施例２におけるデータ受信処理のフローを示す図
【図９】本発明の実施例１における二重化ネットワーク正常時の受信メモリ保存内容を説明する図
【図１０】本発明の実施例１における二重化ネットワークの片方が異常時の受信メモリ保存内容を説明する図
【図１１】本発明の実施例１における一部データ受信異常時の受信メモリ保存内容を説明する図
【図１２】本発明の実施例２の三重化データ通信システムにおけるデータ送信方法を説明する図
【符号の説明】
【００６１】
１００、２００情報処理装置
１０１、２０１データ分割処理部
１０２、２０２送信制御処理部
３００ａネットワークＬＡＮａ
３００ｂネットワークＬＡＮｂ
１０３ａ、２０３ａネットワークＬＡＮａに接続されたネットワークＩＦ
１０３ｂ、２０３ｂネットワークＬＡＮｂに接続されたネットワークＩＦ
１０４、２０４受信処理部
１０５、２０５受信メモリ
１０６、２０６データ結合処理部
【図１】
2009111653.tif 000003
【図２】
2009111653.tif 000004
【図３】
2009111653.tif 000005
【図４】
2009111653.tif 000006
【図５】
2009111653.tif 000007
【図６】
2009111653.tif 000008
【図７】
2009111653.tif 000009
【図８】
2009111653.tif 000010
【図９】
2009111653.tif 000011
【図１０】
2009111653.tif 000012
【図１１】
2009111653.tif 000013
【図１２】
2009111653.tif 000014