JP4394541B2 - 通信装置、データ通信方法およびプログラム - Google Patents

通信装置、データ通信方法およびプログラム Download PDF

Info

Publication number
JP4394541B2
JP4394541B2 JP2004242207A JP2004242207A JP4394541B2 JP 4394541 B2 JP4394541 B2 JP 4394541B2 JP 2004242207 A JP2004242207 A JP 2004242207A JP 2004242207 A JP2004242207 A JP 2004242207A JP 4394541 B2 JP4394541 B2 JP 4394541B2
Authority
JP
Japan
Prior art keywords
connection
communication
data
connection setting
transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004242207A
Other languages
English (en)
Other versions
JP2006060674A (ja
Inventor
洋平 長谷川
英之 下西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2004242207A priority Critical patent/JP4394541B2/ja
Priority to US11/206,069 priority patent/US8149704B2/en
Publication of JP2006060674A publication Critical patent/JP2006060674A/ja
Application granted granted Critical
Publication of JP4394541B2 publication Critical patent/JP4394541B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Description

本発明は、ネットワークを介して他の装置と接続された通信装置に係り、特に複数のコネクションにデータを分散させて通信を行う通信装置、データ通信方法およびプログラムに関するものである。
従来、送信端末と受信端末間の通信で用いられる1つの通信フローのデータを複数のフローに分岐させて、最後に復元する通信方法がある。このような通信方法として、例えば送信端末が属する第1のLAN(Local Area Network)と受信端末が属する第2のLANにそれぞれゲートウェイを設置して、送信端末から送出されたTCP(Transmission Control Protocol )コネクションのデータを第1のLANのゲートウェイにおいてパケット単位でそれぞれの通信経路に振り分け、第2のLANのゲートウェイでは複数の通信経路から受信したパケットの順序逆転をTCPのシーケンス番号に従って補正してデータを復元する方法が提案されている(例えば、特許文献1参照)。ただし、この通信方法では、端末のTCPが1つの通信経路で使用されることを前提としているため、通信経路の性能を十分に発揮することができないという問題がある。
複数の通信回線を効率的に利用し、回線利用率を向上させる方法としては、以下の3つの方法が存在する。第1の方法は、端末のTCPに機能を追加して、従来1本のTCPコネクションを用いていた通信を複数のTCPコネクションを利用するように変更する方法である(例えば、特許文献2参照)。この第1の方法では、送信端末と受信端末間の通信で1つの通信フローで行われていたデータの通信を複数の通信フローに分割して並列的に送る。送信端末から受信端末へとデータを送信する場合、送信端末の通信プロトコルは、1つの通信フローの通信データを分割して複数の通信フローに振り分け、分割した複数の通信フローを元のデータに復元するための復元情報として新たなヘッダをTCP/IPパケットのパケットデータに付加して、それぞれの通信フローにてデータを送信する。受信端末の通信プロトコルでは、複数の通信フローから受信したデータの復元情報を参照して1つの通信フローを復元し、元のデータを復元する。
第2の方法は、複数の経路を利用する通信において、受信端末からそれぞれの経路の品質情報を送信端末へと伝達させ、この品質情報に基づき送信端末がそれぞれの経路にどれだけのデータを送信するかを決定する方法である(例えば、特許文献3参照)。
第3の方法は、複数の経路を利用する通信において、転送開始時にいくつかのデータを送信する際に送信端末が各経路で利用可能なスループットを計測して、この計測結果に基づき送信端末が各経路に振り分けるデータの大きさを決定する方法である(例えば、特許文献4参照)。
なお、出願人は、本明細書に記載した先行技術文献情報で特定される先行技術文献以外には、本発明に関連する先行技術文献を出願時までに発見するには至らなかった。
特開2000−261478号公報 特開2003−110604号公報 特開2004−7361号公報 特開2003−152776号公報
従来の第1の問題点として、特許文献2に開示された第1の方法および特許文献4に開示された第3の方法では、送信側で複数の経路に振り分けたデータを受信側で復元する際に、複数の経路から受信したデータの順序を整列させるために要する時間が大きく、結果として受信端末が得られる通信速度が低下してしまうという問題点があった。
また、従来の第2の問題点として、特許文献2に開示された第1の方法および特許文献4に開示された第3の方法では、送信側で複数の経路に振り分けたデータを受信側で復元する際に、複数の経路から受信したデータの順序を整列させるために必要なバッファが大きくなり、コストが高くなってしまうという問題点があった。
また、従来の第3の問題点として、特許文献2に開示された第1の方法、特許文献3に開示された第2の方法および特許文献4に開示された第3の方法では、送信端末での送信キュー長が考慮されていないため、到達時間の算出の誤差が大きくなるという問題点があった。
また、従来の第4の問題点として、特許文献3に開示された第2の方法では、通信プロトコルの実効スループットが考慮されていないという問題点があった。例えば、最も広く利用されているプロトコルであるTCPの実効スループットは、パケットロス率と経路の遅延と、TCPの広告ウインドゥサイズ、輻輳ウインドゥサイズなどから決定される。TCPでは、パケットの再送を行うため、パケットレベルのスループットとTCPの実効スループットは一致しない。また、TCPは、パケットロスや広告ウインドゥサイズにより送出レートを調整し、この送出レートは時々刻々と変化するため、受信端末から到達時間のフィードバックを得るだけでは、到達時間の算出の誤差が大きくなる。
さらに、従来の第5の問題点として、特許文献4に開示された第3の方法では、各経路の利用可能な帯域が変化した場合と各経路のTCPコネクションの通信レートが変化した場合に、遅い経路での通信が完了するまで全体の通信が完了せず、通信性能が低下してしまうという問題点があった。特に、TCPでは、転送開始時に通信スループットを徐々に上昇させ、その後も経路の輻輳状況(混雑状況)によって通信スループットを調整するため、通信開始時に計測した結果に基づいてデータを各経路に振り分けた場合、各経路にデータが適切に振り分けられず、結果として通信終了までの時間が長くなり、通信性能が低下する。
本発明は、以上の問題点に鑑み発案されたものであり、フローの分割/復元を伴う通信を効率よく実現することができる通信装置、データ通信方法およびプログラムを提供することを目的とする。
本発明の通信装置は、自装置が送信端末又は中継装置として動作する場合に、各コネクションの送信キュー長あるいは送信待ち時間と各コネクション上での通信プロトコルの実効スループットと経路遅延とに基づいて、送信データの分割によって生成されたブロックが自装置から最終的な受信端末またはデータの合流地点の装置に到達するまでの到達時間を複数のコネクションの各々についてブロック毎に推定する到達時間推定手段と、自装置が送信端末又は中継装置として動作する場合に、前記推定の結果に基づいて前記複数のコネクションの中から前記到達時間が最も短いコネクションをブロック毎に選択するコネクション選択手段と、自装置が送信端末又は中継装置として動作する場合に、前記選択されたコネクションを用いて各ブロックをネットワークに出力するネットワーク処理手段とを有する。
前述の第1の問題点を解決するため、本発明による通信装置では、送信端末において各経路を利用して受信端末に到達するまでの遅延を考慮し、送信端末のTCP送信キューへデータを格納してからデータが実際に送出されるまでの時間と送信端末から受信端末に至る経路をデータが転送されるのに要する遅延時間をそれぞれの経路について計算し、最も速く受信端末へとデータが転送される経路を利用してデータを送る。これにより、受信端末では、送信端末が送出した順番通りにデータが到着するようになり、各経路から到着したデータを整列するために要する時間が短いため、高い通信速度を得ることができる。また、受信端末では、各経路から到着したデータを整列させるために必要なバッファ量を削減することができる。また、本発明では、第3の問題点を解決するため、送信端末の送信キュー長を到達時間の算出において考慮する。また、本発明では、第4の問題点を解決するため、通信プロトコルの実効スループットを考慮し、到達時間を算出する。送信端末の送信キューに格納されてから、実際に送出されるまでの時間を、TCPの実効スループットから計算することにより、より正確に到達時間を計算することができる。さらに、本発明では、第5の問題点を解決するため、データを分割したブロックを複数の経路を利用して送出する際に、それぞれのブロックが受信端末に到達するまでの時間を計算し、いずれの経路を利用するかを決定する。これにより、それぞれのブロックは最も速く受信端末に到達し、より高い通信性能を得ることができる。
また、本発明の通信装置の1構成例において、前記到達時間推定手段は、各コネクションの送信キュー長あるいは送信待ち時間と各コネクション上での通信プロトコルの実効スループットとに基づいて、前記ブロックが前記選択されたコネクションに振り分けられてから前記ネットワークに出力されるまでの第1の時間を計測する第1の計測手段と、前記ブロックが前記ネットワークに出力されてから前記受信端末または合流地点の装置に到達するまでの第2の時間を計測する第2の計測手段とを備え、自装置が送信端末である場合に、前記第1の時間と前記第2の時間とを加算して前記到達時間を推定するものである。
また、本発明の通信装置の1構成例において、前記到達時間推定手段は、各コネクションの送信キュー長あるいは送信待ち時間と各コネクション上での通信プロトコルの実効スループットとに基づいて、前記ブロックが前記選択されたコネクションに振り分けられてから前記ネットワークに出力されるまでの第1の時間を計測する第1の計測手段と、前記ブロックが前記ネットワークに出力されてから前記選択されたコネクションの受信側の中継装置に到達するまでの第2の時間を計測する第2の計測手段と、前記ブロックが前記中継装置から前記受信端末または合流地点の装置に到達するまでの第3の時間を計測する第3の計測手段とを備え、自装置と前記受信端末または合流地点の装置との間に前記中継装置が存在する場合に、前記第1の時間と前記第2の時間と前記第3の時間とを加算して前記到達時間を推定するものである。
また、本発明の通信装置の1構成例は、さらに、自装置が中継装置として動作する場合に、前記到達時間推定手段が推定した到達時間を前記選択されたコネクションの送信側にある装置に通知する通知手段を備え、前記中継装置の通知手段がこの中継装置から前記受信端末または合流地点の装置に到達するまでの到達時間を前記選択されたコネクションの送信側の装置に通知し、この送信側の装置の前記第3の計測手段は、前記通知された到達時間を前記第3の時間とするものである。
また、本発明の通信装置の1構成例は、さらに、前記コネクションの選択の前に、受信端末のアドレス、受信端末が属するサブネット、送信端末のアドレス、送信端末が属するサブネット、アプリケーションの種類、送信するデータの種類あるいはアプリケーションが使用するポート番号に応じて、コネクションの設定先を決定するコネクション設定先決定手段と、このコネクション設定先決定手段の決定に応じてコネクションを開設するコネクション開設手段とを有するものである。
また、本発明の通信装置の1構成例において、前記コネクション設定先決定手段は、受信端末のアドレス、受信端末が属するサブネット、送信端末のアドレス、送信端末が属するサブネット、アプリケーションの種類、送信するデータの種類あるいはアプリケーションが使用するポート番号に対応する複数の候補の中から、各候補の優先度とそれぞれの候補への経路の通信品質によりコネクションの設定先を決定するものである。
また、本発明の通信装置の1構成例は、さらに、データの送信先に対応するコネクションの設定先を複数記憶する記憶手段と、前記コネクションの選択の前に、前記記憶手段に記憶された内容を用いて、データの送信先に対応するコネクションの設定先を決定し、前記記憶手段に記憶された内容からコネクションの設定先を特定できない場合には、データの送信先をコネクションの設定先として決定するコネクション設定先決定手段と、このコネクション設定先決定手段の決定に応じてコネクションを開設するコネクション開設手段とを有するものである。
また、本発明の通信装置の1構成例は、コネクション設定要求元と前記コネクション設定先との間に存在する装置である場合に、前記コネクション設定要求元の前記コネクション開設手段から送信されたコネクション設定要求パケットを前記コネクション設定先に代わって受信したとき、自装置のアドレスをコネクション設定先のアドレスとして前記コネクション設定要求元へ送信する手段を有するものである。
また、本発明の通信装置の1構成例は、コネクション設定要求元と前記コネクション設定先との間に存在する装置である場合に、前記コネクション設定要求元の前記コネクション開設手段から送信されたコネクション設定要求パケットを前記コネクション設定先に代わって受信したとき、自装置がコネクション設定要求元となって前記コネクション設定先に向けてコネクション設定要求パケットを送信する手段を有するものである。
また、本発明の通信装置の1構成例は、さらに、データの送信先に対応するコネクションの設定先を複数記憶する記憶手段と、前記コネクションの選択の前に、前記記憶手段に記憶された内容を用いて、データの送信先に対応する複数のコネクションの設定先を決定するコネクション設定先決定手段と、このコネクション設定先決定手段の決定に応じてコネクションを開設するコネクション開設手段とを有するものである。
また、本発明の通信装置の1構成例は、コネクション設定要求元とコネクションの設定先との間に存在する装置である場合に、データの送信先に対応するコネクションの設定先を複数記憶する記憶手段と、前記コネクション設定要求元から送信されたコネクション設定要求パケットを前記コネクション設定先に代わって受信したとき、前記記憶手段に記憶された内容に基づいて、前記コネクション設定要求パケットが示すコネクション設定先と同じ組に属する他の設定先へのコネクション設定を行う手段とを有するものである。
また、本発明の通信装置の1構成例は、さらに、経路毎に障害を検出する経路障害検出手段と、経路毎に通信品質を測定する通信品質測定手段とを有し、前記コネクション選択手段は、あるコネクションが利用する経路において障害が発生した場合、若しくはあるコネクションの通信性能が低下した場合に、このコネクションで送信待ち状態にあるブロックを他のコネクションを利用して送信するように選択するものである。
また、本発明の通信装置の1構成例において、前記経路障害検出手段は、いずれかのコネクションが一定回数以上再送タイムアウト状態に陥った場合に、このコネクションが利用する経路において障害が発生したと判定するものである。
また、本発明の通信装置の1構成例において、前記通信品質測定手段は、コネクションのパケット往復遅延時間、パケット往復遅延時間の変化率、通信プロトコルの実効スループット、パケットロス率、経路上のリンク帯域、経路上の空き帯域、あるいは経路上の使用可能帯域のいずれかがそれぞれの閾値と比較して劣っている場合に、コネクションの通信性能が低下したと判定するものである。
また、本発明の通信装置の1構成例において、前記通信品質測定手段は、全てのコネクションの平均的な通信品質を計測する平均的通信品質計測手段と、計測した平均的通信品質とそれぞれのコネクションの通信品質とを比較する比較手段とを有し、複数のコネクションの中に通信品質が前記平均的通信品質の一定割合を越えて劣っているコネクションが存在する場合に、このコネクションの通信性能が低下したと判定するものである。
また、本発明の通信装置の1構成例は、さらに、通信で使用中のコネクションの数が一定数以上となった場合に、最も通信品質の低いコネクションの使用を中止する中止手段を有するものである。
また、本発明の通信装置の1構成例は、通信開始からの継続時間に応じて使用するコネクション数を変化させるコネクション数変化手段を有するものである。
また、本発明の通信装置の1構成例において、前記コネクション選択手段は、パケット毎、予め定められたデータ量毎、もしくはアプリケーション層で一塊となるデータ量毎に、出力するコネクションを選択するものである。
到達時間推定手段とコネクション選択手段とネットワーク処理手段とを設けることによる本発明の第1の効果は、受信端末においてデータを整列させる時間を短縮することができ、高い通信速度が得られることである。特に、短いデータを送信する場合に遅い経路を利用してデータを送信してしまった場合には、受信端末でのデータ整列に要する時間が問題となり、大きな性能低下を引き起こすが、本発明による通信装置では、高い性能を得ることができる。本発明の第2の効果は、受信端末においてデータを整列させるために必要なバッファ量を削減することができ、コストを低減できることである。特に、多数のコネクションを扱う場合にコスト低減効果が高い。本発明の第3の効果は、送信端末から受信端末に至る各経路のそれぞれの到達時間を、より正確に計算することができ、第1の効果と第2の効果をさらに向上できることである。そして、本発明の第4の効果は、通信プロトコルの実効スループットを考慮することにより、送信端末から受信端末に至る各経路の到達時間をより正確に計算でき、第1の効果と第2の効果をさらに向上できることである。特に、一般的に広く用いられているTCPなどのオーバヘッドが大きいプロトコルでより効果的となる。
[第1の実施の形態]
以下、本発明の実施の形態について図面を参照して詳細に説明する。図1は、本発明の第1の実施の形態に係る通信装置の構成を示すブロック図である。本実施の形態において、通信装置1は、アプリケーション処理部1−1と、データ分割/復元処理部1−2と、ネットワーク処理部1−3と、到達時間計算部1−4とから構成される。データ分割/復元処理部1−2は、データ分割手段とコネクション選択手段とを構成し、到達時間計算部1−4は、到達時間推定手段とコネクション選択手段とを構成している。
アプリケーション処理部1−1は、任意のアプリケーションプログラムを処理し、データを送信する場合にはデータ分割/復元処理部1−2にデータを送り、データを受信する場合にはデータ分割/復元処理部1−2からデータを受け取る。
データ分割/復元処理部1−2は、データを送信する場合にはアプリケーション処理部1−1からデータを受け取り、受け取ったデータを任意の数のブロックに分割して、このブロックを元のデータに復元するための情報(以降、復元情報と呼ぶ)を分割した各ブロックの先頭に付加し、複数のTCPコネクションのうち受信端末へのデータの到達時間が最も短いTCPコネクションを到達時間計算部1−4に問い合わせ、到達時間計算部1−4が選択したTCPコネクションを利用してブロックを送信するようネットワーク処理部1−3に指示する。また、データ分割/復元処理部1−2は、データを受信する場合にはネットワーク処理部1−3から受け取った複数のTCPコネクションのデータについてデータの先頭に格納された復元情報を参照して、分割されたブロックを識別し、複数のブロックを合わせることにより分割前のデータを復元し、復元したデータをアプリケーション処理部1−1に送る。
ネットワーク処理部1−3は、コネクションの開設処理を行うと共に、データを送信する場合にはデータ分割/復元処理部1−2から受け取ったデータをデータ分割/復元処理部1−2から通知されたTCPコネクションを用いてネットワークへ出力し、データを受信する場合にはネットワークから受信したTCPコネクションのデータをデータ分割/復元処理部1−2へ送る。
到達時間計算部1−4は、ネットワーク処理部1−3が開設した各TCPコネクションについてそれぞれの送信キュー長(ブロックを蓄積する送信キューの長さ)とそれぞれの経路遅延とから受信端末へのデータの到達時間をブロック毎に算出し、複数のTCPコネクションの中から到達時間が最も短いTCPコネクションを選択してデータ分割/復元処理部1−2に通知する。
図2は、本実施の形態において送信端末2−1から受信端末2−2へのデータの流れを示す図である。送信端末2−1と受信端末2−2は、それぞれ図1に示した通信装置1から構成される。送信端末2−1から受信端末2−2へとデータを送る場合、送信端末2−1は、図3に示すように送信データ3−1を複数のブロックB−1〜B−4に分割し、復元情報を各ブロックB−1〜B−4の先頭に付加して、各ブロックB−1〜B−4を複数のTCPコネクションを利用して受信端末2−2へ送る。
それぞれのブロックサイズは、TCP層のセグメントサイズから復元情報のサイズを引いたサイズとする。図2、図3では、データ3−1を4つのブロックB−1〜B−4に分割し、2つのTCPコネクションCN−1,CN−2を利用し、TCPコネクションCN−1を用いてブロックB−1,B−3を送信し、TCPコネクションCN−2を用いてブロックB−2,B−4を送信する例を示している。
送信端末2−1からのブロックを受け取った受信端末2−2は、各ブロックの先頭に付加されている復元情報を参照して、分割されたブロックを識別し、各ブロックを順番に整列させることにより、複数のブロックから元のデータを復元する。図2では、受信端末2−2は、TCPコネクションCN−1,CN−2から受け取ったブロックB−1〜B−4を順番に整列させ、元のデータを復元する。
図4は、本実施の形態のデータ分割/復元処理部1−2においてブロックの先頭に復元情報を付加する例を示す図である。図4は分割した各ブロックを基にTCP/IPパケットを作成した様子を示し、4−1はIPヘッダ、4−2はTCPヘッダ、4−3はTCP/IPパケットのペイロードに搭載されたブロック、4−4はブロックの先頭に付加された復元情報である。復元情報4−4は、ブロックの順序を表すブロック番号4−5と、ブロック長4−6とからなる。送信端末2−1は、送信データを分割して複数のブロックを生成した後、各ブロックの先頭にそれぞれブロック番号4−5とブロック長4−6とからなる復元情報4−4を付加する。なお、本実施の形態では、復元情報4−4の格納位置をブロックの先頭としているが、ブロック中の任意の位置に復元情報4−4を格納するようにしてもよい。
次に、図5、図6を参照して本実施の形態における送信端末2−1、受信端末2−2における処理について説明する。図5は、送信端末2−1における複数の経路を使用した通信処理を示すフローチャートである。送信端末2−1のアプリケーション処理部1−1が任意の処理を実施して、受信端末2−2に送信すべきデータが発生すると、アプリケーション処理部1−1からデータ分割/復元処理部1−2にデータの送信を指示することにより、図5の処理が開始される。
送信端末2−1のデータ分割/復元処理部1−2は、アプリケーション処理部1−1から受け取ったデータを任意のサイズのブロックに分割して、各ブロックにブロック番号を割り当てる(図5ステップ5−1)。続いて、データ分割/復元処理部1−2は、ネットワーク処理部1−3が開設した複数のTCPコネクションのうち受信端末へのデータの到達時間が最も短いTCPコネクションを到達時間計算部1−4に問い合わせる(ステップ5−2)。
送信端末2−1の到達時間計算部1−4は、データ分割/復元処理部1−2からの問い合わせに応じて以下の式(1)に基づき、それぞれのTCPコネクションでデータを送信した場合の到達時間Tをブロック毎に計算し、複数のTCPコネクションの中から到達時間Tが最も短いTCPコネクションをブロック毎に選択してデータ分割/復元処理部1−2に通知する(ステップ5−3)。
Figure 0004394541
式(1)において、Qは送信端末2−1のデータ分割/復元処理部1−2の送信キュー(不図示)に溜まっているデータサイズ、ThrはTCPの実効スループット(TCPから隣接プロトコルへと出力されたスループットで、単位時間内に処理できるデータサイズ)、sRTTは平滑RTT(Round Trip Time :送信端末と受信端末間のパケット往復遅延)である。min[]は最小値を求めることを意味する。式(1)の右辺のうち、Q/Thrを求めることは、計測値Qと計測値Thrに基づいて、ブロックがTCPコネクションに振り分けられてからネットワークに出力されるまでの第1の時間を求めることを意味し、sRTT/2を求めることは、計測値sRTTに基づいて、ブロックがネットワークに出力されてから受信端末に到達するまでの第2の時間を求めることを意味する。
送信端末2−1のデータ分割/復元処理部1−2は、分割したブロックの先頭に復元情報を付加して、このブロックを到達時間が最も短いTCPコネクションに振り分ける(ステップ5−4)。すなわち、データ分割/復元処理部1−2は、復元情報を付加したブロックを到達時間計算部1−4から通知されたTCPコネクションを利用して送信するようネットワーク処理部1−3に指示する。
ネットワーク処理部1−3は、データ分割/復元処理部1−2から受け取ったブロックをデータ分割/復元処理部1−2から通知されたTCPコネクションを用いてネットワークへ出力する(ステップ5−5)。
到達時間計算部1−4、データ分割/復元処理部1−2およびネットワーク処理部1−3は、ステップ5−3〜5−5の処理をブロック毎に行う。ブロックをすべて送信し、アプリケーション処理部1−1の処理が終了したら、図5の処理を終了する。
なお、経路毎に障害を検出する経路障害検出手段と、経路毎に通信品質を測定する通信品質測定手段とをネットワーク処理部1−3に設け、データ分割/復元処理部1−2は、通信性能が著しく低下したTCPコネクション、若しくは障害が発生して通信不能となったTCPコネクションがあった場合に、該TCPコネクションで送信待ち状態になって送信キューに蓄積されているブロックを、他のTCPコネクションを利用して送信するように選択し直してもよい。
ネットワーク処理部1−3の通信品質測定手段は、TCPの実効スループットが予め定められたスループット閾値より低下した場合、sRTTが予め定められたsRTT閾値より増大した場合、パケットロス率が予め定められたパケットロス閾値より増大した場合、パケット往復遅延時間が予め定められた遅延閾値より増大した場合、パケット往復遅延時間の変化率が予め定められた変化率閾値より増大した場合、経路上のリンク帯域が予め定められた帯域閾値より減少した場合、経路上の空き帯域が予め定められた帯域閾値より減少した場合、あるいは経路上の使用可能帯域が予め定められた帯域閾値より減少した場合に、TCPコネクションの通信性能が低下したと判定する。
また、ネットワーク処理部1−3の通信品質測定手段は、全てのTCPコネクションの平均的な通信品質を計測する平均的通信品質計測手段と、計測した平均的通信品質とそれぞれのTCPコネクションの通信品質とを比較する比較手段とを有し、複数のTCPコネクションの中に通信品質が前記平均的通信品質の一定割合を越えて劣っているコネクションが存在する場合に、このTCPコネクションの通信性能が低下したと判定するようにしてもよい。
ネットワーク処理部1−3の経路障害検出手段は、いずれかのTCPコネクションで再送タイムアウト状態(データを再送してから所定時間が経過するまでに送信先の装置からの受信応答がない状態)が一定回数以上連続して生じた場合には、コネクションが利用する経路において障害が発生したと判定する。
図6は、受信端末2−2における通信処理を示すフローチャートである。送信端末2−1から送信されたブロックを受信端末2−2がネットワークから受信することにより、図6の処理が開始される。受信端末2−2のネットワーク処理部1−3は、ネットワークから受信したブロックをデータ分割/復元処理部1−2に渡し、データ分割/復元処理部1−2は、ブロックの先頭に付加されている復元情報を参照して、このブロックのブロック番号を認識し、ブロック番号に基づいて各ブロックを順番に整列させることにより、複数のブロックから元のデータを復元する(図6ステップ6−1)。
続いて、データ分割/復元処理部1−2は、復元したデータをアプリケーション処理部1−1に渡し、アプリケーション処理部1−1は、任意の処理を実行する。すべてのブロックがアプリケーション処理部1−1に渡され、アプリケーション処理部1−1の任意の処理が終了したら、図6の処理を終了する。
以上が、本発明の第1の実施の形態における通信装置の処理の内容である。従来の技術においては、送信端末で複数の経路に振り分けたデータを受信側で復元する際に、データの順序を整列させるために要する時間が大きく、結果として受信端末が得られる通信速度が低下してしまう問題があった。これに対して、本実施の形態による通信方法では、送信端末から受信端末への到達時間をより正確に算出することができ、これにより送信端末が送信したデータの順番通りに受信側へデータが到着するため、受信端末においてデータの整列に要する時間を短縮することができ、スループットの低下が少なくなる。
また、受信端末でデータの順序を整列させるために必要なバッファが少なくて済むため、通信装置のコストを低減することができる。さらに、本実施の形態では、送信端末の送信キュー長を到達時間の算出に加えた上に、TCPの実効スループットに基づいて、送信キューからデータが送出される時刻を計算することにより、より正確に到達時間を計算することが可能となる。
[第2の実施の形態]
次に、本発明の第2の実施の形態について説明する。図7は、本発明の第2の実施の形態に係る通信装置の構成を示すブロック図である。本実施の形態において、通信装置7は、アプリケーション処理部7−1と、データ分割/復元処理部7−2と、ネットワーク処理部7−3と、到達時間計算部7−4と、到達時間通知部7−5とから構成される。データ分割/復元処理部7−2は、データ分割手段とコネクション選択手段とを構成し、到達時間計算部7−4は、到達時間推定手段とコネクション選択手段とを構成し、到達時間通知部7−5は、通知手段を構成している。
アプリケーション処理部7−1は、任意のアプリケーションプログラムを処理し、データを送信する場合にはデータ分割/復元処理部7−2にデータを送り、データを受信する場合にはデータ分割/復元処理部7−2からデータを受け取る。
データ分割/復元処理部7−2は、データを送信する場合にはアプリケーション処理部7−1からデータを受け取り、受け取ったデータを任意の数のブロックに分割して、各ブロックの先頭に復元情報を付加し、複数のTCPコネクションのうち送信先の装置へのデータの到達時間が最も短いTCPコネクションを到達時間計算部7−4に問い合わせ、到達時間計算部7−4が選択したTCPコネクションを利用してブロックを送信するようネットワーク処理部7−3に指示する。また、データ分割/復元処理部7−2は、データを受信する場合にはネットワーク処理部7−3から受け取った複数のTCPコネクションのデータについてデータの先頭に格納された復元情報を参照して、分割されたブロックを識別し、複数のブロックを合わせることにより分割前のデータを復元し、復元したデータをアプリケーション処理部7−1に送る。
ネットワーク処理部7−3は、コネクションの開設処理を行うと共に、データを送信する場合にはデータ分割/復元処理部7−2から受け取ったデータをデータ分割/復元処理部7−2から通知されたTCPコネクションを用いてネットワークへ出力し、データを受信する場合にはネットワークから受信したTCPコネクションのデータをデータ分割/復元処理部7−2へ送る。
到達時間計算部7−4は、ネットワーク上の送信端末から受信端末までの複数の通信装置のうち自装置の後段に位置する通信装置から通知された、後段の通信装置から受信端末までのデータの到達時間と、ネットワーク処理部7−3が開設した各TCPコネクションのそれぞれの送信キュー長とそれぞれの経路遅延とに基づき、自装置から受信端末までのデータの到達時間を各TCPコネクションについてブロック毎に算出し、複数のTCPコネクションの中から到達時間が最も短いTCPコネクションを選択して、選択したTCPコネクションを利用した場合の到達時間を到達時間通知部7−5に通知すると共に、選択したTCPコネクションをデータ分割/復元処理部7−2に通知する。
到達時間通知部7−5は、到達時間計算部7−4から通知された到達時間を、ネットワーク上の送信端末から受信端末までの複数の通信装置のうち自装置の前段に位置する通信装置に通知する。
次に、複数のTCPコネクションのうちいずれのTCPコネクションを利用するかを決定する例を示す。送信端末から受信端末へとデータを送信する際、送信端末から受信端末までの経路上にある各通信装置の到達時間計算部7−4は、自装置と後段の通信装置との間に開設されたTCPコネクションでデータを送信した場合の自装置から受信端末までのデータの到達時間T(i)を各TCPコネクションについてブロック毎に算出し、この到達時間T(i)が最も短い、つまり最も速く受信端末に到達できると判定されたTCPコネクションを利用してデータを送信すると決定する。
Figure 0004394541
式(2)において、Qは自装置のデータ分割/復元処理部7−2の送信キュー(不図示)に溜まっているデータサイズ、ThrはTCPの実効スループット(TCPから隣接プロトコルへと出力されたスループットで、単位時間内に処理できるデータサイズ)、sRTTは平滑RTT(自装置と後段の通信装置間のパケット往復遅延)、T(i−1)は後段の通信装置から通知された、後段の通信装置から受信端末までのデータの到達時間である。式(2)の右辺のうち、Q/Thrを求めることは、計測値Qと計測値Thrに基づいて、ブロックがTCPコネクションに振り分けられてからネットワークに出力されるまでの第1の時間を求めることを意味し、sRTT/2を求めることは、計測値sRTTに基づいて、ブロックがネットワークに出力されてから後段の通信装置に到達するまでの第2の時間を求めることを意味する。また、到達時間計算部7−4は、後段の通信装置から通知された到達時間T(i−1)を第3の時間とする。
図8は、本実施の形態において送信端末21−1から受信端末21−2へのデータの流れを示す図である。送信端末21−1、受信端末21−2およびプロキシサーバ(中継装置)21−3,21−4は、それぞれ図7に示した通信装置7から構成される。本実施の形態では、図8に示すように、プロキシサーバ21−3とプロキシサーバ21−4を介した送信端末21−1と受信端末21−2の通信を説明する。プロキシサーバ21−3、プロキシサーバ21−4でのアプリケーション処理部7−1では、送信端末21−1と受信端末21−2の通信を実現するためのプロキシサーバが動作しており、送信端末21−1が送出したデータは、TCPコネクションCN−0〜CN−4を経由して受信端末21−2へと送られる。各通信装置での処理は第1の実施の形態と同様であるが、異なる点について以下に説明する。
まず、受信端末21−2の到達時間計算部7−4で計算される到達時間は0であるから、受信端末21−2の到達時間通知部7−5は、前段の通信装置であるプロキシサーバ21−4と送信端末21−1に到達時間T(0)=0を通知する。
続いて、プロキシサーバ21−4の到達時間計算部7−4は、後段の受信端末21−2から通知された到達時間T(0)=0と、自装置と受信端末21−2との間に開設されたTCPコネクションCN−4の送信キュー長QとTCPの実効スループットThrと、自装置と受信端末21−2間のsRTTに基づき、自装置から受信端末までのデータの到達時間T(1)をTCPコネクションCN−4について計算する。このときの計算は式(2)より次式のようになる。
Figure 0004394541
プロキシサーバ21−4の到達時間通知部7−5は、到達時間計算部7−4で計算された到達時間T(1)を前段の通信装置であるプロキシサーバ21−3に通知する。また、このときのTCPコネクションはCN−4のみであるから、プロキシサーバ21−4の到達時間計算部7−4は、選択したコネクションとしてTCPコネクションCN−4を自装置のデータ分割/復元処理部7−2に通知する。
次に、プロキシサーバ21−3の到達時間計算部7−4は、後段のプロキシサーバ21−4から通知された到達時間T(1)と、自装置とプロキシサーバ21−4との間に開設されたTCPコネクションCN−2,CN−3のそれぞれ送信キュー長QとTCPの実効スループットThrと、自装置とプロキシサーバ21−4間のsRTTに基づき、自装置から受信端末までのデータの到達時間をTCPコネクションCN−2,CN−3のそれぞれについて計算する。TCPコネクションCN−2についての到達時間をTconn2(2) 、TCPコネクションCN−3についての到達時間をTconn3(2) としたとき、Tconn2(2)とTconn3(2)のうち小さい方を到達時間T(2)として、プロキシサーバ21−3の到達時間通知部7−5から送信端末21−1に通知する。また、プロキシサーバ21−3の到達時間計算部7−4は、到達時間が短い方のTCPコネクションを選択して自装置のデータ分割/復元処理部7−2に通知する。
最後に、送信端末21−1の到達時間計算部7−4は、受信端末21−2から通知された到達時間T(0)=0と、自装置と受信端末21−2との間に開設されたTCPコネクションCN−0の送信キュー長QとTCPの実効スループットThrと、自装置と受信端末21−2間のsRTTに基づき、自装置から受信端末までのデータの到達時間をTCPコネクションCN−0について計算すると共に、プロキシサーバ21−3から通知された到達時間T(2)と、自装置とプロキシサーバ21−3との間に開設されたTCPコネクションCN−1の送信キュー長QとTCPの実効スループットThrと、自装置とプロキシサーバ21−3間のsRTTに基づき、自装置から受信端末までのデータの到達時間をTCPコネクションCN−1について計算する。そして、送信端末21−1の到達時間計算部7−4は、到達時間が短い方のTCPコネクションを選択して自装置のデータ分割/復元処理部7−2に通知する。
送信端末21−1とプロキシサーバ21−3,21−4のデータ分割/復元処理部7−2は、それぞれ自装置の到達時間計算部7−4から通知されたTCPコネクションを利用してデータを送信するよう自装置のネットワーク処理部1−3に指示する。
以上の手順により、送信端末21−1とプロキシサーバ21−3,21−4では、それぞれ到達時間が最も短いTCPコネクションを選択してデータを転送することができる。
以上のように、本実施の形態による通信方法では、通信に関係するそれぞれの端末とプロキシサーバ間で、後段の経路遅延を前段にフィードバックさせることにより、それぞれ最も速くデータを送信できるようになる。
なお、送信データは送信端末21−1でブロックに分割されているため、プロキシサーバ21−3,21−4のデータ分割/復元処理部7−2ではデータの分割/復元処理は実施しないことは言うまでもない。
[第3の実施の形態]
次に、本発明の第3の実施の形態について説明する。図9は、本発明の第3の実施の形態に係る通信装置の構成を示すブロック図である。本実施の形態の通信装置8は、第2の実施の形態と同様のアプリケーション処理部8−1、データ分割/復元処理部8−2、ネットワーク処理部8−3、到達時間計算部8−4および到達時間通知部8−5に加えて、受信端末のアドレス毎にコネクションの設定先のアドレスと優先度とを記憶するコネクション設定先テーブル8−6と、コネクション設定先毎にそれぞれのコネクション設定先への経路の品質を記憶する経路品質テーブル8−7と、コネクション設定先テーブル8−6及び経路品質テーブル8−7を用いてコネクションの設定先を決定するコネクション設定先決定部8−8とを有する。
データ分割/復元処理部8−2は、データ分割手段とコネクション選択手段とを構成し、到達時間計算部8−4は、到達時間推定手段とコネクション選択手段とを構成し、到達時間通知部8−5は、通知手段を構成し、コネクション設定先決定部8−8は、コネクション設定先決定手段を構成し、ネットワーク処理部8−3は、コネクション開設手段を構成している。
第2の実施の形態においては、各通信装置間の経路は一意に定められていたため、各通信装置のネットワーク処理部にはそれぞれの宛先が予め設定されていた。一方、本実施の形態では、前記経路が受信端末毎に異なるため、各通信装置8のネットワーク処理部8−3に設定されるコネクションの設定先は送信端末と受信端末間の通信開始時に設定される。送信開始後の動作は第2の実施の形態と同様であるため、以下では送信開始時のコネクションの宛先設定処理について説明する。
まず、送信端末を構成する通信装置8のアプリケーション処理部8−1が新たな通信の開始をデータ分割/復元処理部8−2に指示すると、送信端末のデータ分割/復元処理部8−2は、コネクション設定先決定部8−8に対して受信端末のアドレスを通知して、コネクションの設定先を問い合わせる。
コネクション設定先決定部8−8は、データ分割/復元処理部8−2からの問い合わせに応じてコネクション設定先テーブル(記憶手段)8−6を参照し、通知された受信端末のアドレスに対応するコネクションの設定先のアドレスと優先度を1組または複数組取得する。図10に、コネクション設定先テーブル8−6の構成の1例を示す。
なお、本実施の形態では、受信端末のアドレス毎にコネクションの設定先のアドレスと優先度とをコネクション設定先テーブル8−6に登録しているが、これに限るものではなく、受信端末が属するサブネット、送信端末のアドレス、送信端末が属するサブネット、アプリケーションの種類、送信するデータの種類あるいはアプリケーションが使用するポート番号に対応して、コネクションの設定先のアドレスと優先度とをコネクション設定先テーブル8−6に登録するようにしてもよい。このようなコネクション設定先テーブル8−6の設定によれば、例えば、送信端末毎に異なるコネクションを用いて負荷分散を行ったり、異なる品質を要求するアプリケーションに対して異なるコネクションを用いるように通信を振り分けたりすることが可能となる。
また、コネクション設定先決定部8−8は、コネクション設定先テーブル8−6からコネクションの設定先のアドレスと優先度とを複数組取得する場合、これらをコネクション設定先の候補とし、取得した複数の候補のアドレスに基づいて経路品質テーブル8−7を参照し、それぞれの候補への経路の通信品質を取得する。図11に、経路品質テーブル8−7の構成の1例を示す。
そして、コネクション設定先決定部8−8は、複数の候補の優先度と経路品質情報を元に、複数の候補の中からコネクションの設定先を決定し、データ分割/復元処理部8−2に通知する。この通知に基づいて、データ分割/復元処理部8−2は、ネットワーク処理部8−3に対してコネクションの新規開設の要求を行う。ネットワーク処理部8−3は、コネクションの設定先に対してコネクション開設要求のパケットを送信し、コネクションを開設する。コネクションが開設されると、送信端末は通信を開始する。
本実施の形態においては、送信端末は、例えば以下のように動的にコネクションの開設を行うことができる。まず、送信端末は、コネクション設定先テーブル8−6内に記述されているコネクション設定先のうち、優先度の最も高い1つのコネクション設定先、あるいは複数のコネクション設定先に対してそれぞれコネクションを設定し、これらのコネクションを用いて通信を行う。この際、経路品質が予め定められた品質の閾値よりも高いコネクション設定先のみ選択して1つあるいは複数のコネクションを設定してもよく、また経路品質が最も高いコネクション設定先のみを1つ選択してコネクションを設定してもよい。
次に、送信開始後、通信が一定時間経過した後、さらにコネクションを追加して、より多くのコネクションを同時に用いて通信を行ってもよい。この場合、コネクション設定先決定部8−8は、選択済みのコネクション設定先の次に優先度が高い1つあるいは複数のコネクション設定先を選択して、これらのコネクション設定先との間にコネクションを開設させ、これらのコネクションも用いて通信を行う。この際、経路品質が予め定められた品質の閾値よりも高いコネクション設定先のみ選択して1つあるいは複数のコネクションを追加設定してもよく、また経路品質が最も高いコネクション設定先のみを1つ選択してコネクションを追加設定してもよい。
さらに、コネクション設定先決定部8−8は、通信が一定時間以上継続するごとに、より低い優先度のコネクション設定先を用いて通信を行ってもよい。また、コネクション設定先決定部8−8は、通信中、特定のコネクションの経路品質が低下した場合、もしくは使用中のコネクションの数が一定数以上となった場合に、最も経路品質の低いコネクションを切断し、残りのコネクションで通信を継続するようにしてもよい。
各コネクションを用いて通信を行っている最中には、それぞれのコネクションの通信品質をネットワーク処理部8−3の通信品質測定手段で計測して、経路品質テーブル8−6を適宜最新の状態に更新する。経路品質テーブル8−6は、複数の通信でおなじ経路品質情報を共有することが可能であり、新しい通信が開始される際、もしくは既存の通信が新しいコネクションを追加設定する際、あらかじめコネクション設定先決定部8−8が経路品質テーブル8−6を参照することにより、通信開始前でも該経路の品質を確認することができる。
各コネクションの通信品質は、第1の実施の形態で説明したように、コネクションの往復伝播遅延時間、パケット往復遅延時間(RTT)、パケット往復遅延時間の変化率、TCPの実効スループット、パケットロス率、経路上のリンク帯域、経路上の空き帯域あるいは経路上の使用可能帯域によって決定される。また、これらの組み合わせによって通信品質を測定してもよい。また、到達時間通知部8−5によって後段の経路の状態を前段の通信装置に通知することにより、コネクション設定先までの通信品質ではなく、受信端末までの経路の総合的な通信品質を用いることができる。
[第4の実施の形態]
次に、本発明の第4の実施の形態について説明する。図12は、本発明の第4の実施の形態に係る通信装置の構成を示すブロック図である。本実施の形態の通信装置9は、第2の実施の形態と同様のアプリケーション処理部9−1、データ分割/復元処理部9−2、ネットワーク処理部9−3、到達時間計算部9−4および到達時間通知部9−5に加えて、受信端末のアドレス毎もしくは中継に用いるプロキシサーバのアドレス毎にコネクションの設定先のアドレスと優先度とを記憶するコネクション経由先テーブル9−6と、コネクション設定先毎にそれぞれのコネクション設定先への経路の品質を記憶する経路品質テーブル9−7と、コネクション経由先テーブル9−6及び経路品質テーブル9−7を用いてコネクションの設定先を決定するコネクション設定先決定部9−8とを有する。
データ分割/復元処理部9−2は、データ分割手段とコネクション選択手段とを構成し、到達時間計算部9−4は、到達時間推定手段とコネクション選択手段とを構成し、到達時間通知部9−5は、通知手段を構成し、コネクション設定先決定部9−8は、コネクション設定先決定手段を構成し、ネットワーク処理部9−3は、コネクション開設手段を構成している。
本実施の形態においても、第3の実施の形態と同様に各通信装置間の経路が受信端末毎に異なるため、各通信装置9のネットワーク処理部9−3に設定されるコネクションの設定先は送信端末と受信端末間の通信開始時に設定される。ただし、第3の実施の形態と異なり、本実施の形態においては、全ての受信端末ではなく、送信端末からプロキシサーバを経由せずに直接通信できる受信端末に対してのみ、コネクション設定先が設定される。また、本実施の形態では、送信端末から他のプロキシを経由せずに直接通信できるプロキシサーバに対して、コネクション設定先が設定される。そのため、本実施の形態では、大量の受信端末のアドレスを管理しなくてもよいという利点がある。送信開始後の動作は第2の実施の形態と同様であるため、以下では送信開始時のコネクションの宛先設定処理について説明する。
まず、送信端末を構成する通信装置9のアプリケーション処理部9−1が新たな通信の開始をデータ分割/復元処理部9−2に指示すると、送信端末のデータ分割/復元処理部9−2は、プロキシサーバを経由せずに直接通信できる受信端末のアドレスまたは直接通信できるプロキシサーバのアドレスをコネクション設定先決定部9−8に通知して、コネクションの設定先を問い合わせる。
コネクション設定先決定部9−8は、データ分割/復元処理部9−2からの問い合わせに応じてコネクション経由先テーブル(記憶手段)9−6を参照し、通知された受信端末のアドレスまたはプロキシサーバのアドレスに対応するコネクションの設定先のアドレスと優先度を1組または複数組取得する。図13に、コネクション経由先テーブル9−6の構成の1例を示す。
コネクションの設定先がコネクション経由先テーブル9−6に登録されている場合には、以降のコネクション設定先決定部9−8や経路品質テーブル9−7、データ分割/復元処理部9−2およびネットワーク処理部9−3の動作は第3の実施の形態と同様であり、コネクション開設処理を行った後に、通信を開始する。
一方、コネクション設定先がコネクション経由先テーブル9−6に登録されていない場合、コネクション設定先決定部9−8は、とりあえず受信端末をコネクション設定先としてデータ分割/復元処理部9−2に通知し、データ分割/復元処理部9−2は、コネクション設定先決定部9−8からの通知に基づいてネットワーク処理部9−3に対してコネクションの新規開設の要求を行う。
したがって、ネットワーク処理部9−3は、受信端末に向けてコネクション開設要求のパケットを送信することになる。この場合、送信端末と受信端末の間に必ずプロキシサーバが存在しているはずであり、このプロキシサーバのネットワーク処理部がコネクション開設要求のパケットを受信端末に代わって受信する。そして、このプロキシサーバのネットワーク処理部は、コネクション開設要求に対する応答パケットを受信端末に代わって送信端末に送信するが、この際、応答パケットの中に自装置のアドレスを記述しておく。
送信端末のネットワーク処理部9−3は、プロキシサーバからの応答パケットを受信すると、設定中のコネクションの宛先を受信端末ではなく、応答パケット内に記述されているプロキシサーバに変更してコネクション開設処理を完了する。
また、送信端末のコネクション設定先決定部9−8は、通知されたプロキシサーバのアドレスを用いてコネクション経由先テーブル9−6を検索し、コネクション経由先テーブル9−6にプロキシサーバのアドレスに対応するコネクション設定先が登録されている場合には、通知されたプロキシに対して、第3の実施の形態と同様の処理によって、複数のコネクションを設定して通信することが可能である。
以上のように、本実施の形態では、送信端末と受信端末との間にプロキシサーバが存在する場合、送信端末とプロキシサーバ間に1または複数のコネクションが設定できる。そして、このプロキシサーバは、送信端末と同様の処理を行って受信端末、あるいは受信端末との間に存在する別のプロキシサーバと1または複数のコネクションを設定する。このような動作を受信端末に到達するまで繰り返すことで、送信端末と受信端末間にプロキシサーバを経由した複数のコネクションを設定することができ、これらのコネクションを用いた通信を開始することができる。
なお、第1の実施の形態〜第4の実施の形態において、データ分割/復元処理部1−2,7−2,8−2,9−2は、パケット毎、予め定められたデータ量毎、もしくは上位層(アプリケーション層)で一塊となるデータ量毎に、出力するコネクションを選択するようにしてもよい。
また、第1の実施の形態〜第4の実施の形態において、各通信装置1,7,8,9は、例えばCPU、記憶装置およびインタフェースを備えたコンピュータとこれらのハードウェア資源を制御するプログラムによって実現することができる。このようなコンピュータにおいて、本発明のデータ通信方法を実現させるためのデータ通信プログラムは、フレキシブルディスク、CD−ROM、DVD−ROM、メモリカードなどの記録媒体に記録された状態で提供される。CPUは、読み込んだプログラムを記憶装置に書き込み、第1の実施の形態〜第4の実施の形態で説明した処理を実行する。
本発明は、複数のコネクションにデータを分散させて通信を行う通信装置に適用することができる。
本発明の第1の実施の形態に係る通信装置の構成例を示すブロック図である。 本発明の第1の実施の形態における送信端末と受信端末の間のデータの流れを示す図である。 本発明の第1の実施の形態におけるデータの分割方法と分割されたブロックを示す図である。 本発明の第1の実施の形態におけるデータの復元情報を示す図である。 本発明の第1の実施の形態における送信端末の処理を示すフローチャートである。 本発明の第1の実施の形態における受信端末の処理を示すフローチャートである。 本発明の第2の実施の形態に係る通信装置の構成例を示すブロック図である。 本発明の第2の実施の形態における送信端末と受信端末の間のデータの流れを示す図である。 本発明の第3の実施の形態に係る通信装置の構成例を示すブロック図である。 本発明の第3の実施の形態におけるコネクション設定先テーブルの構成を1例を示す図である。 本発明の第3の実施の形態における経路品質テーブルの構成の1例を示す図である。 本発明の第4の実施の形態に係る通信装置の構成例を示すブロック図である。 本発明の第4の実施の形態におけるコネクション経由先テーブルの構成の1例を示す図である。
符号の説明
1、7…通信装置、1−1、7−1、8−1、9−1…アプリケーション処理部、1−2、7−2、8−2、9−2…データ分割/復元処理部、1−3、7−3、8−3、9−3…ネットワーク処理部、1−4、7−4、8−4、9−4…到達時間計算部、7−5、8−5、9−5…到達時間通知部、8−6…コネクション設定先テーブル、8−7、9−7…経路品質テーブル、8−8、9−8…コネクション設定先決定部、9−6…コネクション経由先テーブル、2−1、21−2…送信端末、2−2、21−2…受信端末、21−3、21−4…プロキシサーバ。

Claims (37)

  1. ネットワークを介して他の装置と接続され、複数のコネクションにデータを分散させて通信を行う通信装置において、
    自装置が送信端末又は中継装置として動作する場合に、各コネクションの送信キュー長あるいは送信待ち時間と各コネクション上での通信プロトコルの実効スループットと経路遅延とに基づいて、送信データの分割によって生成されたブロックが自装置から最終的な受信端末またはデータの合流地点の装置に到達するまでの到達時間を複数のコネクションの各々についてブロック毎に推定する到達時間推定手段と、
    自装置が送信端末又は中継装置として動作する場合に、前記推定の結果に基づいて前記複数のコネクションの中から前記到達時間が最も短いコネクションをブロック毎に選択するコネクション選択手段と、
    自装置が送信端末又は中継装置として動作する場合に、前記選択されたコネクションを用いて各ブロックをネットワークに出力するネットワーク処理手段とを有することを特徴とする通信装置。
  2. 請求項1記載の通信装置において、
    前記到達時間推定手段は、
    各コネクションの送信キュー長あるいは送信待ち時間と各コネクション上での通信プロトコルの実効スループットとに基づいて、前記ブロックが前記選択されたコネクションに振り分けられてから前記ネットワークに出力されるまでの第1の時間を計測する第1の計測手段と、
    前記ブロックが前記ネットワークに出力されてから前記受信端末または合流地点の装置に到達するまでの第2の時間を計測する第2の計測手段とを備え、
    自装置が送信端末である場合に、前記第1の時間と前記第2の時間とを加算して前記到達時間を推定することを特徴とする通信装置。
  3. 請求項1記載の通信装置において、
    前記到達時間推定手段は、
    各コネクションの送信キュー長あるいは送信待ち時間と各コネクション上での通信プロトコルの実効スループットとに基づいて、前記ブロックが前記選択されたコネクションに振り分けられてから前記ネットワークに出力されるまでの第1の時間を計測する第1の計測手段と、
    前記ブロックが前記ネットワークに出力されてから前記選択されたコネクションの受信側の中継装置に到達するまでの第2の時間を計測する第2の計測手段と、
    前記ブロックが前記中継装置から前記受信端末または合流地点の装置に到達するまでの第3の時間を計測する第3の計測手段とを備え、
    自装置と前記受信端末または合流地点の装置との間に前記中継装置が存在する場合に、前記第1の時間と前記第2の時間と前記第3の時間とを加算して前記到達時間を推定することを特徴とする通信装置。
  4. 請求項3記載の通信装置において、
    さらに、自装置が中継装置として動作する場合に、前記到達時間推定手段が推定した到達時間を前記選択されたコネクションの送信側にある装置に通知する通知手段を備え、
    前記中継装置の通知手段がこの中継装置から前記受信端末または合流地点の装置に到達するまでの到達時間を前記選択されたコネクションの送信側の装置に通知し、
    この送信側の装置の前記第3の計測手段は、前記通知された到達時間を前記第3の時間とすることを特徴とする通信装置。
  5. 請求項1乃至4のいずれか1項に記載の通信装置において、
    さらに、前記コネクションの選択の前に、受信端末のアドレス、受信端末が属するサブネット、送信端末のアドレス、送信端末が属するサブネット、アプリケーションの種類、送信するデータの種類あるいはアプリケーションが使用するポート番号に応じて、コネクションの設定先を決定するコネクション設定先決定手段と、
    このコネクション設定先決定手段の決定に応じてコネクションを開設するコネクション開設手段とを有することを特徴とする通信装置。
  6. 請求項5記載の通信装置において、
    前記コネクション設定先決定手段は、受信端末のアドレス、受信端末が属するサブネット、送信端末のアドレス、送信端末が属するサブネット、アプリケーションの種類、送信するデータの種類あるいはアプリケーションが使用するポート番号に対応する複数の候補の中から、各候補の優先度とそれぞれの候補への経路の通信品質によりコネクションの設定先を決定することを特徴とする通信装置。
  7. 請求項1乃至4のいずれか1項に記載の通信装置において、
    さらに、データの送信先に対応するコネクションの設定先を複数記憶する記憶手段と、
    前記コネクションの選択の前に、前記記憶手段に記憶された内容を用いて、データの送信先に対応するコネクションの設定先を決定し、前記記憶手段に記憶された内容からコネクションの設定先を特定できない場合には、データの送信先をコネクションの設定先として決定するコネクション設定先決定手段と、
    このコネクション設定先決定手段の決定に応じてコネクションを開設するコネクション開設手段とを有することを特徴とする通信装置。
  8. 請求項7記載の通信装置において、
    コネクション設定要求元と前記コネクション設定先との間に存在する装置である場合に、前記コネクション設定要求元の前記コネクション開設手段から送信されたコネクション設定要求パケットを前記コネクション設定先に代わって受信したとき、自装置のアドレスをコネクション設定先のアドレスとして前記コネクション設定要求元へ送信する手段を有することを特徴とする通信装置。
  9. 請求項7記載の通信装置において、
    コネクション設定要求元と前記コネクション設定先との間に存在する装置である場合に、前記コネクション設定要求元の前記コネクション開設手段から送信されたコネクション設定要求パケットを前記コネクション設定先に代わって受信したとき、自装置がコネクション設定要求元となって前記コネクション設定先に向けてコネクション設定要求パケットを送信する手段を有することを特徴とする通信装置。
  10. 請求項1乃至4のいずれか1項に記載の通信装置において、
    さらに、データの送信先に対応するコネクションの設定先を複数記憶する記憶手段と、
    前記コネクションの選択の前に、前記記憶手段に記憶された内容を用いて、データの送信先に対応する複数のコネクションの設定先を決定するコネクション設定先決定手段と、
    このコネクション設定先決定手段の決定に応じてコネクションを開設するコネクション開設手段とを有することを特徴とする通信装置。
  11. 請求項1乃至4のいずれか1項に記載の通信装置において、
    コネクション設定要求元とコネクションの設定先との間に存在する装置である場合に、データの送信先に対応するコネクションの設定先を複数記憶する記憶手段と、
    前記コネクション設定要求元から送信されたコネクション設定要求パケットを前記コネクション設定先に代わって受信したとき、前記記憶手段に記憶された内容に基づいて、前記コネクション設定要求パケットが示すコネクション設定先と同じ組に属する他の設定先へのコネクション設定を行う手段とを有することを特徴とする通信装置。
  12. 請求項記載の通信装置において、
    さらに、経路毎に障害を検出する経路障害検出手段と、
    経路毎に通信品質を測定する通信品質測定手段とを有し、
    前記コネクション選択手段は、あるコネクションが利用する経路において障害が発生した場合、若しくはあるコネクションの通信性能が低下した場合に、このコネクションで送信待ち状態にあるブロックを他のコネクションを利用して送信するように選択することを特徴とする通信装置。
  13. 請求項12記載の通信装置において、
    前記経路障害検出手段は、いずれかのコネクションが一定回数以上再送タイムアウト状態に陥った場合に、このコネクションが利用する経路において障害が発生したと判定することを特徴とする通信装置。
  14. 請求項12記載の通信装置において、
    前記通信品質測定手段は、コネクションのパケット往復遅延時間、パケット往復遅延時間の変化率、通信プロトコルの実効スループット、パケットロス率、経路上のリンク帯域、経路上の空き帯域、あるいは経路上の使用可能帯域のいずれかがそれぞれの閾値と比較して劣っている場合に、コネクションの通信性能が低下したと判定することを特徴とする通信装置。
  15. 請求項12記載の通信装置において、
    前記通信品質測定手段は、全てのコネクションの平均的な通信品質を計測する平均的通信品質計測手段と、計測した平均的通信品質とそれぞれのコネクションの通信品質とを比較する比較手段とを有し、複数のコネクションの中に通信品質が前記平均的通信品質の一定割合を越えて劣っているコネクションが存在する場合に、このコネクションの通信性能が低下したと判定することを特徴とする通信装置。
  16. 請求項記載の通信装置において、
    さらに、通信で使用中のコネクションの数が一定数以上となった場合に、最も通信品質の低いコネクションの使用を中止する中止手段を有することを特徴とする通信装置。
  17. 請求項1記載の通信装置において、
    通信開始からの継続時間に応じて使用するコネクション数を変化させるコネクション数変化手段を有することを特徴とする通信装置。
  18. 請求項1記載の通信装置において、
    前記コネクション選択手段は、パケット毎、予め定められたデータ量毎、もしくはアプリケーション層で一塊となるデータ量毎に、出力するコネクションを選択することを特徴とする通信装置。
  19. ネットワークを介して他の装置と接続された通信装置において、複数のコネクションにデータを分散させて通信を行うデータ通信方法であって、
    自装置が送信端末又は中継装置として動作する場合に、各コネクションの送信キュー長あるいは送信待ち時間と各コネクション上での通信プロトコルの実効スループットと経路遅延とに基づいて、送信データの分割によって生成されたブロックが自装置から最終的な受信端末またはデータの合流地点の装置に到達するまでの到達時間を複数のコネクションの各々についてブロック毎に推定する到達時間推定手順と、
    自装置が送信端末又は中継装置として動作する場合に、前記推定の結果に基づいて前記複数のコネクションの中から前記到達時間が最も短いコネクションをブロック毎に選択するコネクション選択手順と、
    自装置が送信端末又は中継装置として動作する場合に、前記選択されたコネクションを用いて各ブロックをネットワークに出力するネットワーク処理手順とを備えることを特徴とするデータ通信方法。
  20. 請求項19記載のデータ通信方法において、
    前記到達時間推定手順は、
    各コネクションの送信キュー長あるいは送信待ち時間と各コネクション上での通信プロトコルの実効スループットとに基づいて、前記ブロックが前記選択されたコネクションに振り分けられてから前記ネットワークに出力されるまでの第1の時間を計測する第1の計測手順と、
    前記ブロックが前記ネットワークに出力されてから前記受信端末または合流地点の装置に到達するまでの第2の時間を計測する第2の計測手順とを備え、
    自装置が送信端末である場合に、前記第1の時間と前記第2の時間とを加算して前記到達時間を推定することを特徴とするデータ通信方法。
  21. 請求項19記載のデータ通信方法において、
    前記到達時間推定手順は、
    各コネクションの送信キュー長あるいは送信待ち時間と各コネクション上での通信プロトコルの実効スループットとに基づいて、前記ブロックが前記選択されたコネクションに振り分けられてから前記ネットワークに出力されるまでの第1の時間を計測する第1の計測手順と、
    前記ブロックが前記ネットワークに出力されてから前記選択されたコネクションの受信側の中継装置に到達するまでの第2の時間を計測する第2の計測手順と、
    前記ブロックが前記中継装置から前記受信端末または合流地点の装置に到達するまでの第3の時間を計測する第3の計測手順とを備え、
    自装置と前記受信端末または合流地点の装置との間に前記中継装置が存在する場合に、前記第1の時間と前記第2の時間と前記第3の時間とを加算して前記到達時間を推定することを特徴とするデータ通信方法。
  22. 請求項21記載のデータ通信方法において、
    さらに、自装置が中継装置として動作する場合に、前記到達時間推定手順が推定した到達時間を前記選択されたコネクションの送信側にある装置に通知する通知手順を備え、
    前記中継装置で行われる通知手順がこの中継装置から前記受信端末または合流地点の装置に到達するまでの到達時間を前記選択されたコネクションの送信側の装置に通知し、
    この送信側の装置で行われる前記第3の計測手順は、前記通知された到達時間を前記第3の時間とすることを特徴とするデータ通信方法。
  23. 請求項19乃至22のいずれか1項に記載のデータ通信方法において、
    さらに、前記コネクションの選択の前に、受信端末のアドレス、受信端末が属するサブネット、送信端末のアドレス、送信端末が属するサブネット、アプリケーションの種類、送信するデータの種類あるいはアプリケーションが使用するポート番号に応じて、コネクションの設定先を決定するコネクション設定先決定手順と、
    このコネクション設定先決定手順の決定に応じてコネクションを開設するコネクション開設手順とを備えることを特徴とするデータ通信方法。
  24. 請求項23記載のデータ通信方法において、
    前記コネクション設定先決定手順は、受信端末のアドレス、受信端末が属するサブネット、送信端末のアドレス、送信端末が属するサブネット、アプリケーションの種類、送信するデータの種類あるいはアプリケーションが使用するポート番号に対応する複数の候補の中から、各候補の優先度とそれぞれの候補への経路の通信品質によりコネクションの設定先を決定することを特徴とするデータ通信方法。
  25. 請求項19乃至22のいずれか1項に記載のデータ通信方法において、
    さらに、前記コネクションの選択の前に、データの送信先に対応して予め登録されたコネクションの複数の設定先の情報を用いて、データの送信先に対応するコネクションの設定先を決定し、予め登録された内容からコネクションの設定先を特定できない場合には、データの送信先をコネクションの設定先として決定するコネクション設定先決定手順と、
    このコネクション設定先決定手順の決定に応じてコネクションを開設するコネクション開設手順とを備えることを特徴とするデータ通信方法。
  26. 請求項25記載のデータ通信方法において、
    コネクション設定要求元と前記コネクション設定先との間に存在する装置である場合に、前記コネクション設定要求元の前記コネクション開設手順から送信されたコネクション設定要求パケットを前記コネクション設定先に代わって受信したとき、自装置のアドレスをコネクション設定先のアドレスとして前記コネクション設定要求元へ送信する手順を備えることを特徴とするデータ通信方法。
  27. 請求項25記載のデータ通信方法において、
    コネクション設定要求元と前記コネクション設定先との間に存在する装置である場合に、前記コネクション設定要求元の前記コネクション開設手順から送信されたコネクション設定要求パケットを前記コネクション設定先に代わって受信したとき、自装置がコネクション設定要求元となって前記コネクション設定先に向けてコネクション設定要求パケットを送信する手順を備えることを特徴とするデータ通信方法。
  28. 請求項19乃至22のいずれか1項に記載のデータ通信方法において、
    さらに、前記コネクションの選択の前に、データの送信先に対応して予め登録されたコネクションの複数の設定先の情報を用いて、データの送信先に対応する複数のコネクションの設定先を決定するコネクション設定先決定手順と、
    このコネクション設定先決定手順の決定に応じてコネクションを開設するコネクション開設手順とを備えることを特徴とするデータ通信方法。
  29. 請求項19乃至22のいずれか1項に記載のデータ通信方法において、
    コネクション設定要求元とコネクションの設定先との間に存在する装置である場合に、前記コネクション設定要求元から送信されたコネクション設定要求パケットを前記コネクション設定先に代わって受信したとき、データの送信先に対応して予め登録されたコネクションの複数の設定先の情報を用いて、前記コネクション設定要求パケットが示すコネクション設定先と同じ組に属する他の設定先へのコネクション設定を行う手順とを備えることを特徴とするデータ通信方法。
  30. 請求項19記載のデータ通信方法において、
    さらに、経路毎に障害を検出する経路障害検出手順と、
    経路毎に通信品質を測定する通信品質測定手順とを備え、
    前記コネクション選択手順は、あるコネクションが利用する経路において障害が発生した場合、若しくはあるコネクションの通信性能が低下した場合に、このコネクションで送信待ち状態にあるブロックを他のコネクションを利用して送信するように選択することを特徴とするデータ通信方法。
  31. 請求項30記載のデータ通信方法において、
    前記経路障害検出手順は、いずれかのコネクションが一定回数以上再送タイムアウト状態に陥った場合に、このコネクションが利用する経路において障害が発生したと判定することを特徴とするデータ通信方法。
  32. 請求項30記載のデータ通信方法において、
    前記通信品質測定手順は、コネクションのパケット往復遅延時間、パケット往復遅延時間の変化率、通信プロトコルの実効スループット、パケットロス率、経路上のリンク帯域、経路上の空き帯域、あるいは経路上の使用可能帯域のいずれかがそれぞれの閾値と比較して劣っている場合に、コネクションの通信性能が低下したと判定することを特徴とするデータ通信方法。
  33. 請求項30記載のデータ通信方法において、
    前記通信品質測定手順は、全てのコネクションの平均的な通信品質を計測する平均的通信品質計測手順と、計測した平均的通信品質とそれぞれのコネクションの通信品質とを比較する比較手順とを有し、複数のコネクションの中に通信品質が前記平均的通信品質の一定割合を越えて劣っているコネクションが存在する場合に、このコネクションの通信性能が低下したと判定することを特徴とするデータ通信方法。
  34. 請求項19記載のデータ通信方法において、
    さらに、通信で使用中のコネクションの数が一定数以上となった場合に、最も通信品質の低いコネクションの使用を中止する中止手順を備えることを特徴とするデータ通信方法。
  35. 請求項19記載のデータ通信方法において、
    通信開始からの継続時間に応じて使用するコネクション数を変化させるコネクション数変化手順を備えることを特徴とするデータ通信方法。
  36. 請求項19記載のデータ通信方法において、
    前記コネクション選択手順は、パケット毎、予め定められたデータ量毎、もしくはアプリケーション層で一塊となるデータ量毎に、出力するコネクションを選択することを特徴とするデータ通信方法。
  37. 請求項19乃至36のいずれか1項に記載の手順をコンピュータに実行させることを特徴とするデータ通信プログラム。
JP2004242207A 2004-08-23 2004-08-23 通信装置、データ通信方法およびプログラム Expired - Fee Related JP4394541B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004242207A JP4394541B2 (ja) 2004-08-23 2004-08-23 通信装置、データ通信方法およびプログラム
US11/206,069 US8149704B2 (en) 2004-08-23 2005-08-18 Communication apparatus and data communication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004242207A JP4394541B2 (ja) 2004-08-23 2004-08-23 通信装置、データ通信方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2006060674A JP2006060674A (ja) 2006-03-02
JP4394541B2 true JP4394541B2 (ja) 2010-01-06

Family

ID=35909492

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004242207A Expired - Fee Related JP4394541B2 (ja) 2004-08-23 2004-08-23 通信装置、データ通信方法およびプログラム

Country Status (2)

Country Link
US (1) US8149704B2 (ja)
JP (1) JP4394541B2 (ja)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090006659A1 (en) * 2001-10-19 2009-01-01 Collins Jack M Advanced mezzanine card for digital network data inspection
US20090161568A1 (en) * 2007-12-21 2009-06-25 Charles Kastner TCP data reassembly
US7616638B2 (en) 2003-07-29 2009-11-10 Orbital Data Corporation Wavefront detection and disambiguation of acknowledgments
US7630305B2 (en) * 2003-07-29 2009-12-08 Orbital Data Corporation TCP selective acknowledgements for communicating delivered and missed data packets
US8270423B2 (en) 2003-07-29 2012-09-18 Citrix Systems, Inc. Systems and methods of using packet boundaries for reduction in timeout prevention
US8233392B2 (en) * 2003-07-29 2012-07-31 Citrix Systems, Inc. Transaction boundary detection for reduction in timeout penalties
US8432800B2 (en) * 2003-07-29 2013-04-30 Citrix Systems, Inc. Systems and methods for stochastic-based quality of service
US8437284B2 (en) 2003-07-29 2013-05-07 Citrix Systems, Inc. Systems and methods for additional retransmissions of dropped packets
US8238241B2 (en) 2003-07-29 2012-08-07 Citrix Systems, Inc. Automatic detection and window virtualization for flow control
US7656799B2 (en) * 2003-07-29 2010-02-02 Citrix Systems, Inc. Flow control system architecture
US7602785B2 (en) * 2004-02-09 2009-10-13 Washington University Method and system for performing longest prefix matching for network address lookup using bloom filters
WO2006023948A2 (en) * 2004-08-24 2006-03-02 Washington University Methods and systems for content detection in a reconfigurable hardware
US7489904B2 (en) * 2005-12-13 2009-02-10 Motorola, Inc. Method and system for determining the time of arrival of a direct radio signal
US8151323B2 (en) 2006-04-12 2012-04-03 Citrix Systems, Inc. Systems and methods for providing levels of access and action control via an SSL VPN appliance
US8203942B2 (en) * 2006-07-14 2012-06-19 Raytheon Company Communications resource management
US7953889B2 (en) * 2006-08-03 2011-05-31 Citrix Systems, Inc. Systems and methods for routing VPN traffic around network disruption
WO2008017030A2 (en) * 2006-08-03 2008-02-07 Citrix Systems, Inc. System and method for routing traffic at a client via a first or a second transport layer connection
US8677007B2 (en) * 2006-08-03 2014-03-18 Citrix Systems, Inc. Systems and methods for bypassing an appliance
US8903968B2 (en) * 2006-08-29 2014-12-02 International Business Machines Corporation Distributed computing environment
US8160084B2 (en) * 2006-09-22 2012-04-17 Nokia Corporation Method for time-stamping messages
JP2008293232A (ja) * 2007-05-24 2008-12-04 Kyocera Mita Corp 機器管理プログラム、通信機器及び機器管理方法
JP2009033453A (ja) * 2007-07-26 2009-02-12 Toshiba Corp 電話交換装置及びこの電話交換装置で使用される制御方法
US8406133B2 (en) * 2009-02-24 2013-03-26 Silver Spring Networks, Inc. System and method of regulating a packet rate to optimize traffic in a network
JP4828615B2 (ja) * 2009-03-03 2011-11-30 日本電信電話株式会社 Tcp接続方法、呼制御装置及び通信システム
KR101180540B1 (ko) * 2010-10-20 2012-09-06 연세대학교 산학협력단 스트리밍 서비스 송/수신 장치 및 방법
US20130250797A1 (en) * 2010-12-14 2013-09-26 Nobuhiko Itoh Communication control system, control device, communication control method, and communication control program
US9047243B2 (en) 2011-12-14 2015-06-02 Ip Reservoir, Llc Method and apparatus for low latency data distribution
TWI459768B (zh) * 2011-12-30 2014-11-01 Ind Tech Res Inst 協助tcp封包傳送的通訊系統與方法
US8626974B2 (en) * 2012-01-19 2014-01-07 Lsi Corporation Methods and systems for reduced signal path count for interconnect signals within a storage system expander
EP2806606B1 (en) 2012-01-19 2019-07-03 Mitsubishi Electric Corporation Multi-channel gateway device, multiple line communication method and program
JP5943271B2 (ja) * 2012-02-06 2016-07-05 国立研究開発法人情報通信研究機構 通信装置
US10121196B2 (en) 2012-03-27 2018-11-06 Ip Reservoir, Llc Offload processing of data packets containing financial market data
US11436672B2 (en) 2012-03-27 2022-09-06 Exegy Incorporated Intelligent switch for processing financial market data
US10650452B2 (en) 2012-03-27 2020-05-12 Ip Reservoir, Llc Offload processing of data packets
US9990393B2 (en) 2012-03-27 2018-06-05 Ip Reservoir, Llc Intelligent feed switch
US8914537B2 (en) * 2012-08-07 2014-12-16 Intel Mobile Communications GmbH Methods and apparatuses for rate adaptation of quality of service based application
US10187315B2 (en) * 2012-09-06 2019-01-22 Apple Inc. Apparatus and method for optimizing communications at an intermittent communication link
JP2014078895A (ja) * 2012-10-11 2014-05-01 Toshiba Corp サーバ装置及び通信システム
JP2014096674A (ja) * 2012-11-08 2014-05-22 Hitachi High-Technologies Corp ネットワーク装置、ネットワーク装置の制御方法及びネットワークシステム
JP5865234B2 (ja) * 2012-11-12 2016-02-17 日本電信電話株式会社 ネットワーク利用履歴取得装置及び方法及びプログラム
JPWO2014133066A1 (ja) * 2013-02-28 2017-02-02 日本電気株式会社 通信システム、端末、通信制御装置、通信方法及びプログラム
EP3958512A1 (en) 2013-07-31 2022-02-23 Assia Spe, Llc Method and apparatus for continuous access network monitoring and packet loss estimation
US9572171B2 (en) * 2013-10-31 2017-02-14 Intel IP Corporation Systems, methods, and devices for efficient device-to-device channel contention
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US9948561B2 (en) * 2015-04-14 2018-04-17 Cisco Technology, Inc. Setting delay precedence on queues before a bottleneck link based on flow characteristics
WO2016208568A1 (ja) * 2015-06-25 2016-12-29 日本電気株式会社 データ圧縮装置及びデータ圧縮承認装置
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
JP7214396B2 (ja) * 2018-08-23 2023-01-30 キヤノン株式会社 通信装置、通信装置の制御方法およびプログラム
US11438243B2 (en) * 2019-04-12 2022-09-06 EMC IP Holding Company LLC Adaptive adjustment of links per channel based on network metrics
JP2021022838A (ja) * 2019-07-28 2021-02-18 株式会社フェアーウェイ データ伝送装置およびプログラム
TWI708488B (zh) * 2019-08-20 2020-10-21 智易科技股份有限公司 傳輸系統、傳送裝置及傳輸路徑分配方法
US11288323B2 (en) * 2020-02-27 2022-03-29 International Business Machines Corporation Processing database queries using data delivery queue

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3197922B2 (ja) 1991-12-03 2001-08-13 株式会社リコー データ伝送装置
JPH07221779A (ja) 1994-01-27 1995-08-18 Fuji Xerox Co Ltd Lan間伝送経路選択方法
US6563796B1 (en) * 1998-03-18 2003-05-13 Nippon Telegraph And Telephone Corporation Apparatus for quality of service evaluation and traffic measurement
JP4568846B2 (ja) 1999-03-04 2010-10-27 独立行政法人情報通信研究機構 ゲートウェイ装置、送信方法、受信方法および情報記録媒体
SE0000707D0 (sv) 1999-05-04 2000-03-01 Magnus Agervald System för överförande av data via flera kommunikationsvägar
US6275470B1 (en) * 1999-06-18 2001-08-14 Digital Island, Inc. On-demand overlay routing for computer-based communication networks
USRE43645E1 (en) * 1999-06-18 2012-09-11 Intellectual Ventures I Llc Measurement-based connection admission control (MBAC) device for a packet data network
FR2804808B1 (fr) * 2000-02-03 2002-03-15 Ipanema Technologies Procede d'optimisation dynamique de la qualite de service dans un reseau de transmission de donnees
US6975629B2 (en) * 2000-03-22 2005-12-13 Texas Instruments Incorporated Processing packets based on deadline intervals
JP3526269B2 (ja) * 2000-12-11 2004-05-10 株式会社東芝 ネットワーク間中継装置及び該中継装置における転送スケジューリング方法
JP3785343B2 (ja) 2001-10-02 2006-06-14 日本電信電話株式会社 クライアントサーバシステム及びクライアントサーバシステムにおけるデータ通信方法
JP2004007361A (ja) 2001-10-11 2004-01-08 Nippon Telegr & Teleph Corp <Ntt> データ送信制御方法及びこの方法のプログラム並びにこれを用いるデータ送信装置
JP2003152776A (ja) 2001-11-14 2003-05-23 Nippon Telegr & Teleph Corp <Ntt> データ転送方法および装置
JP2004102775A (ja) 2002-09-11 2004-04-02 Nippon Telegr & Teleph Corp <Ntt> 情報取得装置および情報取得経路制御方法
US8018850B2 (en) * 2004-02-23 2011-09-13 Sharp Laboratories Of America, Inc. Wireless video transmission system

Also Published As

Publication number Publication date
US20060039287A1 (en) 2006-02-23
JP2006060674A (ja) 2006-03-02
US8149704B2 (en) 2012-04-03

Similar Documents

Publication Publication Date Title
JP4394541B2 (ja) 通信装置、データ通信方法およびプログラム
JP4780343B2 (ja) 通信方法、通信システム、ノードおよびプログラム
JP4433202B2 (ja) トランスポート層中継方法及びトランスポート層中継装置並びにプログラム
KR100592412B1 (ko) 실시간 트래픽 특성을 고려하여 큐를 관리하는 액세스네트워크 장치 및 그 큐 관리 방법
JP5521060B2 (ja) 端末間の通信を高速化する通信装置および通信システム
US7724750B2 (en) Expedited data transmission in packet based network
US20060221825A1 (en) Congestion control network relay device and method
US20140140348A1 (en) Multi-hop error recovery
JP4377326B2 (ja) 送信ウィンドウサイズの計算方法
JP2001308947A (ja) 通信装置、中継装置および通信制御方法
CN104734957A (zh) 一种软件定义网络sdn中业务传输方法及装置
CN107770085B (zh) 一种网络负载均衡方法、设备及系统
WO2007111331A1 (ja) 通信方法、ノード及び制御プログラム
US20120155268A1 (en) Packet relay device
EP1569375A1 (en) Method and device for transmitting data according to an ARQ method with variable redundancy
WO2005096546A2 (en) Expedited data transmission in packet based network
JP2006197473A (ja) ノード
CN111131017B (zh) 一种基于多蜂窝无线接入网关的mptcp跨层优化方法及系统
Zinner et al. Using concurrent multipath transmission for transport virtualization: analyzing path selection
JP2000312212A (ja) ネットワークリソースの効率的な使用のためのネットワーク要素の遅延割当
JP3893247B2 (ja) データ配信管理装置
JP4087408B2 (ja) パケット転送方法及び装置
JP2009105662A (ja) マルチホップ通信システム、マルチホップ通信方法、端末装置および中継装置
JP2010130329A (ja) 通信装置および中継装置
JP5024027B2 (ja) 通信品質監視装置、通信品質監視システム、通信品質監視方法及びそのプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070122

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070710

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070809

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070809

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20080604

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20090508

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091015

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121023

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131023

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees