(57)【要約】【課題】  パケット転送あるいはデータ転送を行う場合の転送遅延『ＬＴＣ』を短縮可能なデータ処理装置を提供する。【解決手段】  使用回線選択部１７は、パケット長『ＰＳＩＺＥ』のパケットを、伝送帯域Ｒの複数回線を用いて転送する場合の『送信遅延』と、回線毎の『伝送路遅延  ＴＤＬＹ（ｋ）』（ｋは１以上、回線数Ｎ以下）とから、最短の『転送遅延』（＝『送信遅延』＋『伝送路遅延  最大値』）となる回線を選択する。分離部２は、その選択された回線のみを用いてパケット転送を行うことで、最短な転送遅延の通信システムを実現する。【選択図】      図１
2008301002.tif 000002
【特許請求の範囲】
【請求項１】
対向装置との間で複数の回線を用いてデータ転送を行うデータ処理装置であって、
前記対向装置との間の複数の回線の経路各々の伝送路遅延を測定する測定手段と、
前記伝送路遅延が最大の１以上の回線を除外した場合に前記データ転送を行うために必要な送信遅延と使用する経路の伝送路遅延の最大値とから転送遅延を算出し、その算出結果を基に前記複数の経路の中から前記転送遅延が最小となる経路の組み合わせを選択する選択手段と、
その選択された経路の組み合わせに対してデータを振り分ける分配手段と
を有することを特徴とするデータ処理装置。
【請求項２】
データ通信装置間で通信帯域が同一のＮ本（Ｎは２以上の正の整数）の複数の回線を用いてパケット転送を行うデータ通信網に用いられるデータ通信装置であることを特徴とする請求項１記載のデータ処理装置。
【請求項３】
前記測定手段は、受信側のデータ通信装置から前記Ｎ本の回線毎の伝送路遅延ＴＤＬＹ（ｋ）（１≦ｋ≦Ｎ）を受け取り、
前記選択手段は、前記伝送路遅延ＴＤＬＹ（ｋ）が最大の１以上の回線を除外した場合にパケット長『ＰＳＩＺＥ』のパケットを送出するために必要な送信遅延と使用回線の伝送路遅延ＴＤＬＹ（ｋ）の最大値とから前記転送遅延を算出し、前記Ｎ本の回線中から前記転送遅延が最小となる回線の組み合わせを選択することを特徴とする請求項２記載のデータ処理装置。
【請求項４】
コンピュータ装置間で通信帯域が同一のＮ本（Ｎは２以上の正の整数）の複数の回線を用いてＲＤＭＡ（Ｒｅｍｏｔｅ  Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送を行うデータ通信網に用いられるコンピュータ装置であることを特徴とする請求項１記載のデータ処理装置。
【請求項５】
前記測定手段は、前記Ｎ本の回線毎のラウンドトリップ遅延ＲＴＴ（ｋ）（１≦ｋ≦Ｎ）を測定し、
前記選択手段は、ＲＤＭＡによるデータ転送毎に前記ラウンドトリップ遅延ＲＴＴ（ｋ）が最大の１以上の回線を除外した場合にデータ量『ＤＳＩＺＥ』のデータを送出するために必要な送信遅延と使用回線のラウンドトリップ遅延ＲＴＴ（ｋ）の最大値とから前記転送遅延を算出し、前記Ｎ本の回線中から前記転送遅延が最小となる回線の組み合わせを選択することを特徴とする請求項４記載のデータ処理装置。
【請求項６】
前記測定手段は、受信側のコンピュータ装置から前記Ｎ本の回線毎の伝送路遅延ＴＤＬＹ（ｋ）（１≦ｋ≦Ｎ）を受け取り、
前記選択手段は、ＲＤＭＡによるデータ転送毎に前記伝送路遅延ＴＤＬＹ（ｋ）が最大の１以上の回線を除外した場合にデータ量『ＤＳＩＺＥ』のデータを送出するために必要な送信遅延と使用回線の伝送路遅延ＴＤＬＹ（ｋ）の最大値とから前記転送遅延を算出し、前記Ｎ本回線中から前記転送遅延が最小となる回線の組み合わせを選択することを特徴とする請求項４記載のデータ処理装置。
【請求項７】
無線伝送装置間で通信帯域が同一のＮ本（Ｎは２以上の正の整数）の送受信アンテナを用いてパケット転送を行う無線データ通信網に用いられる無線伝送装置であることを特徴とする請求項１記載のデータ処理装置。
【請求項８】
前記測定手段は、前記Ｎ本の送受信アンテナ毎のラウンドトリップ遅延ＲＴＴ（ｋ）（１≦ｋ≦Ｎ）を測定し、
前記選択手段は、ラウンドトリップ遅延ＲＴＴ（ｋ）が最大の１以上の送受信アンテナを除外した場合にパケット長『ＰＳＩＺＥ』のパケットを送出するために必要な送信遅延と使用する送受信アンテナの伝送路遅延ＴＤＬＹ（ｋ）の最大値とから前記転送遅延を算出し、前記Ｎ本の送受信アンテナ中から前記転送遅延が最小となる送受信アンテナの組み合わせを選択することを特徴とする請求項７記載のデータ処理装置。
【請求項９】
前記測定手段は、受信側の無線伝送装置から前記Ｎ本の送受信アンテナ毎の伝送路遅延ＴＤＬＹ（ｋ）（１≦ｋ≦Ｎ）を受け取り、
前記選択手段は、伝送路遅延ＴＤＬＹ（ｋ）が最大の１以上の送受信アンテナを除外した場合にパケット長『ＰＳＩＺＥ』のパケットを送出するために必要な送信遅延と使用する送受信アンテナの伝送路遅延ＴＤＬＹ（ｋ）の最大値とから前記転送遅延を算出し、前記Ｎ本の送受信アンテナ中から前記転送遅延が最小となる送受信アンテナの組み合わせを選択することを特徴とする請求項７記載のデータ処理装置。
【請求項１０】
対向装置との間で複数の回線を用いてデータ転送を行うデータ処理装置に用いる回線選択制御方法であって、
前記データ処理装置が、前記対向装置との間の複数の回線の経路各々の伝送路遅延を測定する測定処理と、
前記伝送路遅延が最大の１以上の回線を除外した場合に前記データ転送を行うために必要な送信遅延と使用する経路の伝送路遅延の最大値とから転送遅延を算出し、その算出結果を基に前記複数の経路の中から前記転送遅延が最小となる経路の組み合わせを選択する選択処理と、
その選択された経路の組み合わせに対してデータを振り分ける分配処理と
を実行することを特徴とする回線選択制御方法。
【請求項１１】
前記データ処理装置が、データ通信装置間で通信帯域が同一のＮ本（Ｎは２以上の正の整数）の複数の回線を用いてパケット転送を行うデータ通信網に用いられるデータ通信装置であることを特徴とする請求項１０記載の回線選択制御方法。
【請求項１２】
前記データ通信装置が、
前記測定処理において、受信側のデータ通信装置から前記Ｎ本の回線毎の伝送路遅延ＴＤＬＹ（ｋ）（１≦ｋ≦Ｎ）を受け取り、
前記選択処理において、前記伝送路遅延ＴＤＬＹ（ｋ）が最大の１以上の回線を除外した場合にパケット長『ＰＳＩＺＥ』のパケットを送出するために必要な送信遅延と使用回線の伝送路遅延ＴＤＬＹ（ｋ）の最大値とから前記転送遅延を算出し、前記Ｎ本の回線中から前記転送遅延が最小となる回線の組み合わせを選択することを特徴とする請求項１１記載の回線選択制御方法。
【請求項１３】
前記データ処理装置が、コンピュータ装置間で通信帯域が同一のＮ本（Ｎは２以上の正の整数）の複数の回線を用いてＲＤＭＡ（Ｒｅｍｏｔｅ  Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送を行うデータ通信網に用いられるコンピュータ装置であることを特徴とする請求項１０記載の回線選択制御方法。
【請求項１４】
前記コンピュータ装置が、
前記測定処理において、前記Ｎ本の回線毎のラウンドトリップ遅延ＲＴＴ（ｋ）（１≦ｋ≦Ｎ）を測定し、
前記選択処理において、ＲＤＭＡによるデータ転送毎に前記ラウンドトリップ遅延ＲＴＴ（ｋ）が最大の１以上の回線を除外した場合にデータ量『ＤＳＩＺＥ』のデータを送出するために必要な送信遅延と使用回線のラウンドトリップ遅延ＲＴＴ（ｋ）の最大値とから前記転送遅延を算出し、前記Ｎ本の回線中から前記転送遅延が最小となる回線の組み合わせを選択することを特徴とする請求項１３記載の回線選択制御方法。
【請求項１５】
前記コンピュータ装置が、
前記測定処理において、受信側のコンピュータ装置から前記Ｎ本の回線毎の伝送路遅延ＴＤＬＹ（ｋ）（１≦ｋ≦Ｎ）を受け取り、
前記算出処理において、ＲＤＭＡによるデータ転送毎に前記伝送路遅延ＴＤＬＹ（ｋ）が最大の１以上の回線を除外した場合にデータ量『ＤＳＩＺＥ』のデータを送出するために必要な送信遅延と使用回線の伝送路遅延ＴＤＬＹ（ｋ）の最大値とから前記転送遅延を算出し、
前記選択処理において、前記Ｎ本回線中から前記転送遅延が最小となる回線の組み合わせを選択することを特徴とする請求項１３記載の回線選択制御方法。
【請求項１６】
前記データ処理装置が、無線伝送装置間で通信帯域が同一のＮ本（Ｎは２以上の正の整数）の送受信アンテナを用いてパケット転送を行う無線データ通信網に用いられる無線伝送装置であることを特徴とする請求項１０記載の回線選択制御方法。
【請求項１７】
前記無線伝送装置が、
前記測定処理において、前記Ｎ本の送受信アンテナ毎のラウンドトリップ遅延ＲＴＴ（ｋ）（１≦ｋ≦Ｎ）を測定し、
前記算出処理において、ラウンドトリップ遅延ＲＴＴ（ｋ）が最大の１以上の送受信アンテナを除外した場合にパケット長『ＰＳＩＺＥ』のパケットを送出するために必要な送信遅延と使用する送受信アンテナの伝送路遅延ＴＤＬＹ（ｋ）の最大値とから前記転送遅延を算出し、
前記選択処理において、前記Ｎ本の送受信アンテナ中から前記転送遅延が最小となる送受信アンテナの組み合わせを選択することを特徴とする請求項１６記載の回線選択制御方法。
【請求項１８】
前記無線伝送装置が、
前記測定処理において、受信側の無線伝送装置から前記Ｎ本の送受信アンテナ毎の伝送路遅延ＴＤＬＹ（ｋ）（１≦ｋ≦Ｎ）を受け取り、
前記選択処理において、伝送路遅延ＴＤＬＹ（ｋ）が最大の１以上の送受信アンテナを除外した場合にパケット長『ＰＳＩＺＥ』のパケットを送出するために必要な送信遅延と使用する送受信アンテナの伝送路遅延ＴＤＬＹ（ｋ）の最大値とから前記転送遅延を算出し、前記Ｎ本の送受信アンテナ中から前記転送遅延が最小となる送受信アンテナの組み合わせを選択することを特徴とする請求項１６記載の回線選択制御方法。
【請求項１９】
対向装置との間で複数の回路を用いてデータ転送を行うデータ処理装置内においてコンピュータに実行させるプログラムであって、
前記対向装置との間の複数の回路の経路各々の伝送路遅延を測定する測定処理と、
前記伝送路遅延が最大の１以上の回線を除外した場合に前記データ転送を行うために必要な送信遅延と使用する経路の伝送路遅延の最大値とから転送遅延を算出し、その算出結果を基に前記複数の経路の中から前記転送遅延が最小となる経路の組み合わせを選択する選択処理と、
その選択された経路の組み合わせに対してデータを振り分ける分配処理と
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ処理装置及びそれに用いる回線選択制御方法並びにそのプログラムに関し、特に可変長パケットの送受信を行うデータ送受信処理部において、複数回線を用いてデータ転送を行う回線選択制御方法に関する。
【背景技術】
【０００２】
近年、プロセッサ技術や装置内バス技術の向上によって、コンピュータ装置やストレージ装置をはじめとする、データ処理装置の内部通信帯域が向上している。この帯域性能をデータ処理装置間でも活かすために、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）や広域網を含む、データ処理装置間通信の伝送速度の向上が望まれている。また、大容量映像転送やストレージデータ等の、伝送速度を必要とするアプリケーションの出現によって、アプリケーション側からの伝送速度向上の要求も高まっている。
【０００３】
しかしながら、データ処理装置間通信回線は、装置内部バス通信速度よりも帯域が狭い場合が多いため、回線を複数本束ねて所望の帯域を得る技術が提案されている。尚、ここで、『回線』とは、個々の独立した光ファイバのほか、波長分割多重ＷＤＭ（Ｗａｖｅｌｅｎｇｔｈ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅｘｉｎｇ）のように、光ファイバは１本であるが、その中が波長によって論理的に分かれる場合の各波長も『回線』と称すこととする。
【０００４】
複数の回線による伝送速度向上の一例としては、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃ  Ｅｎｇｉｎｅｅｒｓ）８０２．３ａｄで規定されるリンク・アグリゲーション技術がある。これは、送信側の、ＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）参照モデルのデータリンク層で、パケット系列をパケット単位で複数のイーサネット（登録商標）回線に分配して送出し、受信側のデータリンク層で多重するものである。尚、ここで、パケット系列とは、あるデータ処理装置から別のデータ処理装置へ転送される、一連のパケット列である。
【０００５】
複数の回線を用いて広帯域通信を実現する他の技術としては、ＩＥＥＥ８０２．３委員会のＨＳＳＧ（Ｈｉｇｈｅｒ  Ｓｐｅｅｄ  Ｓｔｕｄｙ  Ｇｒｏｕｐ）の方式がある。これは、物理層に複数回線を用い、送信側の物理層において、一つのイーサネット（登録商標）フレームを一定バイト毎に各回線に分配し、受信側では各回線によって転送されたバイトを多重し、イーサネット（登録商標）フレームを復元する。
【０００６】
また、ＩＴＵ−Ｔ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ−Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ  Ｓｅｃｔｏｒ）  Ｇ．７０７で規定されるバーチャルコンカチネーション技術も、１つのパケット列を複数本のＶＣ（バーチャルコンテナ）に割り当て、１ＶＣよりも広帯域で伝送する技術である。
【０００７】
図１０には、データ処理装置１０１とデータ処理装置１０２との間で、Ｎ本の回線１〜回線Ｎ（Ｎは２以上の正の整数）を用いてデータ転送を行う一例を示している。図１０において、１０３〜１０８はスイッチである。各回線は同一スイッチを経由してもよいが、図１０に示すように、回線１〜回線Ｎ毎に異なる経路を経由してもよい。
【０００８】
図１１には、本発明に関連するデータ処理装置内部のデータ送受信処理部の構成の一例を示している。図１１において、１１５はデータ送受信処理部、１１１はパケット処理部、１１２は分離部、１１４−１〜１１４−Ｎは送信器、１１７−１〜１１７−Ｎは受信器、１１９は多重部である。
【０００９】
ＩＥＥＥ８０２．３ａｄのリンク・アグリゲーションならば、分離部１１２と多重部１１９とはリンク・アグリゲーション副層、送信器１１４−ｋ（ｋは１≦ｋ≦Ｎの正の整数）はＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）層処理及びＰＨＹ（ｐｈｙｓｉｃａｌ）層処理の送信側、受信器１１７−ｋはＭＡＣ層処理及びＰＨＹ層処理の受信側となる。
【００１０】
データ信号がデータ送受信処理部１１５に入力されると、まず、パケット処理部１１１では、ＯＳＩ参照モデルのトランスポート層［ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ），ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）等］及びネットワーク層（ＩＰ：Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）処理を行う。そして、分離部１１２では、ＩＰパケット毎に回線１〜回線Ｎに振り分け、送信器１１４−１〜１１４−Ｎによってイーサネット（登録商標）フレームとして送信する。
【００１１】
受信側でも、回線１〜回線Ｎに到着したイーサネット（登録商標）フレームを、受信器１１７−１〜１１７−Ｎで受信し、多重部１１９でフレーム多重する。そして、パケット処理部１１１では、ＩＰ処理及びＴＣＰ処理を行い、処理したデータを出力する。
【００１２】
上記の処理はＩＥＥＥ８０２．３ａｄの場合の動作であるが、ＩＥＥＥ８０２．３委員会のＨＳＳＧの方式では、パケット処理部１１１が、トランスポート層処理（ＴＣＰ、ＵＤＰ等）、ネットワーク層処理（ＩＰ等）、及びイーサネット（登録商標）ＭＡＣ層処理を行う。分離部１１２では、イーサネット（登録商標）ＭＡＣフレームを一定バイト長に区切り、それらを回線１〜回線Ｎに振り分ける。
【００１３】
送信器１１４−１〜１１４−Ｎはイーサネット（登録商標）ＰＨＹ層処理の送信側である。同じく、受信器１１７−１〜１１７−Ｎはイーサネット（登録商標）ＰＨＹ層処理の受信側、多重部１１９は一定バイト長に区切られたイーサネット（登録商標）フレームの多重・復元を行う。
【００１４】
尚、これはリンク・アグリゲーションで説明したが、ＩＥＥＥ８０２．３委員会のＨＳＳＧの方式のように回線１〜回線Ｎに一定バイト毎に振分ける場合は、多重部１１９で、回線１〜回線Ｎの位相調整による元のフレームの復元処理が必要である。
【００１５】
また、大容量映像転送やストレージデータ等のアプリケーションでは、リアルタイムデータや科学技術計算データのように、低遅延での転送を要求するものがある。遅延要因には、パケット長『ＰＳＩＺＥ』のパケットを回線帯域を用いて送出する際に要する時間『送信遅延』と、伝送路における伝播遅延・キューイング遅延等の『伝送路遅延』とがあり、ここでは、『送信遅延』と『伝送路遅延』との和を、データ処理装置間の転送遅延『ＬＴＣ』と定義する。
【００１６】
さらに、上記のようなデータ転送技術を用いてコンピュータ装置間でデータ通信を行う際に、マイクロプロセッサの負荷を高めずに効率よくデータ転送を行う技術として、ＲＤＭＡ（Ｒｅｍｏｔｅ  Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）がある（例えば、非特許文献１参照）。これは、図１２に示すように、コンピュータ装置間でホストメモリ同士の内容を、双方のマイクロプロセッサを介さず、それぞれのコンピュータに搭載した専用エンジンによって書込みや読出し処理を行うものである。ＲＤＭＡは大容量データをコンピュータ装置間でやりとりする際に有効な技術である。送受信を行うホストメモリ上のデータ量が、該コンピュータ装置間で使用するデータ通信方式におけるパケット長『ＰＳＩＺＥ』よりも大きい場合は、複数回のパケット送受信により、当該ホストメモリのデータの転送を行う。
【非特許文献１】“Ａｎ  ＲＤＭＡ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｂｓ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  （Ｖｅｒｓｉｏｎ  １．０）”（Ｊｅｆｆ  Ｈｉｌｌａｎｄ，Ｐａｕｌ  Ｃｕｌｌｅｙ，Ｊｉｍ  Ｐｉｎｋｅｒｔｏｎ，Ｒｅｎａｔｏ  Ｒｅｃｉｏ），２００３年４月２５日（http://www.rdmaconsortium.org/home/draft-recio-iwarp-rdmap-v1.0pdf）
【発明の開示】
【発明が解決しようとする課題】
【００１７】
本発明に関連する回線選択制御方法では、図１０に示す回線１〜回線Ｎが異なる経路によって転送される可能性があるため、パケットを複数の回線に分離して転送する際に、対向のデータ処理装置へ該パケットが届くまでの転送遅延『ＬＴＣ』が増大する可能性があるという課題がある。この場合には、経路が異なれば、回線によって経路長やキュー長に差があり、『伝送路遅延』にずれが生じる。
【００１８】
そこで、本発明の目的は上記の問題点を解消し、パケット転送あるいはデータ転送を行う場合の転送遅延『ＬＴＣ』を短縮することができるデータ処理装置及びそれらに用いる回線選択制御方法並びにそのプログラムを提供することにある。
【課題を解決するための手段】
【００１９】
本発明によるデータ処理装置は、対向装置との間で複数の回線を用いてデータ転送を行うデータ処理装置であって、
前記対向装置との間の複数の回線の経路各々の伝送路遅延を測定する測定手段と、
前記伝送路遅延が最大の１以上の回線を除外した場合に前記データ転送を行うために必要な送信遅延と使用する経路の伝送路遅延の最大値とから転送遅延を算出し、その算出結果を基に前記複数の経路の中から前記転送遅延が最小となる経路の組み合わせを選択する選択手段と、
その選択された経路の組み合わせに対してデータを振り分ける分配手段と
を備えている。
【００２０】
本発明による回線選択制御方法は、対向装置との間で複数の回線を用いてデータ転送を行うデータ処理装置に用いる回線選択制御方法であって、
前記データ処理装置が、前記対向装置との間の複数の回線の経路各々の伝送路遅延を測定する測定処理と、
前記伝送路遅延が最大の１以上の回線を除外した場合に前記データ転送を行うために必要な送信遅延と使用する経路の伝送路遅延の最大値とから転送遅延を算出し、その算出結果を基に前記複数の経路の中から前記転送遅延が最小となる経路の組み合わせを選択する選択処理と、
その選択された経路の組み合わせに対してデータを振り分ける分配処理と
を実行している。
【００２１】
本発明によるプログラムは、対向装置との間で複数の回路を用いてデータ転送を行うデータ処理装置内においてコンピュータに実行させるプログラムであって、
前記対向装置との間の複数の回路の経路各々の伝送路遅延を測定する測定処理と、
前記伝送路遅延が最大の１以上の回線を除外した場合に前記データ転送を行うために必要な送信遅延と使用する経路の伝送路遅延の最大値とから転送遅延を算出し、その算出結果を基に前記複数の経路の中から前記転送遅延が最小となる経路の組み合わせを選択する選択処理と、
その選択された経路の組み合わせに対してデータを振り分ける分配処理と
を含むことを特徴とする。
【発明の効果】
【００２２】
本発明は、上記のような構成及び動作とすることで、パケット転送あるいはデータ転送を行う場合の転送遅延『ＬＴＣ』を短縮することができるという効果が得られる。
【発明を実施するための最良の形態】
【００２３】
次に、本発明の実施例について図面を参照して説明する。
【実施例１】
【００２４】
図１は本発明の第１の実施例によるデータ処理装置の構成を示すブロック図である。図１においては、本発明の第１の実施例による『転送遅延』最適化を図る回線選択制御方法を採るデータ処理装置１０の構成を示している。図１において、右側が回線１〜回線Ｎ（Ｎは２以上の正の整数）であり、ここでは左から右方向へのパケット・フレームの流れを下り回線並びに送信側と呼び、右から左方向へのフレーム・パケットの流れを上り回線並びに受信側と呼ぶものとする。
【００２５】
データ処理装置１０は、データ生成・終端部１１と、データ送受信処理部１５とを有している。データ送受信処理部１５は、その内部に、パケット処理部１と、分離部２と、遅延測定パケット挿入部３−１〜３−Ｎと、送信器４−１〜４−Ｎと、受信器７−１〜７−Ｎと、遅延測定パケット抽出部８−１〜８−Ｎと、多重部９と、回線情報テーブル１６と、使用回線選択部１７とを有している。パケット処理部１の出力帯域は、回線１本分以上の帯域を持つものとする。
【００２６】
ＩＥＥＥ８０２．３ａｄのリンク・アグリゲーションの場合、パケット処理部１は、ＴＣＰ処理、ＵＤＰ処理、ＩＰ処理となる。また、分離部２及び多重部９はリンク・アグリゲーション副層、送信器４−１〜４−ＮはＭＡＣ層処理及びＰＨＹ層処理の送信側、受信器７−１〜７−ＮはＭＡＣ層処理及びＰＨＹ層処理の受信側となる。
【００２７】
ＩＥＥＥ８０２．３委員会のＨＳＳＧの方式の場合、パケット処理部１はＴＣＰ処理、ＵＤＰ処理、ＩＰ処理、及びイーサネット（登録商標）ＭＡＣ層処理を行う。分離部２ではイーサネット（登録商標）ＭＡＣフレームを一定バイト長に区切り、回線１〜回線Ｎに振り分ける。
【００２８】
送信器４−１〜４−Ｎはイーサネット（登録商標）ＰＨＹ層処理の送信側である。同じく、受信器７−１〜７−Ｎはイーサネット（登録商標）ＰＨＹ層処理の受信側であり、多重部９は一定バイト長に区切られたイーサネット（登録商標）フレームの多重・復元を行う。
【００２９】
ＩＥＥＥ８０２．３委員会のＨＳＳＧの方式のように、回線１〜回線Ｎに一定バイト毎に振分ける場合は、多重部９で、回線１〜回線Ｎの位相調整による元のフレームの復元処理が必要である。
【００３０】
本実施例では、遅延測定パケット抽出部８−１〜８−Ｎから、下り各回線の伝送路遅延『ＴＤＬＹ（ｋ）』（１≦ｋ≦Ｎ）が回線情報テーブル１６に入力される構成とする。また、使用回線選択部１７には、パケット処理部１から、入力パケット毎のパケット長情報『ＰＳＩＺＥ』が入力される構成とし、使用回線選択部１７は、回線情報テーブルに対しリード・ライト可能な構成とする。また、使用回線選択部１７から分離部１２に、使用回線を指定する『使用回線情報』を出力する構成とする。
【００３１】
尚、遅延測定パケット抽出部８−１〜８−Ｎでは、上り回線で対向データ処理装置（図示せず）が発出する遅延測定パケットの到着時刻を計測し、これを遅延測定パケット挿入部３−１〜３−Ｎに対してパケット情報として転送し、対向データ処理装置に対して上り回線毎の伝送路遅延『ＴＤＬＹ（ｋ）』（１≦ｋ≦Ｎ）を返送可能としてもよい。また、対向データ処理装置には、上記と同様の構成によって、下り回線毎の伝送路遅延『ＴＤＬＹ（ｋ）』（１≦ｋ≦Ｎ）を、上り回線を用いて遅延測定パケット抽出部８−１〜８−Ｎに返送する構成とする。
【００３２】
図２は図１の回線情報テーブル１６の構成例を示す図である。図２において、回線情報テーブル１６は、回線ｋ（１≦ｋ≦Ｎ）毎に、該パケット送出に使用する回線とするか否かを示す『使用回線情報』を持つ。ここでは、『使用回線情報』値が‘１’ならば使用、‘０’ならば未使用と定義するが、逆でもあってもよい。また、回線情報テーブル１６は、回線毎に伝送路遅延『ＴＤＬＹ（ｋ）』を保持する構成とする。
【００３３】
図３は図１の使用回線選択部１７の処理動作を示すフローチャートである。これら図１〜図３を参照して本発明の第１の実施例によるデータ処理装置１０の動作について説明する。尚、図３に示す処理動作はデータ処理装置１０内でコンピュータにて実行可能なプログラムを実行することでも実現可能である。
【００３４】
データ送受信処理部１５では、遅延測定パケット挿入部３−１〜３−Ｎより、送信パケットがないタイミングを用いて、それぞれ一回、もしくは一定間隔毎に遅延測定パケットを発出する。また、データ処理装置１０は、対向データ処理装置よりその遅延測定パケットに対する伝送路遅延『ＴＤＬＹ（ｋ）』（１≦ｋ≦Ｎ）が返送されてくると、その伝送路遅延『ＴＤＬＹ（ｋ）』を回線情報テーブル１６に保持する。
【００３５】
データ生成・終端部１１がパケット長『ＰＳＩＺＥ』のパケットを出力すると、パケット処理部１は、そのＴＣＰヘッダ等からパケット長情報『ＰＳＩＺＥ』を読出し、使用回線選択部１７に転送する。使用回線選択部１７は、当該パケット長情報『ＰＳＩＺＥ』と回線情報テーブル１６とを用いて、図３に示す処理動作にて使用回線を決定する。
【００３６】
まず、スタート後（図３ステップＳ１）、使用回線選択部１７は、回線情報テーブル１６の回線１〜回線Ｎの『使用回線情報』領域に‘１’をライトし（図３ステップＳ２）、内部変数にて、使用回線数を表す『Ｌ』＝Ｎとする（図３ステップＳ３）。そして、使用回線選択部１７は、回線情報テーブル１６の全回線１〜回線Ｎの伝送路遅延『ＴＤＬＹ（ｋ）』から、遅延最大の回線『ｋ』＝『Ｍ』を検索する（図３ステップＳ４）。ここで、『ｋ』，『Ｍ』とも１以上、Ｎ以下の正の整数である。
【００３７】
この状態で、使用回線選択部１７は、パケット処理部１からのパケット長情報『ＰＳＩＺＥ』の入力を待つ（図３ステップＳ５）。『ＰＳＩＺＥ』が入力されると、使用回線選択部１７は、転送遅延『ＬＴＣ』を、
転送遅延『ＬＴＣ』
＝『送信遅延』＋『伝送路遅延  最大値』
＝｛ＰＳＩＺＥ÷（Ｌ×Ｒ）｝＋ＴＤＬＹ（Ｍ）          ・・・（１）
によって算出する（図３ステップＳ６）。ここで、『ＬＴＣ』は使用回線選択部１７の内部変数、『Ｒ』は一回線あたりの伝送速度である。また、送信遅延は、『ＰＳＩＺＥ』のパケットを、Ｌ本分の回線帯域で送出する際に必要な時間である。
【００３８】
次に、使用回線選択部１７は、回線Ｍを使用しない場合の転送遅延『ＬＴＣ’』を算出する。『ＬＴＣ’』も使用回線選択部１７で使用する内部変数である。まず、使用回線選択部１７は、回線情報テーブル１６の回線番号『Ｍ』の『使用回線情報』領域に‘０’を書込み（図３ステップＳ７）、『Ｌ』から１を減算する（図３ステップＳ８）。この状態で、使用回線選択部１７は、回線情報テーブル１６の『使用回線領域』＝‘１’の回線中から『ＴＤＬＹ（ｋ）』が最大の回線『ｋ』＝『Ｍ’』を検索する（図３ステップＳ９）。ここで、『Ｍ’』は１以上、Ｎ以下の正の整数である。
【００３９】
この状態で、使用回線選択部１７は、回線Ｍを使用しない場合の転送遅延『ＬＴＣ’』を、
転送遅延『ＬＴＣ’』
＝『送信遅延』＋『伝送路遅延  最大値』
＝｛ＰＳＩＺＥ÷（Ｌ×Ｒ）｝＋ＴＤＬＹ（Ｍ’）        ・・・（２）
によって算出する（図３ステップＳ１０）。
【００４０】
そして、使用回線選択部１７は、『ＬＴＣ』と『ＬＴＣ’』との大小比較を行う（図３ステップＳ１１）。『ＬＴＣ’』＜『ＬＴＣ』ならば［図３ステップＳ１１／Ｙ（ＹＥＳ）］、回線Ｍを使用しない方が『転送遅延』が短縮される。そのため、使用回線選択部１７は、『ＬＴＣ』に『ＬＴＣ’』を代入し（図３ステップＳ１２）、また、使用回線中で転送遅延『ＬＴＣ』最大の回線番号『Ｍ』に『Ｍ’』を代入する（図３ステップＳ１３）。尚、使用回線選択部１７は、使用回線数『Ｌ』＝１ならば［図３ステップＳ１４／Ｙ（ＹＥＳ）］、ステップＳ１７に遷移するが、『Ｌ＞１』ならば［ステップＳ１４／Ｎ（ＮＯ）］、ステップＳ７に戻る。
【００４１】
使用回線選択部１７は、ステップＳ１１で、『ＬＴＣ’』≧『ＬＴＣ』ならば［図３ステップＳ１１／Ｎ（ＮＯ）］、回線Ｍを用いる方が『転送遅延』が短縮されるため、回線情報テーブル１６の回線番号『Ｍ』の『使用回線情報』領域を‘１’に戻す（図３ステップＳ１５）。また、使用回線選択部１７は、１減算していた『Ｌ』にも１を加算して、元に戻す（図３ステップＳ１６）。そして、使用回線選択部１７は、回線数『Ｌ』を用いた場合が『転送遅延』最短であると判断し、回線情報テーブル１６の『使用回線領域』を、『使用回線情報』として分離部２に出力する。その後、ステップＳ２に戻る。
【００４２】
分離部２は、使用回線選択部１７からの『使用回線情報』に基づき、パケットを回線１〜回線Ｎのうち『使用回線情報』＝‘１’のものに振り分ける。受信側では、『使用回線情報』＝‘１’の回線を用いて転送されたパケット、もしくは一定バイト長のデータを多重部９で多重してパケット処理部１に転送し、さらにデータ生成・終端部１１に転送する。
【００４３】
本実施例では、送信側において、入力パケットを分離部２によって複数の回線１〜回線Ｎに分配し、各回線の送信器４−１〜４−Ｎからフレームとして回線１〜回線Ｎに出力し、また、受信側において、各回線の受信器７−１〜７−Ｎで受信したフレームを多重部９で多重した後にパケット処理部１から出力するデータ送受信処理部１５に、送信側の分離部２と送信器４−１〜４−Ｎとの間に回線１〜回線Ｎ毎の遅延測定パケット挿入部３−１〜３−Ｎを備え、また、受信側の受信器７−１〜７−Ｎと多重部９との間に回線１〜回線Ｎ毎の遅延測定パケット抽出部８−１〜８−Ｎを備え、さらに、回線情報テーブル１６及び使用回線選択部１７とを備えている。
【００４４】
本実施例では、遅延測定パケット挿入部３−１〜３−Ｎから、回線１〜回線Ｎ毎に遅延測定パケットを一回もしくは一定間隔で発出する。データ送受信処理部１５には、遅延測定パケットで測定した各伝送路『ｋ』（ｋは、１≦ｋ≦Ｎの正の整数）に対する伝送路遅延（これを『ＴＤＬＹ（ｋ）』とする）が、遅延測定パケットを用いて対向データ処理装置より返送される。そこで、使用回線選択部１７は、『ＴＤＬＹ（ｋ）』を、回線情報テーブル１６に書込む。
【００４５】
一方、データ生成・終端部１１からパケット処理部１にパケットが入力されると、パケット処理部１はそのパケットヘッダ部（ＴＣＰヘッダ等）よりパケット長情報『ＰＳＩＺＥ』を読出し、使用回線選択部１７に入力する。使用回線選択部１７は、回線情報テーブル１６の伝送路遅延情報『ＴＤＬＹ（ｋ）』を参照し、『ＴＤＬＹ（ｋ）』とパケット長情報『ＰＳＩＺＥ』とから、当該パケット送出に使用する回線番号を判断し、分離部２に出力する。分離部２では、使用回線選択部１７から『使用回線情報』によって指定された回線のみを用いて、入力パケットを送出する。
【００４６】
これによって、本実施例では、パケットを複数の回線１〜回線Ｎを用いて転送する際に、使用回線数『Ｌ』を調整することで、『転送遅延ＬＴＣ』＝『送信遅延』＋『伝送路遅延  最大値』が最小となるよう、使用回線の選択を行うことができる。よって、本実施例では、パケット転送あるいはデータ転送を行う場合の転送遅延『ＬＴＣ』を短縮することができる。
【００４７】
尚、本実施例における使用回線選択部１７の処理動作は、ディジタル論理回路によるハードウェア処理またはＣＰＵ（中央処理装置）やＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）によるソフトウェア処理にて実現することができる。
【実施例２】
【００４８】
図４は本発明の第２の実施例によるデータ処理装置の構成例を示すブロック図である。図４においては、データ処理装置、特にコンピュータ装置間でホストメモリの内容を、双方のマイクロプロセッサを介さず、それぞれのコンピュータに搭載した専用エンジンでホストメモリ同士の書込みや読出し処理を行うＲＤＭＡ（Ｒｅｍｏｔｅ  Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）技術に、本発明の技術を適用する例を示している。
【００４９】
本実施例では、ＲＤＭＡのうち、特に、ＯＳＩ参照モデルのトランスポート層にＴＣＰを用いるＲＤＭＡ  ｏｖｅｒ  ＴＣＰ、もしくはトランスポート層にＳＣＴＰ（Ｓｔｒｅａｍ  Ｃｏｎｔｒｏｌ  Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｐｒｏｔｏｃｏｌ）を用いるＲＤＭＡ  ｏｖｅｒ  ＳＣＴＰに本発明を適用している。これらＲＤＭＡ  ｏｖｅｒ  ＴＣＰ、もしくはＲＤＭＡ  ｏｖｅｒ  ＳＣＴＰは、ｉＷＡＲＰ（Ｉｎｔｅｒｎｅｔ  Ｗｉｄｅ  Ａｒｅａ  ＲＤＭＡ  Ｐｒｏｔｏｃｏｌ）と呼ばれている（非特許文献１参照）。
【００５０】
ｉＷＡＲＰでは、様々なオペレーションタイプが定義されている。オペレーションタイプとは、二台のコンピュータ装置間で行う動作である。この動作には、例えば、コンピュータ装置Ａがコンピュータ装置Ｂのホストメモリの指定アドレス内容をマイクロプロセッサを介さずに読出し、コンピュータ装置Ａのホストメモリにコピーするオペレーションに、ＲＤＭＡ  Ｒｅａｄがある。
【００５１】
また、上記の動作には、コンピュータ装置Ａとコンピュータ装置ＢとのそれぞれのＲＤＭＡ処理部に設けたキュー間で、双方のマイクロプロセッサを介さずにデータ転送を行うオペレーションに、ＲＤＭＡ  ＳｅｎｄまたはＲＤＭＡ  Ｒｅｃｅｉｖｅがある。
【００５２】
さらに、上記の動作には、コンピュータ装置Ａのホストメモリの内容を、コンピュータ装置Ｂのホストメモリの指定したアドレスに、マイクロプロセッサを介さずコピーする、ＲＤＭＡ  Ｗｒｉｔｅがある。
【００５３】
図１２は二つのコンピュータ装置間でＲＤＭＡ処理を実施する、本発明に関連するコンピュータシステムの一例を示している。図１２に示すコンピュータシステムにおいて、通信プロトコルとしてはＴＣＰ／ＩＰやＳＣＴＰに限定せず、ｉＷＡＲＰでなくてもよいが、代表例として以下ではｉＷＡＲＰで説明する。
【００５４】
図１２において、２１，１２１はコンピュータ装置、２１−１，１２１−１はマイクロプロセッサ、２１−２，１２１−２はチップセット回路、２１−３，１２１−３はホストメモリ、２１−４，１２１−４はＲＤＭＡ処理部、２１−５，１２１−５はデータ送受信処理部、１２３は通信回線である。ここでは、コンピュータ装置１２１からコンピュータ装置２１への方向を下り回線、逆方向を上り回線とする。チップセット２１−２，１２１−２は、マイクロプロセッサ２１−１，１２１−１とホストメモリ２１−３，１２１−３、あるいはＲＤＭＡ処理部２１−４，１２１−４を接続するデバイスである。
【００５５】
２１−８，１２１−８はアプリケーションプログラム、２１−９，１２１−９はＭＰＩ（Ｍｅｓｓａｇｅ  Ｐａｓｓｉｎｇ  Ｉｎｔｅｒｆａｃｅ）、２１−１０，１２１−１０はドライバプログラムである。アプリケーションプログラム２１−８，１２１−８は任意のプログラムであるが、他のコンピュータ装置との通信が必要なものとする。ＭＰＩ２１−９，１２１−９は、並列計算用のメッセージ授受用ライブラリであり、並列計算以外であればＭＰＩのかわりにＳｏｃｋｅｔ通信ライブラリとなる。ドライバプログラム２１−１０，１２１−１０は、それぞれＲＤＭＡ処理部２１−４，１２１−４とマイクロプロセッサ２１−１，１２１−１の通信や制御、ＲＤＭＡ処理の一部分を行う。
【００５６】
上述したコンピュータ装置１２１とコンピュータ装置２１との間では、ホストメモリ１２１−３の指定アドレスの内容を、ＲＤＭＡ  Ｗｒｉｔｅによってホストメモリ２１−３の指定アドレスにコピーする。この場合、アプリケーションプログラム１２１−８から、ホストメモリ１２１−３の任意領域に格納されたデータをコンピュータ装置２１にライトする処理要求が発生すると、ＭＰＩ１２１−９からライト要求メッセージ送信を行い、ドライバプログラム１２１−１０及びチップセット１２１−２経由でＲＤＭＡ処理部１２１−４に、ＲＤＭＡ  Ｗｒｉｔｅ要求通知が転送される。ＲＤＭＡ  Ｗｒｉｔｅ要求通知には、ホストメモリ１２１−３の何れの領域をコピーするかを示すアドレス情報も含まれる。
【００５７】
ＲＤＭＡ処理部１２１−４は、チップセット１２１−２経由で、ホストメモリ１２１−３のアドレス情報で指定された領域のデータを読出し、ＲＤＭＡ処理部２１−４に転送する。データ量『ＤＳＩＺＥ』がデータ送受信処理部１２１−５のパケット長『ＰＳＩＺＥ』よりも大きい場合は、複数回のパケット転送によってデータ転送を行う。また、その際のメッセージ（パケットに相当）フォーマットは、ＲＤＭＡ規定によってＲＤＭＡ  Ｗｒｉｔｅ、ＲＤＭＡ  Ｓｅｎｄ、ＲＤＭＡ  Ｒｅａｄ等のオペレーションタイプ毎に定められ、ＲＤＭＡ処理部２１−４はオペレーションタイプを容易に認識可能である。
【００５８】
認識の結果、ＲＤＭＡ  Ｗｒｉｔｅならば、当該メッセージ中のデータをチップセット２１−２経由でホストメモリ２１−３に書込む。尚、メモリ２１−３へのライトアドレス情報は当該ＲＤＭＡ  Ｗｒｉｔｅメッセージに格納されており、これは予め互いのＭＰＩ１２１−９，２１−９間で情報交換を行い、ＲＤＭＡ処理部１２１−４はＭＰＩ１２１−９から通知されている。このＭＰＩのアドレス情報交換方法はＭＰＩ毎に決まり、本発明とは直接的に関係しないためここでは省略する。
【００５９】
このように、ＲＤＭＡ処理部１２１−４がドライバプログラム１２１−１０からＲＤＭＡ  Ｗｒｉｔｅ要求を受信した以降は、マイクロプロセッサ１２１−１，２１−１のどちらも使用せず、ホストメモリ１２１−３の内容をホストメモリ２１−３にコピー可能である。コピー終了後、ＲＤＭＡ処理部２１−４はドライバプログラム２１−１０やＭＰＩ２１−９、アプリケーションプログラム２１−８にデータ引取り要求を発出し、これらはデータコピーされたことを認識して、利用可能となる。
【００６０】
次に、ＲＤＭＡ処理では、ＲＤＭＡ  Ｗｒｉｔｅ、ＲＤＭＡ  Ｒｅａｄ、ＲＤＭＡ  Ｒｅｃｅｉｖｅ等のオペレーション完了を、上位レイヤに通知することが規定されている。通知にはＣｏｍｐｌｅｔｉｏｎ  Ｑｕｅｕｅ（以下、ＣＱとする）というＲＤＭＡ処理で定義されたキューを用いる。この通知では、ＲＤＭＡ処理で各オペレーションが完了したならばＣＱにオペレーション毎に完了通知を書込み、これをドライバ側が読出し、ＭＰＩやアプリケーション等の上位レイヤに通知する。ＣＱへオペレーション完了を書込むためのトリガは、ｉＷＡＲＰ規定では規定されておらず、実装に依存する。
【００６１】
ＲＤＭＡ  ＷｒｉｔｅでのＣＱへのライト完了通知トリガの一例を図１２に（１）通信プロトコルのＡＣＫ（Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ）による方法、（２）ＲＤＭＡ  Ｓｅｎｄによる方法として、二種類示す。
【００６２】
図１２（１）に示す方法は、ＲＤＭＡ処理より下位レイヤの通信プロトコルの情報を用いる方法であり、点線で示すように、データ送受信処理部１２１−５で受信する通信プロトコルのＡＣＫ、一例としてＴＣＰを用いる場合には、上り回線のＴＣＰ  ＡＣＫをトリガとする。
【００６３】
ＴＣＰ動作では、送信側から受信側へＴＣＰセグメントを正常伝送した際には、受信側からＴＣＰ  ＡＣＫを返送し、受信できなかった場合にはＴＣＰ  ＡＣＫを返送しない規定がある。送信側では当該ＴＣＰ  ＡＣＫが規定時間以内に返送されない場合に、当該ＴＣＰセグメントを再送する。ここでも、データ送受信処理部２１−５は、ＴＣＰセグメントを正常受信した場合に、当該ＴＣＰセグメントに対するＴＣＰ  ＡＣＫをコンピュータ装置１２１に返送する。
【００６４】
一方、パケットロスやビット誤りにより正しく受信しない場合には、ＴＣＰ  ＡＣＫを返送しない。これにしたがって、コンピュータ装置１２１のＴＣＰ処理回路１２１−５は、ＴＣＰ  ＡＣＫによってコンピュータ装置２１のＴＣＰレイヤで正しく受信できたＴＣＰセグメントを、ホストメモリ２１−３にも正しくライトできたとみなす。コピーするメモリ長『ＤＳＩＺＥ』がＴＣＰセグメント長『ＰＳＩＺＥ』よりも大きい場合は、複数回のＴＣＰセグメント転送によりコピーを行う。そして、当該データのコピーに使用した全ＴＣＰセグメントのＴＣＰ  ＡＣＫをトリガとして、ＲＤＭＡ処理部１２１−４はライト完了通知を上位レイヤに通知する（ＣＱにライト完了通知を書込む）。
【００６５】
尚、データ送受信処理部１２１−５内のＴＣＰ処理は、ＴＣＰ  ＡＣＫが何れのＴＣＰセグメントのＡＣＫかをＴＣＰセグメント内のシーケンス番号から認識しており、ＲＤＭＡ  ＷｒｉｔｅメッセージとＴＣＰセグメントとの関連付けを管理しておけば、何れのＲＤＭＡ  Ｗｒｉｔｅメッセージがライト完了したのか、容易に判定可能である。
【００６６】
これに対して、図１２（２）に示す方法は、受信側のコンピュータ装置２１でホストメモリ２１−３にデータが正しく書込まれたことをドライバプログラム２１−１０でチェックし、その結果を用いるものである。
【００６７】
図１２（２）に示す方法は、アプリケーションプログラム１２１−８からライトする処理要求が発生し、ＲＤＭＡ処理部２１−４がライトデータをホストメモリ２１−３に書込むまでの処理が、図１２（１）に示す方法と同一である。さらに、ドライバプログラム２１−１０にデータ引き取り要求を通知する際に、ｉＷＡＲＰ規定で規定されているＲＤＭＡ  Ｗｒｉｔｅメッセージのメッセージ番号ＭＳＮ（Ｍｅｓｓａｇｅ  Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ）もあわせてドライバプログラム２１−１０に通知する。ＭＳＮはＲＤＭＡ処理部１２１−４でメッセージ順にシリアルに付加する番号である。
【００６８】
ドライバプログラム２１−１０は、データ引取り要求を受けて、ホストメモリ２１−３内の該当するメッセージのＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）チェック等のデータ確認を行い、当該データ確認結果をチップセット回路２１−２経由でＲＤＭＡ処理部２１−４に通知する。その際、ドライバプログラム２１−１０はデータ確認したメッセージのＭＳＮもあわせてＲＤＭＡ処理部２１−４に通知する。ＲＤＭＡ処理部２１−４は、上り回線にて、ＲＤＭＡ  Ｓｅｎｄメッセージを用いて、当該データ確認結果（ライト完了通知）とＭＳＮとをＲＤＭＡ処理部１２１−４に通知する。
【００６９】
ＲＤＭＡ処理部１２１−４は受信ＭＳＮ番号より、何れのＲＤＭＡ  Ｗｒｉｔｅメッセージに対するライト完了通知かを識別可能である。ＲＤＭＡ処理部１２１−４は、当該ＲＤＭＡ  Ｓｅｎｄによるライト完了を受信したならば、正しくライトが完了したものと判断し、ＣＱ経由でライト完了を上位レイヤに通知する。
【００７０】
図１２（２）に示す例では、図１２（１）に示す方法のように、通信プロトコルのＡＣＫのみではなく、実際にホストメモリ２１−３まで確認する方式であり、金融系メッセージのように、より確実性を求める場合に適する。但し、ドライバプログラム２１−１０でのデータ確認時間やＲＤＭＡ  Ｓｅｎｄ時間が必要のため、コンピュータ装置１２１の上位レイヤがライト完了を得るまで、図１２（１）に示す方法よりも時間がかかるほか、ドライバプログラム２１−１０でのデータ確認によって、マイクロプロセッサ２１−１の負荷は上昇するという特長も持つ。
【００７１】
上述のＲＤＭＡでは、コンピュータ間通信遅延が性能に影響を与える。特に並列計算等では、ＲＤＭＡの転送遅延が性能に大きく影響するため、転送遅延が小さいことが望ましい。
【００７２】
図４においては、ＲＤＭＡ処理を有するコンピュータ装置に本発明を適用し、ＲＤＭＡ『転送遅延』最適化を図るコンピュータ装置５０の構成を示している。図４の右側が回線１〜回線Ｎであり、ここでは左から右方向へのパケット・フレームの流れを下り回線並びに送信側と呼び、右から左方向へのフレーム・パケットの流れを上り回線並びに受信側と呼ぶものとする。
【００７３】
コンピュータ装置５０は、マイクロプロセッサ５１と、チップセット回路５２と、ホストメモリ５３と、ＲＤＭＡ処理部５４と、データ送受信処理部５５とを有している。データ送受信処理部５５は、その内部に、パケット処理部４１と、分離部４２と、遅延測定パケット挿入部４３−１〜４３−Ｎと、送信器４４−１〜４４−Ｎと、受信器４７−１〜４７−Ｎと、遅延測定パケット抽出部４８−１〜４８−Ｎと、多重部４９と、回線情報テーブル５６と、使用回線選択部５７とを有している。
【００７４】
ＲＤＭＡ処理部５４の出力帯域は、回線１本分以上の帯域を持つものとする。また、ホストメモリ５３にデータが正しく書込まれたことを確認する方式として、図１２（１）に示す方法のように通信プロトコルのＡＣＫを用いる場合とする。
【００７５】
尚、ＩＥＥＥ８０２．３ａｄのリンク・アグリゲーションならば、パケット処理部４１は、ＴＣＰ処理、ＳＣＴＰ処理、ＩＰ処理を行う。また、分離部４２及び多重部４９はリンク・アグリゲーション副層、送信器４４−１〜４４−ＮはＭＡＣ層処理及びＰＨＹ層処理の送信側、受信器４７−１〜４７−ＮはＭＡＣ層処理及びＰＨＹ層処理の受信側となる。
【００７６】
さらに、ＩＥＥＥ８０２．３委員会のＨＳＳＧの方式ならば、パケット処理部４１は、ＴＣＰ処理、ＳＣＴＰ処理、ＩＰ処理等、及びイーサネット（登録商標）ＭＡＣ層処理を行う。分離部４２では、イーサネット（登録商標）ＭＡＣフレームを一定バイト長に区切り、回線１〜回線Ｎに振り分ける。送信器４４−１〜４４−Ｎはイーサネット（登録商標）ＰＨＹ層処理の送信側である。
【００７７】
同じく、受信器４７−１〜４７−Ｎはイーサネット（登録商標）ＰＨＹ層処理の受信側、多重部４９は一定バイト長に区切られたイーサネット（登録商標）フレームの多重・復元を行う。ＩＥＥＥ８０２．３委員会のＨＳＳＧの方式のように回線１〜回線Ｎにバイトで振分けを行う場合、多重部４９では、回線１〜回線Ｎの位相調整による元のフレームの復元が必要である。
【００７８】
本実施例では、遅延測定パケット抽出部４８−１〜４８−Ｎから、下り各回線の伝送路遅延『ＲＴＴ（ｋ）』（１≦ｋ≦Ｎ）が回線情報テーブル５６に入力される構成とする。ここで、ＲＴＴ（ｋ）（１≦ｋ≦Ｎ）は、回線毎のラウンドトリップ遅延である。図１に示すように、下り回線片方向の伝送路遅延ＴＤＬＹ（ｋ）ではなく、ラウンドトリップ遅延ＲＴＴ（ｋ）とする理由は、下り回線でＴＣＰデータグラムが転送されて、そのＡＣＫが上り回線で転送されてくる遅延が短いことが重要なためである。
【００７９】
また、使用回線選択部５７には、パケット処理部４１から、ＲＤＭＡ  Ｗｒｉｔｅ時のメモリコピー領域サイズ、すなわちデータ量情報『ＤＳＩＺＥ』が入力される構成とする。『ＤＳＩＺＥ』は、ＲＤＭＡ処理部５４から転送されるものとする。使用回線選択部５７は、回線情報テーブル５６に対してリード・ライト可能な構成とする。さらに、使用回線選択部５７から分離部５２には、使用回線を指定する『使用回線情報』を出力する構成とする。
【００８０】
尚、遅延測定パケット抽出部４８−１〜４８−Ｎは、下り回線側の遅延測定パケット挿入部４３−１〜４３−Ｎが発出し、対向コンピュータ装置（図示せず）から上り回線で折り返してきた回線毎の遅延測定パケットの到着時刻、すなわちＲＴＴ（ｋ）を測定する。また、遅延測定パケット抽出部４８−１〜４８−Ｎは、遅延測定パケット挿入部４３−１〜４３−Ｎに対して、対向コンピュータ装置が発出した上り回線側の遅延測定パケットを転送して折り返す。
【００８１】
さらに、対向コンピュータ装置には、上記と同様の構成によって、下り回線毎の遅延測定パケットを、上り回線を用いて遅延測定パケット抽出部４８−１〜４８−Ｎに返送する構成とする。
【００８２】
図５は図４の回線情報テーブル５６の構成例を示す図である。図５において、回線情報テーブル５６は、回線ｋ（１≦ｋ≦Ｎ）毎に、当該パケット送出に使用する回線とするか否かを示す『使用回線情報』を持つ。ここでは、『使用回線情報』値が‘１’ならば使用、‘０’ならば未使用と定義するが、逆でもよい。また、回線情報テーブル５６は、回線毎にラウンドトリップ遅延『ＲＴＴ（ｋ）』を保持する構成とする。
【００８３】
図６は図４の使用回線選択部４７の処理動作を示すフローチャートである。これら図４〜図６を参照して本発明の第２の実施例によるコンピュータ装置５０の動作について説明する。尚、図６に示す処理動作はコンピュータ装置５０がコンピュータにて実行可能なプログラムを実行することでも実現可能である。
【００８４】
データ送受信処理部５５では、遅延測定パケット挿入部４３−１〜４３−Ｎにて、送信パケットがないタイミングを用いて、それぞれ一回、もしくは一定間隔毎に遅延測定パケットを発出する。また、データ送受信処理部５５では、対向コンピュータ装置から折り返された当該遅延測定パケットによって、遅延測定パケット抽出部４８−１〜４８−Ｎでラウンドトリップ遅延『ＲＴＴ（ｋ）』（１≦ｋ≦Ｎ）を測定し、そのラウンドトリップ遅延『ＲＴＴ（ｋ）』を回線情報テーブル５６に保持する。
【００８５】
ＲＤＭＡ処理部５４がＲＤＭＡ  Ｗｒｉｔｅによってメモリ領域コピーを開始すると、パケット処理部４１は、ＲＤＭＡ処理部５４よりそのメモリ領域サイズ、すなわちデータ量情報『ＤＳＩＺＥ』を受取り、『ＤＳＩＺＥ』を使用回線選択部５７に転送する。使用回線選択部５７は、当該データ量情報『ＤＳＩＺＥ』と回線情報テーブル５６とを用いて、図６に示す方法で、使用回線を決定する。この使用回線の決定動作を図６を参照して説明する。
【００８６】
まず、スタート後（図６ステップＳ２１）、使用回線選択部５７は、回線情報テーブル５６の回線１〜回線Ｎの『使用回線情報』領域に‘１’をライトし（図６ステップＳ２２）、内部変数にて、使用回線数を表す『Ｌ』＝Ｎとする（図６ステップＳ２３）。そして、使用回線選択部５７は、回線情報テーブル５６の全回線１〜回線Ｎのラウンドトリップ遅延『ＲＴＴ（ｋ）』から、遅延最大の回線『ｋ』＝『Ｍ』を検索する（図６ステップＳ２４）。ここで、『ｋ』，『Ｍ』とも１以上、Ｎ以下の正の整数である。
【００８７】
この状態で、使用回線選択部５７は、パケット処理部４１からのデータ量情報『ＤＳＩＺＥ』の入力を待つ（図６ステップＳ２５）。『ＤＳＩＺＥ』が入力されると、使用回線選択部５７は、転送遅延『ＬＴＣ』を、
転送遅延『ＬＴＣ』
＝『送信遅延』＋『ラウンドトリップ遅延  最大値』
＝｛ＤＳＩＺＥ÷（Ｌ×Ｒ）｝＋ＲＴＴ（Ｍ）            ・・・（３）
によって算出する（図６ステップＳ２６）。ここで、『ＬＴＣ』は使用回線選択部５７の内部変数、『Ｒ』は一回線あたりの伝送速度である。また、送信遅延は、『ＤＳＩＺＥ』のデータを、Ｌ本分の回線帯域で送出する際に必要な時間である。
【００８８】
次に、使用回線選択部５７は、回線Ｍを使用しない場合の転送遅延『ＬＴＣ’』を算出する。『ＬＴＣ’』も使用回線選択部５７で使用する内部変数である。まず、使用回線選択部５７は、回線情報テーブル５６の回線番号『Ｍ』の『使用回線情報』領域に‘０’を書込み（図６ステップＳ２７）、『Ｌ』から１を減算する（図６ステップＳ２８）。この状態で、使用回線選択部５７は、回線情報テーブル５６の『使用回線領域』＝‘１’の回線中から『ＲＴＴ（ｋ）』が最大の回線『ｋ』＝『Ｍ’』を検索する（図６ステップＳ２９）。ここで、『Ｍ’』は１以上、Ｎ以下の正の整数である。
【００８９】
この状態で、使用回線選択部５７は、回線Ｍを使用しない場合の転送遅延『ＬＴＣ’』を、
転送遅延『ＬＴＣ’』
＝『送信遅延』＋『ラウンドトリップ遅延  最大値』
＝｛ＰＳＩＺＥ÷（Ｌ×Ｒ）｝＋ＲＴＴ（Ｍ’）          ・・・（４）
によって算出する（図６ステップＳ３０）。
【００９０】
そして、使用回線選択部５７は、『ＬＴＣ』と『ＬＴＣ’』との大小比較を行う（図６ステップＳ３１）。『ＬＴＣ’』＜『ＬＴＣ』ならば［図６ステップＳ３１／Ｙ（ＹＥＳ）］、回線Ｍを使用しない方が『転送遅延』が短縮される。そのため、使用回線選択部５７は、『ＬＴＣ』に『ＬＴＣ’』を代入し（図６ステップＳ３２）、また、使用回線中で転送遅延『ＬＴＣ』最大の回線番号『Ｍ』に『Ｍ’』を代入する（図６ステップＳ３３）。尚、使用回線選択部５７は、使用回線数『Ｌ』＝１ならば［図６ステップＳ３４／Ｙ（ＹＥＳ）］、ステップＳ３７に遷移するが、『Ｌ＞１』ならば［図６ステップＳ３４／Ｎ（ＮＯ）］、ステップＳ２７に戻る。
【００９１】
使用回線選択部５７は、ステップＳ３１で、『ＬＴＣ’』≧『ＬＴＣ』ならば［図６ステップＳ３１／Ｎ（ＮＯ）］、回線Ｍを用いる方が『転送遅延』が短縮されるため、回線情報テーブル５６の回線番号『Ｍ』の『使用回線情報』領域を‘１’に戻す（図６ステップＳ３５）。また、使用回線選択部５７は、１減算していた『Ｌ』にも１を加算して、元に戻す（図６ステップＳ３６）。そして、使用回線選択部５７は、回線数『Ｌ』を用いた場合が『転送遅延』最短であると判断し、回線情報テーブル５６の『使用回線領域』を、『使用回線情報』として分離部４２に出力する。その後、ステップＳ２２に戻る。
【００９２】
データ量『ＤＳＩＺＥ』が、パケット処理部４１が発出するパケット長『ＰＳＩＺＥ』よりも大きい場合、パケット処理部４１は、複数回のパケット転送により『ＤＳＩＺＥ』長のデータ転送を行う。そして、分離部４２は、使用回線選択部５７からの『使用回線情報』に基づき、パケットを回線１〜回線Ｎのうち『使用回線情報』＝‘１’のものに振り分ける。受信側では、『使用回線情報』＝‘１’の回線を用いて転送されたパケット、もしくは一定バイト長のデータを多重部４９で多重してパケット処理部４１に転送し、さらにＲＤＭＡ処理部５４に転送する。
【００９３】
これによって、本実施例では、コンピュータ装置間で、経路が異なる複数の回線を用いてデータ転送を行う場合に、転送遅延『ＬＴＣ』を短縮することができる。
【００９４】
尚、本実施例における使用回線選択部５７の上記の処理動作は、図１２（１）に示す方法の場合の動作であるが、図１２（２）に示す方法を用いた場合には、ＲＴＴ（ｋ）ではなく、図１と同様に、下り回線の伝送路遅延ＴＤＬＹ（ｋ）を用い、その動作は図１と同様のため、説明を省略する。これら処理は、ディジタル論理回路によるハードウェア処理またはＣＰＵやＤＳＰによるソフトウェア処理にて実現することができる。
【実施例３】
【００９５】
図７は本発明の第３の実施例によるデータ処理装置の構成例を示すブロック図である。図７においては、データを複数のアンテナを用いて転送を行うＭＩＭＯ（Ｍｕｌｔｉ−Ｉｎｐｕｔ  Ｍｕｌｔｉ−Ｏｕｔｐｕｔ）装置に本発明の技術を適用する例を示している。
【００９６】
図１３は本発明に関連するＭＩＭＯ伝送技術を用いた無線伝送装置間通信の一例を示している。図１３において、３５，１３５は無線伝送装置であり、これは、無線移動局と無線基地局、あるいは無線移動局同士であってもよい。３１，１３１はパケット処理部、３２，１３２は分離部、３４−１〜３４−Ｎ，１３４−１〜１３４−Ｎはベースバンド送信器、３６，１３６はＲＦ送受信器、３０−１〜３０−Ｎ，１３０−１〜１３０−Ｎは送受信アンテナ、３８，１３８はＭＩＭＯ分離回路、３７−１〜３７−Ｎ，１３７−１〜１３７−Ｎはベースバンド受信器、３９，１３９は多重部である。
【００９７】
無線伝送装置１３５を送信側とする。パケット処理部１３１はＴＣＰ処理やＵＤＰ処理及びＩＰ処理等とする。そこを流れるトラヒックは、１つのアンテナで送受信可能な帯域以上とする。そこで、分離部１３２で複数のアンテナに分離し、ベースバンド処理部１３４−１〜１３４−Ｎでベースバンド処理を行った後、ＲＦ送受信器１３６から複数の送受信アンテナ１３０−１〜１３０−Ｎによって送信する。尚、ベースバンド処理とは、再送制御や誤り制御等である。
【００９８】
受信側の無線伝送装置３５では、送受信アンテナ３０−１〜３０−Ｎで信号を受信し、ＲＦ送受信器３６で復調を行うが、その出力には送受信アンテナ１３０−１〜１３０−Ｎが混在している。それらの信号から、送信アンテナ毎の成分を取出し、ベースバンド送信器１３４−１〜１３４−Ｎの出力相当の信号に分離を行う技術がＭＩＭＯ分離技術である。そして、ベースバンド受信器３７−１〜３７−Ｎでベースバンド処理を行った後に、多重器３９で多重し、パケット処理部３１でＩＰ処理、ＴＣＰ処理、ＵＤＰ処理等を行う。
【００９９】
このように、無線区間で混在した複数のアンテナの信号をＭＩＭＯ分離技術で送信アンテナ毎に分離することから、これは図１等に示す回線１〜回線Ｎを用いて、より広帯域な通信を実現する技術と等しい。
【０１００】
図７においては、本発明による『転送遅延』最適化を図る回線選択制御方法を有するデータ送受信無線装置７５の構成を示している。図７の右側がＮ本の送受信アンテナ８１−１〜８１−Ｎであり、ここでは左から右方向へのパケット・フレームの流れを下り回線並びに送信側と呼び、右から左方向へのフレーム・パケットの流れを上り回線並びに受信側と呼ぶものとする。
【０１０１】
データ送受信無線装置７５は、無線移動局と無線基地局との何れであってもよく、パケット処理部７１と、分離部７２と、遅延測定パケット挿入部７３−１〜７３−Ｎと、ベースバンド送信器７４−１〜７４−Ｎと、ＲＦ送受信器７６と、送受信アンテナ８１−１〜８１−Ｎと、ＭＩＭＯ分離回路８２と、ベースバンド受信器７７−１〜７７−Ｎと、遅延測定パケット抽出部７８−１〜７８−Ｎと、多重部７９と、回線情報テーブル８６と、使用回線選択部８７とを有する構成とする。
【０１０２】
パケット処理部７１は、ＴＣＰ処理、ＵＤＰ処理、ＩＰ処理を行う。分離部７２及び多重部７９はパケット毎の分離多重を行い、分離部７２はパケットを一定バイト長に区切り、ベースバンド送信器７４−１〜７４−Ｎに振り分ける。ベースバンド送信器７４−１〜７４−Ｎは、再送処理や誤り訂正処理の送信側である。同じく、ベースバンド受信器７７−１〜７７−Ｎは再送処理や誤り訂正処理の受信側である。多重部７９は分離されたパケットの多重・復元を行う。
【０１０３】
本実施例では、遅延測定パケット抽出部７８−１〜７８−Ｎから、下り各回線の伝送路遅延『ＴＤＬＹ（ｋ）』（１≦ｋ≦Ｎ）が回線情報テーブル８６に入力される構成とする。また、使用回線選択部８７には、パケット処理部７１から入力パケット毎のパケット長情報『ＰＳＩＺＥ』が入力される構成とし、使用回線選択部８７は、回線情報テーブル８６に対してリード・ライト可能な構成とする。また、本実施例では、使用回線選択部８７から分離部８２に、使用回線を指定する『使用回線情報』を出力する構成とする。
【０１０４】
尚、遅延測定パケット抽出部７８−１〜７８−Ｎでは、上り回線で対向無線伝送装置（図示せず）が発出する遅延測定パケットの到着時刻を計測し、これを遅延測定パケット挿入部７３−１〜７３−Ｎにパケット情報として転送し、対向無線伝送装置に上りアンテナ毎の伝送路遅延『ＴＤＬＹ（ｋ）』（１≦ｋ≦Ｎ）を返送可能としてもよい。また、対向無線伝送装置には、上記と同様の構成によって、下りアンテナ毎の伝送路遅延『ＴＤＬＹ（ｋ）』（１≦ｋ≦Ｎ）を、上り回線を用いて遅延測定パケット抽出部８−１〜８−Ｎに返送する構成とする。
【０１０５】
回線情報テーブル８６は、図２に示す回線情報テーブル１６と同様の構成であるが、回線情報テーブル１６における回線番号の代わりに、送受信アンテナ８１−１〜８１−Ｎの番号（アンテナ番号）を使用している。
【０１０６】
図８は図７の使用回線選択部８７の処理動作を示すフローチャートである。これら図７及び図８を参照して本発明の第３の実施例によるデータ送受信無線装置７５の動作について説明する。尚、図８に示す処理動作はデータ送受信無線装置７５内で、コンピュータにて実行可能なプログラムを実行することでも実現可能である。
【０１０７】
データ送受信無線装置７５では、遅延測定パケット挿入部７３−１〜７３−Ｎより、送信パケットがないタイミングを用いて、それぞれ一回、もしくは一定間隔毎に遅延測定パケットを発出する。対向無線伝送装置よりその遅延測定パケットに対する伝送路遅延『ＴＤＬＹ（ｋ）』（１≦ｋ≦Ｎ）が返送されてくると、その伝送路遅延『ＴＤＬＹ（ｋ）』を回線情報テーブル８６に保持する。
【０１０８】
図示せぬデータ生成・終端部がパケット長『ＰＳＩＺＥ』のパケットを出力すると、パケット処理部７１は、そのＴＣＰヘッダ等からパケット長情報『ＰＳＩＺＥ』を読出して使用回線選択部８７に転送する。使用回線選択部８７は、該パケット長情報『ＰＳＩＺＥ』と回線情報テーブル８６とを用いて、図８に示す方法で、使用アンテナを決定する。この使用アンテナの決定動作を図８を参照して説明する。
【０１０９】
まず、スタート後（図８ステップＳ４１）、使用回線選択部８７は、回線情報テーブル８６の送受信アンテナ８０−１〜８０−Ｎの『使用回線情報』領域に‘１’をライトし（図８ステップＳ４２）、内部変数にて、使用回線（アンテナ）数を表す『Ｌ』＝Ｎとする（図８ステップＳ４３）。そして、使用回線選択部８７は、回線情報テーブル８６の送受信アンテナ８０−１〜８０−Ｎの伝送路遅延『ＴＤＬＹ（ｋ）』から、遅延最大の送受信アンテナ８１−Ｍを検索する（図８ステップＳ４４）。ここで、『Ｍ』は１以上、Ｎ以下の正の整数である。
【０１１０】
この状態で、使用回線選択部８７は、パケット処理部７１からのパケット長情報『ＰＳＩＺＥ』の入力を待つ（図８ステップＳ４５）。『ＰＳＩＺＥ』が入力されると、使用回線選択部８７は、転送遅延『ＬＴＣ』を、
転送遅延『ＬＴＣ』
＝『送信遅延』＋『伝送路遅延  最大値』
＝｛ＰＳＩＺＥ÷（Ｌ×Ｒ）｝＋ＴＤＬＹ（Ｍ）          ・・・（５）
によって算出する（図８ステップＳ４６）。ここで、『ＬＴＣ』は使用回線選択部８７の内部変数、『Ｒ』は一回線あたりの伝送速度である。また、送信遅延は、『ＰＳＩＺＥ』のパケットを、Ｌ本分の回線帯域で送出する際に必要な時間である。
【０１１１】
次に、使用回線選択部８７は、送受信アンテナ８１−Ｍを使用しない場合の転送遅延『ＬＴＣ’』を算出する。『ＬＴＣ’』も使用回線選択部８７で使用する内部変数である。まず、使用回線選択部８７は、回線情報テーブル８６の送受信アンテナ８１−Ｍの『使用回線情報』領域に‘０’を書込み（図８ステップＳ４７）、『Ｌ』から１を減算する（図８ステップＳ４８）。この状態で、使用回線選択部８７は、回線情報テーブル８６の『使用回線領域』＝‘１’の回線中から『ＴＤＬＹ（ｋ）』が最大の送受信アンテナ８１−Ｍ’を検索する（図８ステップＳ４９）。ここで、『Ｍ’』は１以上、Ｎ以下の正の整数である。
【０１１２】
この状態で、使用回線選択部８７は、送受信アンテナ８１−Ｍを使用しない場合の転送遅延『ＬＴＣ’』を、
転送遅延『ＬＴＣ’』
＝『送信遅延』＋『伝送路遅延  最大値』
＝｛ＰＳＩＺＥ÷（Ｌ×Ｒ）｝＋ＴＤＬＹ（Ｍ’）        ・・・（６）
によって算出する（図８ステップＳ５０）。
【０１１３】
そして、使用回線選択部８７は、『ＬＴＣ』と『ＬＴＣ’』との大小比較を行う（図８ステップＳ５１）。『ＬＴＣ’』＜『ＬＴＣ』ならば［図８ステップＳ５１／Ｙ（ＹＥＳ）］、送受信アンテナ８１−Ｍを使用しない方が『転送遅延』が短縮される。そのため、使用回線選択部８７は、『ＬＴＣ』に『ＬＴＣ’』を代入し（図８ステップＳ５２）、また、使用アンテナ中で転送遅延『ＬＴＣ』最大のアンテナ番号『Ｍ』に『Ｍ’』を代入する（図８ステップＳ５３）。尚、使用回線選択部８７は、使用回線（アンテナ）数『Ｌ』＝１ならば［図８ステップＳ５４／Ｙ（ＹＥＳ）］、ステップＳ５７に遷移するが、『Ｌ＞１』ならば［図８ステップＳ５４／Ｎ（ＮＯ）］、ステップＳ４７に戻る。
【０１１４】
ステップＳ５１で、『ＬＴＣ’』≧『ＬＴＣ』ならば［図８ステップＳ５１／Ｎ（ＮＯ）］、回線Ｍを用いる方が『転送遅延』が短縮される。そのため、使用回線選択部８７は、回線情報テーブル８６の回線番号『Ｍ』の『使用回線情報』領域を‘１’に戻し（図８ステップＳ５５）、１減算していた『Ｌ』にも１を加算して、元に戻す（図８ステップＳ５６）。そして、使用回線選択部８７は、アンテナ数『Ｌ』を用いた場合が『転送遅延』最短であると判断し、回線情報テーブル８６の『使用回線領域』を、『使用回線情報』として分離部７２に出力する。その後、使用回線選択部８７は、ステップＳ４２の処理に戻る。
【０１１５】
分離部７２は、使用回線選択部８７からの『使用回線情報』に基づき、パケットを送受信アンテナ８１−１〜８１−Ｎのうち『使用回線情報』＝‘１’のものに振り分ける。受信側では、ＭＩＭＯ分離回路８２の『使用回線情報』＝‘１’相当の送受信アンテナ８１−１〜８１−Ｎの出力パケット、もしくは一定バイト長のデータを多重し、パケット処理部７１に転送し、さらにデータ生成・終端部に転送する。
【０１１６】
尚、本実施例においても、片方向の伝送路遅延ＴＤＬＹ（ｋ）ではなく、ラウンドトリップ遅延ＲＴＴ（ｋ）を用いる方式としてもよい。また、上述した使用回線選択部８７の処理は、ディジタル論理回路によるハードウェア処理またはＣＰＵやＤＳＰによるソフトウェア処理のどちらとしてもよい。
【０１１７】
このように、本発明では、データ処理装置間、コンピュータ装置間、データ送受信無線装置間等で、経路が異なる複数の光ファイバやＷＤＭ、及びアンテナ等の複数の回線を用いて、パケット転送あるいはデータ転送を行う場合の転送遅延『ＬＴＣ』を短縮することができる。その理由は、図９に示すように、ある帯域の元でパケット送信もしくはデータ送信をするために必要な『送信遅延』と、『伝送路遅延』との和を最小化する回線数を判定し、その回線を用いてパケット転送・データ転送を行うためである。つまり、本発明では、回線数最大値Ｎから１ずつ回線数を減らした場合の転送遅延『ＬＴＣ』＝『送信遅延』＋『伝送路遅延最大値』を順次算出することで、それが最小値となる回線数及び回線番号を特定することができる。
【０１１８】
これによって、本発明では、ＬＡＮや広域網等、コンピュータ装置やストレージ装置等でリアルタイムデータや大容量データを転送する場合の遅延特性、並びに並列計算等を行うコンピュータ装置の並列演算性能を向上することができるというメリットを有する。尚、本発明では、上記の説明において、データとして記しているが、これはデータを格納したパケット、もしくはフレームであってもよい。
【０１１９】
また、本発明では、光ファイバやＷＤＭ等の有線回線を用いる場合のみでなく、複数のアンテナを用いてデータ転送を行うＭＩＭＯ分離技術対応の無線伝送装置において、リアルタイムトラヒック転送特性が改善可能になるというメリットも有する。
【図面の簡単な説明】
【０１２０】
【図１】本発明の第１の実施例によるデータ処理装置の構成を示すブロック図である。
【図２】図１の回線情報テーブルの構成例を示す図である。
【図３】図１の使用回線選択部の処理動作を示すフローチャートである。
【図４】本発明の第２の実施例によるデータ処理装置の構成例を示すブロック図である。
【図５】図４の回線情報テーブルの構成例を示す図である。
【図６】図４の使用回線選択部の処理動作を示すフローチャートである。
【図７】本発明の第３の実施例によるデータ処理装置の構成例を示すブロック図である。
【図８】図７の使用回線選択部の処理動作を示すフローチャートである。
【図９】本発明の効果を説明する説明図である。
【図１０】本発明に関連する複数回線を用いたデータ処理装置間通信の構成を説明する図である。
【図１１】本発明に関連する複数の回線を用いてデータ送受信を行うデータ処理装置の構成を説明する図である。
【図１２】本発明に関連するコンピュータ装置の構成とＲＤＭＡ動作処理とを説明する図である。
【図１３】本発明に関連するＭＩＭＯ伝送装置の構成と動作とを説明する図である。
【符号の説明】
【０１２１】
１，４１，７１  パケット処理部
２，４２，７２  分離部
３−１〜３−Ｎ，
４３−１〜４３−Ｎ，
７３−１〜７３−Ｎ  遅延測定パケット挿入部
４−１〜４−Ｎ，
４４−１〜４４−Ｎ  送信器
７−１〜７−Ｎ，
４７−１〜４７−Ｎ  受信器
８−１〜８−Ｎ，
４８−１〜４８−Ｎ，
７８−１〜７８−Ｎ  遅延測定パケット抽出部
９，４９、７９  多重部
１０  データ処理装置
１１  データ生成・終端部
１５，５５  データ送受信処理部
１６，５６，８６  回線情報テーブル
１７，５７，８７  使用回線選択部
５０  コンピュータ装置
５１  マイクロプロセッサ
５２  チップセット回路
５３  ホストメモリ
５４  ＲＤＭＡ処理部
７４−１〜７４−Ｎ  ベースバンド送信器
７５  データ送受信無線装置
７６  ＲＦ送受信器
７７−１〜７７−Ｎ  ベースバンド受信器
８１−１〜８１−Ｎ  送受信アンテナ
８２  ＭＩＭＯ分離回路
【図１】
2008301002.tif 000003
【図２】
2008301002.tif 000004
【図３】
2008301002.tif 000005
【図４】
2008301002.tif 000006
【図５】
2008301002.tif 000007
【図６】
2008301002.tif 000008
【図７】
2008301002.tif 000009
【図８】
2008301002.tif 000010
【図９】
2008301002.tif 000011
【図１０】
2008301002.tif 000012
【図１１】
2008301002.tif 000013
【図１２】
2008301002.tif 000014
【図１３】
2008301002.tif 000015