JP5662779B2 - 通信システム及びノード装置 - Google Patents

通信システム及びノード装置 Download PDF

Info

Publication number
JP5662779B2
JP5662779B2 JP2010272441A JP2010272441A JP5662779B2 JP 5662779 B2 JP5662779 B2 JP 5662779B2 JP 2010272441 A JP2010272441 A JP 2010272441A JP 2010272441 A JP2010272441 A JP 2010272441A JP 5662779 B2 JP5662779 B2 JP 5662779B2
Authority
JP
Japan
Prior art keywords
node device
bandwidth
packet
communication
node
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
JP2010272441A
Other languages
English (en)
Other versions
JP2012124647A (ja
JP2012124647A5 (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2010272441A priority Critical patent/JP5662779B2/ja
Publication of JP2012124647A publication Critical patent/JP2012124647A/ja
Publication of JP2012124647A5 publication Critical patent/JP2012124647A5/ja
Application granted granted Critical
Publication of JP5662779B2 publication Critical patent/JP5662779B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

本発明は、通信システム及びノード装置に係り、特に、帯域制御を行う複数通信ノード連携情報処理システム及び通信装置に関する。
本技術分野の背景技術として、例えば特開2007−13823号公報(特許文献1)がある。この公報には、課題として「従来の輻輳制御方式が持つ様々な問題点、例えば、新たに通信を開始したフローが広帯域のスループットを得るまでの時間が長くなるという問題を解決する」と記載されている。また、解決手段として、「送信端末600は、パケット送信時に現在の時刻now1をパケットに書き込む現在時刻書込部601と、受信確認パケットを受信した時、現在の時刻nowからnow1を減算した値を計算し、最小往復遅延時間RTT_min及び最大往復遅延時間RTT_maxを記憶する往復時間計算部603と、前回利用可能帯域ABEを計算した時刻から最小往復遅延時間RTT_minを経過する時間の間に受信した確認応答されたパケット数を基にして利用可能帯域ABEを計算する利用可能帯域計算部605と、ウィンドウサイズを増加させる時、RTT_min*ABEとRTT_max*ABEを基にして、ウィンドウサイズを決定するウィンドウサイズ決定部610と、を備える。」と記載されている。
一方、複数の拠点から、サーバやストレージ等の計算資源をデータセンタ(DC)に集約して情報処理を行うクラウドコンピューティングが普及しはじめている。計算資源への通信には、データの確実な転送に用いられるTCP通信が用いられるのが一般的である。
TCP通信では、送信端末が送ったデータに対し、受信端末が応答通知として受信済みデータ量を送信端末にフィードバック通知する。送信端末は、フィードバック通知される受信済みデータ量が増加しなくなると、パケット廃棄検出と判定する。そして、RTT(Round Trip Time)や廃棄検出の有無に応じて、ウィンドウサイズと呼ぶパラメータを増減させて送信帯域を調整する。
特開2007−13823号公報
クラウドコンピューティングでは、各拠点は、広域網(WAN)を介してDCへアクセスするため、拠点とDC間の通信遅延が大きくなりがちである。例えば、東京と大阪の間では25ms程度のRTTが発生する。また、日本と北米西海岸の間では150ms〜200ms程度のRTTが発生する。TCP通信では、ウィンドウサイズの制限により、RTTが大きいほど実効通信帯域が低下してしまう。例えば、100Mbpsの回線を契約していたとしても、日本と北米西海岸の間での実効通信帯域は5Mbps程度まで低下してしまう場合がある。
また、各拠点からDCへのアクセスは、ある回線(例えば、DC側の回線)を複数の拠点によって共有することになる。この際に、TCP通信ではパケット廃棄の状況に応じて帯域を分割しあうが、RTTが大きい環境では、図4に示すように、既に通信を行っているコネクション50と、あとから通信を開始したコネクション60の間で公平に帯域を分け合うまでに数分以上の時間を要する課題がある。
このようにTCPを用いた通信では、送信帯域がRTTと廃棄率に大きく左右されるため、WANのようなRTTが大きく、廃棄率も高い環境では、契約帯域を大幅に下回る送信帯域しか得られないという課題がある。また、複数の拠点で帯域を分割して利用する場合に、その収束が遅く、契約帯域を最大限に活用できないという課題がある。
本発明は、以上の点に鑑み、RTTやパケット廃棄率によらず、実効帯域を拡大しつつ、複数の拠点間で迅速に送信帯域を分け合い、契約帯域を最大限に活用できる通信システム及びノード装置を提供することを目的とする。
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
上記課題を解決する手段の一例を挙げるならば、
「パケット送信側にて、再送帯域を測定して再送帯域に基づく帯域制御を行いながらパケット送信を行う機能と、
パケット受信側にて、パケット廃棄箇所を検出して送信側に前記パケット廃棄箇所をフィードバック通知する機能と、
前記パケット送信側にて、前記フィードバック通知に基づくパケット再送を行う機能と、
前記パケット受信側にて、インターバルとして規定する一定の時刻に達するたびに、
前記パケット送信側の利用可能通信帯域を分割することを特徴とする通信ノード装置」であることを特徴のひとつとする。
本発明の第1の解決手段によると、
クライアント側にて、再送帯域を測定して再送帯域に基づく帯域制御を行いながらパケット送信を行い、フィードバック通知されるパケット廃棄箇所に基づきパケット再送を行う複数の第1ノード装置と、
サーバ側にて、複数の前記第1ノード装置と通信し、パケット廃棄箇所を検出して送信側の前記第1ノード装置に前記パケット廃棄箇所をフィードバック通知する第2ノード装置と
を備え、
インターバルとして規定する一定の時刻に達するたびに、前記第2ノード装置の複数の前記第1ノード装置との回線の利用可能通信帯域を、各第1ノード装置と前記第2ノード装置とのコネクション数に基づき各第1ノード装置の最大通信帯域に分割することを特徴とする通信システムが提供される。
本発明の第2の解決手段によると、
クライアント側にて、再送帯域を測定して再送帯域に基づく帯域制御を行いながらパケット送信を行い、フィードバック通知されるパケット廃棄箇所に基づきパケット再送を行う複数の第1ノード装置と、サーバ側にて、複数の前記第1ノード装置と通信し、パケット廃棄箇所を検出して送信側の前記第1ノード装置に前記パケット廃棄箇所をフィードバック通知する第2ノード装置とを備えた通信システムにおいて、前記第2ノード装置として用いられるノード装置であって、
インターバルとして規定する一定の時刻に達するたびに、前記第2ノード装置と複数の前記第1ノード装置との回線の利用可能通信帯域を、各第1ノード装置と前記第2ノード装置とのコネクション数に基づき各第1ノード装置の最大通信帯域に分割することを特徴とする前記ノード装置が提供される。
本発明の第3の解決手段によると、
クライアント側にて、再送帯域を測定して再送帯域に基づく帯域制御を行いながらパケット送信を行い、フィードバック通知されるパケット廃棄箇所に基づきパケット再送を行う複数の第1ノード装置と、サーバ側にて、複数の前記第1ノード装置と通信し、パケット廃棄箇所を検出して送信側の前記第1ノード装置に前記パケット廃棄箇所をフィードバック通知する第2ノード装置とを備えた通信システムにおいて、前記第1ノード装置として用いられるノード装置であって、
インターバルとして規定する一定の時刻に達するたびに、前記第2ノード装置と複数の前記第1ノード装置との回線の利用可能通信帯域を、各第1ノード装置と前記第2ノード装置とのコネクション数に基づき分割した、自ノード装置の最大通信帯域を決定することを特徴とする前記ノード装置が提供される。
本発明によれば、RTTやパケット廃棄率によらず、実効帯域を拡大しつつ、複数の拠点間で迅速に送信帯域を分け合い、契約帯域を最大限に活用できる通信システム及びノード装置を提供することができる。
帯域分割制御シーケンスの例。 通信遅延を考慮した帯域分割制御シーケンスの例。 各種機器の配置例。 従来型TCPにおける帯域分割制御の例。 本発明における帯域分割制御の例。 通信遅延が異なる場合の帯域分割制御の例。 本発明における通信遅延を考慮した帯域分割制御の例。 マスタ側通信ノード装置の制御フローチャート例。 スレーブ側通信ノード装置の制御フローチャート例。 通信遅延を考慮したマスタ側通信ノード装置の制御フローチャート例。 通信遅延を考慮したスレーブ側通信ノード装置の制御フローチャート例。 通信ノード装置1600C追加時の通信遅延を考慮した帯域分割制御の例。 通信相手から通知されたパケット受信中の総コネクション数に基づいて帯域制御する通信ノード装置のブロック図。 シェーパ毎の受信側総帯域・コネクション数テーブルのフォーマット図。 フィードバック通知先テーブルのフォーマット図。 RX総帯域・コネクション数テーブルのフォーマット図。 RX総帯域・コネクション数テーブル更新するフローチャート図。 帯域制御の説明図。 コネクション数加算判定部が、コネクション有無テーブル記載の値を用いて行う処理のフローチャート図。 通信ノード装置の構成例。 協調制御マスタ部の構成例。 協調制御スレーブ部の構成例。 通信遅延を考慮した協調制御スレーブ部の構成例。 通信ノード装置の別の構成例。 サービスカードの構成例。 本発明における帯域分割制御の例。
以下、本発明の実施の形態を添付図面に基づき説明する。各図における同一符号は同一のものあるいは相当するものを示す。説明の都合上、符号に添え字を追加して区別することがある。
実施例1では、再送帯域に基づいて帯域制御しつつ、通信相手から通知される総コネクション数に基づいて帯域分割制御をおこなう通信ノード装置の構成、および、その制御方法等に関して説明する。
1−1. システム構成
図3は、本実施の形態における各種の機器の配置例を示す図である。
各拠点でユーザが利用するPCやサーバなどの端末1500が拠点内LAN1550に接続され、さらに、LAN1550には広域網(WAN)1650経由で外部へ通信するための通信ノード装置1600が接続される。LAN1550には複数の端末1500が接続されるが、図が煩雑になるのを避けるため、この例では、各拠点の端末1500は一つずつのみ描いている。また、通信ノード装置1600の管理をおこなう管理ノード1700を備えても良い。
管理ノード1700は、例えば、ユーザとサービス提供者の間の契約に基づいて適宜の設定値を設定し、その設定値を、各通信ノード装置間の通信帯域の上限値として各通信ノード装置に通知する制御を行う。もちろん、管理ノード1700を設けずに、このような設定を直接通信ノード装置1600のいずれかに設定し、設定された通信ノード装置1600が関係する他の通信ノード装置1600に通知する制御をおこなっても良い。
ここで、例えば、端末1500A、1500B、1500Cのそれぞれはユーザ拠点(企業のオフィスなど)の端末とし、端末1500Dは、ユーザ拠点が共通にアクセスするデータセンタの端末とする。なお、端末1500A、1500B、1500Cをクライアント装置、端末1500Dをサーバ装置と以下称することもある。
これらの間のデータの受け渡しには、TCP通信を用いることができるが、広域網(WAN)を介したアクセスは、通信遅延が大きくなりやすい。特にTCP通信では、ウィンドウサイズの制限により、RTTが大きいほど実効通信帯域が低下してしまい課題となる。
また、各拠点からDCへのアクセスは、ある回線を複数の拠点によって共有することになる。この際に、TCP通信ではパケット廃棄の状況に応じて帯域を分割しあうが、RTTが大きい環境では、図4に示すように、既に通信を行っているコネクション50と、あとから通信を開始したコネクション60の間で公平に帯域を分け合うまでに数分以上の時間を要し課題となる。
1−2. 帯域分割制御
そこで、実施例1では、これらの課題を解決するために、再送帯域に基づいて帯域制御しつつ、通信相手から通知されたパケット受信中の総コネクション数に基づいて帯域分割制御をおこなう通信ノード装置1600の構成例、制御例について説明する。
図20は、通信ノード装置1600の構成図である。
通信ノード装置1600は、TX部(送信部)102と、RX部(受信部)103と、協調制御マスタ部220と、協調制御スレーブ部230とを備える。
まず、TX部102及びRX部103の構成、処理の一例を図13〜図18を参照して説明する。なお、TX部102及びRX部103は、以下の構成に限らず適宜の構成であってもよい。
図13には、通信ノード装置1600AのTX部102、RX部103の詳細ブロック図をあらわす。他の通信ノード装置1600B〜通信ノード装置1600Dも同様の構成である。本通信ノード装置1600Aは、端末1500Aが送信するデータを受け取り、他の通信ノード装置1600Dへむけてパケットを送信するTX部102と、他の通信ノード装置1600Dからのパケットを受信して、端末1500Aへデータを出力するRX部103を有する。なお、図13では、協調制御マスタ部220と協調制御スレーブ部230とは便宜上省略している。
TX部102は、送信パケット蓄積部104と、出力先判定部(シェーパ判定部)105と、TX経路・シェーパテーブル106と、TXパケット再送部107と、振分部108と、シェーパ109と、受信・未受信箇所通知パケット向けバッファ110と、タイマ値格納部111と、インターバル値格納部112と、送信帯域制御部113と、シェーパ毎の送信・再送帯域テーブル114と、トークン更新部115と、送信パケット出力制御部116、とを有する。
RX部103は、RXパケット再送部117と、受信履歴更新部118と、受信履歴テーブル119と、他の通信ノード装置1600Dから受信したデータパケットを受信履歴更新部118へ、受信・未受信箇所通知パケットをRX側パケット再送部107に振り分けるRX側振分部120と、受信パケット蓄積部121と、受信パケット出力制御部122、とを有する。
端末1500Aが送信するデータパケットは、送信パケット蓄積部104に蓄積され、出力先判定部105と振分部108へ入力される。
送信データ蓄積部104に蓄積されたデータパケットは、通信ノード装置1600Dから受信した受信箇所通知パケットを、RX側振分部120経由でTXパケット再送部107が受信したときに消去され、未受信箇所通知パケットをTXパケット再送部107が受信したときに読み出され、再送される。
シェーパ判定部105は、TX経路・シェーパテーブル106から、パケットヘッダと一致する経路を持つエントリを読み出し、エントリ記載のシェーパを振分部108に通知する。
振分部108は、通知に基づいて、入力パケットを、シェーパA(109A)、シェーパB(109B)、シェーパC(109C)、のいずれかに振り分ける。更に、パケットヘッダ記載のパケット長をビット値に変換し、シェーパと送信/再送ビットを対応付けて、送信帯域制御部113に通知する。
送信帯域制御部113は、振分部108から通知されたシェーパと送信/再送ビットに基づき、シェーパ毎の送信・再送帯域テーブル114を更新し、更新結果に基づいてシェーパ毎の制御帯域を決定する。更に、トークン更新部115に、制御帯域に応じたトークン加算値を通知する。
シェーパ毎の送信・再送帯域テーブル114は、例えば、シェーパ毎に、基準時間と、制御帯域(基準時間前)と、制御帯域(基準時間後)と、基準時間以前の統計データ(送信帯域、再送帯域)と、基準時間以降の統計データ(送信ビット積算値、再送ビット積算値)と、を格納するエントリ複数個から構成される。
送信帯域制御部113は、振分部108から通知されたシェーパと一致するエントリの基準時間以降の統計データ(送信ビット積算値、再送ビット積算値)に、通知された送信・再送ビットを加算し、シェーパ毎の送信・再送帯域テーブル114を更新する。
送信帯域制御部113は、シェーパ毎の送信・再送帯域テーブル114の各エントリを読み出し、タイマ値111と基準時間の差がインターバル値112よりも大きいか、または、再送ビット積算値が0よりも大きいか、の判定を行い、判定条件を満たすまで繰り返す。
ここでは、タイマは各通信ノード装置1600における現在時刻を示す。インターバルは通信ノード装置1600Aと通信ノード装置1600Dの間のRTTに基づく時間を示す。基準時間は、タイマの値がインターバルで設定した時間に達したときに記録するタイマの値である。なお、図13ではタイマ、インターバルを複数するが、これらはそれぞれ、ひとつのタイマ及びひとつのインターバル値格納部で管理され、各ブロックが適宜タイマ値、インターバル値を参照するようにしてもよい。
判定条件を満たしたら、送信帯域=送信ビット積算値/インターバル+送信帯域×(インターバル−タイマ値+基準時間)/インターバル、再送帯域=再送ビット積算値/インターバル+再送帯域×(インターバル−タイマ値+基準時間)/インターバル、基準時間=タイマ値、送信ビット積算値=0、再送ビット積算値=0となるようにエントリを更新する。
更に、更新済み再送帯域が0よりも大きいか否かを判定する。大きいと判定した場合は、制御帯域(基準時間後)が制御帯域(基準時間前)よりも小さくなるように(例えば、制御帯域(基準時間後)=制御帯域(基準時間前)―再送帯域)、再送帯域に基づいて制御帯域(基準時間後)を変更する。小さいと判定した場合は、制御帯域(基準時間後)が制御帯域(基準時間後)よりも大きくなるように制御帯域を変更する。
送信帯域制御部113は、上記の変更済み制御帯域(基準時間後)に基づいて計算した加算トークンをトークン制御部115に通知する。
トークン制御部115は、トークンバケツアルゴリズムに基づいて、送信帯域制御部113から通知された加算トークンを、周期的にトークンバケツに加算する。更に、トークン積算値が一定量を上回る場合に、出力可能として、送信パケット出力制御部116に通知する。
送信パケット出力制御部116は、パケットが蓄積されていて、出力可能なバッファからパケットを読み出して出力する。シェーパA(109A)、シェーパB(109B)、シェーパC(109C)、のいずれかから出力した場合は、シェーパと出力パケット長をトークン制御部115に通知する。トークン制御部115は、通知されたシェーパのトークンバケツから、通知パケット長に相当するトークンを減算する。
更に、本通信ノード装置1600Aは、コネクション数加算判定部1201と、コネクション有無テーブル1202と、RX情報通知部1605と、受信帯域とパケット受信中のコネクション数を記録するRX総帯域・コネクション数テーブル1606と、をRX部103に追加する。
また、通信相手の受信帯域とデータ受信中のコネクション数を記録するシェーパ毎の受信側総帯域・コネクション数テーブル1601と、受信側総帯域・コネクション数通知部1602と、フィードバック通知パケット生成部1603と、フィードバック通知先テーブル1604と、RX経路・シェーパテーブル903をTX部102に追加する。
図19のフローチャートを利用し、コネクション数加算判定部が、コネクション有無テーブル記載の値を用いて行う処理を説明する。コネクション数加算判定部1201は、パケットヘッダ記載値と一致するエントリを、コネクション有無テーブル1202から読み出し(図19のステップ1401)、パケットヘッダ記載値と一致するエントリが有るか、無いかを判定する(図19のステップ1402)。
なお、コネクション有無テーブル1202は、例えば、送信元IP、宛先IP、送信元ポート、宛先ポート、再送中(Yes=1、No=0)、基準時間、を格納するエントリ複数個から構成される。
エントリが無い場合は、新規エントリを、送信元IP=パケットの送信元IP、宛先IP=パケットの宛先IP、送信元ポート=パケットの宛先ポート、宛先ポート=パケットの宛先ポート、基準時間=タイマ値、として作成する。
更に、シェーパ判定部の指定シェーパのコネクション数に1を加算するように送信帯域制御部113に通知する(図19のステップ1405)。ステップ1402において、一致するエントリが有る場合は、タイマ値111と基準時間の差がインターバル値112よりも大きいか、または、エントリ記載の再送=0かつ入力されたパケットが再送パケットであるか否かを判定し、いずれも満たさない場合は、ループする(図19のステップ1403)。
いずれかを満たした場合は、タイマ値111と基準時間の差がインターバル値112よりも大きい場合に、基準時間=タイマ値、へとエントリを更新し、再送パケットの場合に、再送中=1、通常パケットの場合に、再送中=0、へとエントリを更新する。更に、通常パケットの場合は、シェーパ判定部の指定シェーパの送信中コネクション数に1を加算するように、再送パケットの場合は、シェーパ判定部の指定シェーパの再送中コネクション数に1を加算するように、送信帯域制御部113に通知する(図19のステップ1404)。
図14には、シェーパ毎の受信側総帯域・コネクション数テーブル1601のフォーマットを表す。シェーパ毎の受信側総帯域・コネクション数テーブル1601は、シェーパ毎に、通信相手側で計測された総受信帯域とパケット受信中の総コネクション数を格納するエントリ複数個から構成される。
図15には、フィードバック通知先テーブル1604のフォーマットを表す。フィードバック通知先テーブル1604は、フィードバック通知の対象が端末である場合は宛先IPアドレスを格納し、フィードバック通知の対象が拠点である場合は宛先IPアドレスと共にサブネットも格納するエントリ複数個から構成される。
図16には、RX総帯域・コネクション数テーブル1606のフォーマットを表す。 RX総帯域・コネクション数テーブル1606は、基準時間と、基準時間以前の統計データ(RX総帯域、RX総コネクション数)と、基準時間以降の統計データ(RX総ビット積算値、RX総コネクション数積算値)と、を格納する。
RX情報通知部1605は、コネクション数加算判定部1201からのコネクション数加算通知と、RX側振分部120から入力されるデータパケットのヘッダ記載のパケット長を用いて、RX総帯域・コネクション数テーブル1606の、基準時間以降の統計データ(RX総ビット積算値、RX総コネクション数積算値)を加算する。コネクション数加算通知がくると、RX総コネクション数積算値を1加算し、パケット長はビット長に変換して、RX総ビット積算値に加算する。
更に、RX情報通知部1605は、図17に示すフローチャートを用いて、RX総帯域・コネクション数テーブル1606の更新を行う。
RX情報通知部1605は、タイマ値111と基準時間の差が、インターバル値112よりも大きくなるか否かの判定を、満たすまで繰り返し実行する(ステップ2001)。満たしたら、基準時間以前のRX総帯域=基準時間以降のRX総ビット積算値/(タイマ値−基準時間)、基準時間以前のRX総コネクション数=基準時間以降のRX総コネクション数積算値、基準時間=タイマ値、基準時間以降のRX総ビット積算値帯域=0、基準時間以降のRX総コネクション数積算値=0、となるように、テーブルを更新する(ステップ2002)。
更新した基準時間以前のRX総帯域・総コネクション数は、フィードバック通知パケット生成部1603へと出力される。フィードバック通知パケット生成部1603は、通知されたRX総帯域・総コネクション数を含む通知パケットを、フィードバック通知先テーブル1604に記載された全ての宛先に対して生成し、出力する。
逆に、通信ノード装置1600Aが、RX総帯域・総コネクション数を含む通知パケットを、通信相手から受け取ると、RX側振分部120を経由して、受信側総帯域・コネクション数通知部1602へと出力する。
受信側総帯域・コネクション数通知部1602は、パケットヘッダ記載値と一致するエントリを、RX経路・シェーパテーブル903から読み出し、エントリ記載のシェーパと対応づけて、通知パケット記載の受信側総帯域・総コネクション数を、送信帯域制御部113へと通知する。
送信帯域制御部113は、通知されたシェーパの受信側総帯域・総コネクション数を、シェーパ毎の受信側総帯域・総コネクション数テーブル1601へと記載する。
送信帯域制御部113は、シェーパ毎の受信側総帯域・総コネクション数テーブル1601に記載の受信側総帯域・総コネクション数と、シェーパ毎の送信・再送中コネクション数テーブル1203に記載の送信中コネクション数と、を用いて、例えば、図18に示すように帯域を制御する。
図18において、送信端末1500Aから受信端末1500Dへ向かってデータ送信中の通信コネクション数が2、送信端末1500Bから受信端末1500Dへ向かってデータ送信中の通信コネクション数が1、だったとする。
受信端末1500Dに接続されている通信ノード装置1600Dにおいて計測されたRX総帯域が12、RX総コネクション数が3だったとすると、通信ノード装置1600Dから、送信端末1500A/1500Bに接続されている通信ノード装置1600A/Bに向けて、RX総帯域:12・RX総コネクション数:3の情報がフィードバック通知される。
通信ノード装置1600Aは、フィードバック通知されたRX総帯域:12・RX総コネクション数:3の情報から、1コネクションあたりの帯域を4と求め、通信ノード装置1600Aのシェーパ毎の送信・再送中コネクション数テーブル1203Aに記載の送信中コネクション数:2に基づき、送信帯域を4×2=8へと調整する。
通信ノード装置1600Bは、フィードバック通知されたRX総帯域:12・RX総コネクション数:3の情報から、1コネクションあたりの帯域を4と求め、通信ノード装置1600Bのシェーパ毎の送信・再送中コネクション数テーブル1203Aに記載の送信中コネクション数:1に基づき、送信帯域を4×1=4へと調整する。
実際には、前記の通信コネクション数は、時々刻々と変化していく。図18では、タイマ値がインターバル、すなわち、RTTに達するたびに、通信ノード装置1600Dが通信ノード装置1600A、1600Bへフィードバック通知を行う。
1−3. インターバル毎の帯域分割制御
なおインターバルは、TCP通信の観点からは、RTTを超える値であれば良い。この観点から、図1、図5、図8、図9、図20、図21、図22を用いて、帯域分割制御に関して詳細な説明を行う。
図20は、実施例1における通信ノード装置1600の帯域分割制御に関する追加機能部である協調制御マスタ部220と協調制御スレーブ部230の関係図である。
図21は協調制御マスタ部220の内部構造の例を示す図である。協調制御マスタ部220は、協調制御マスタ処理部221、タイマ222、RTT計測部223、インターバルTC決定部224、結果生成部225を有する。
協調制御マスタ処理部221は、図8に示すマスタ側通信ノード装置の全体制御を行う。RTT計測部223は、後述の図1、図8の制御シーケンスの中で、RTT計測パケットの生成、計測パケットの受信を行い、インターバルTC決定部224へRTT情報を通知する。そして、インターバルTC決定部224がインターバルTCを決定する。タイマ222のタイマ値、インターバルTC決定部224が決定したインターバルは、図13中のタイマ111、インターバル112に反映する。結果生成部225は、対象となるコネクションに対する制御情報(結果情報)を生成する。
例えば、結果生成部225は、有効な総コネクション数を計測し、その値を結果情報とする。ここで、有効なコネクションとは、パケット送受信が行われているコネクションである。一定時間以上パケット送受信が行われていなかったり、コネクション切断の手続きを行っていたりするコネクションは、有効なコネクションではない。有効コネクション数として、例えばクライアント側のノード装置1600の少なくともひとつが、パケット再送が発生中のコネクション数を測定してもよい。この場合、再送発生中のコネクション数に基づく帯域制御を行う。また、有効コネクション数として、例えば、クライアント側のノード装置1600の少なくともひとつが、サーバ側からフィードバック通知されたパケット受信中のコネクション数を測定してもよい。この場合、パケット受信中のコネクション数に基づく帯域制御を行う。また、契約帯域の値、インターバルの値を結果情報の一部としても良い。
他の例1では、結果生成部225は、上記の総コネクション数を通知する際に、計測値が前回の計測値と大差ない値であると判断する場合、前回と同じ値を結果情報とすることもできる。これは、各ユーザ拠点での上限通信帯域のブレを小さくでき、通信を安定させられることができるケースで有効である。尚、上限通信帯域は、各拠点が出力して構わない総帯域である。
他の例2では、結果生成部225は、有効な総コネクション数とそれぞれのユーザ拠点からのコネクション数を全て認識することも可能であるため、それぞれのユーザ拠点の上限通信帯域を計算し、それぞれの計算結果を結果情報としてそれぞれのユーザ拠点の通信ノード装置1600へ通知しても良い。
他の例3では、対象となるユーザ拠点を、通信ノード装置1600Aが属するユーザ拠点Aと通信ノード装置1600Bが属するユーザ拠点Bとし、ユーザ拠点Aの優先度がHIGH、ユーザ拠点Bの優先度がLOWとする。結果生成部225は、他の例2同様に、それぞれのユーザ拠点の上限通信帯域を計算するが、この際に前記の優先度の重みづけを行う。
例えば、与えた優先度のHIGH側に高い傾斜(割当量)、LOW側に低い傾斜(割当量)、例えば、2対1の割合の傾斜を与えるような利用を行う。ユーザ拠点Aから4本、ユーザ拠点Bから4本ずつ合計8本の通信があった場合、本来1:1で上限通信帯域を分け合えばよいが、前記の優先度の傾斜を考慮した場合、ユーザ拠点A:ユーザ拠点Bを2:1で分け合うことになる。この結果となる上限通信帯域、この例では、ユーザ拠点Aへは(2/3×(契約帯域))、ユーザ拠点Bへは(1/3×(契約帯域))を上限通信帯域としてそれぞれ通知する。
優先度はHIGH、LOWの2ケースだけでなく、複数段階の優先度を用いても良いし、また、ユーザ拠点数も2個だけではなく、複数個あっても良い。いずれの場合も、ユーザ拠点数と優先度の状況から計算を行うことで、傾斜をかけた上限通信帯域を結果情報として通知できる。もちろん、上限通信帯域の計算はユーザ拠点側の通信ノード装置1600に任せる形にするために、総コネクション数と各拠点からのコネクション数、各拠点の優先度情報を全て結果情報として通知する方法としても良い。
図22は協調制御スレーブ部230の内部構造の例を示す図である。協調制御スレーブ部230は、協調制御スレーブ処理部231と、上限通信帯域計算部235により構成される。協調制御スレーブ処理部231は、図9に示すスレーブ側通信ノード装置の全体制御を行う。上限通信帯域計算部235は、マスタ側通信ノード装置から通知される結果情報と、自通信ノード装置の有効なコネクション数等の情報から、自通信ノード装置の有効なコネクション群が利用できる最大の上限通信帯域を計算する。
例えば、ユーザ拠点の通信ノード装置1600が、契約帯域と総コネクション数を結果情報として通知された場合、最大の上限通信帯域は、「(自身のコネクション数)/(総コネクション数)×契約帯域」として計算できる。
または、ユーザ拠点の通信ノード装置1600は、前述のように、結果情報として上限通信帯域自体を結果情報として通知されても良い。その場合、結果情報そのものを上限通信帯域の値として利用できる。
図1は、実施例1における複数通信ノード連携情報処理システムの帯域分割制御シーケンスの例である。端末1500A、1500Bが端末1500Dとの間でデータ送受信を行い、その通信における帯域分割制御を通信ノード装置1600A、1600B、1600Dが連携して実施する。
通信ノード装置1600A、1600Bからの通信ノード装置1600Dへの通信が通信帯域を共有するため、通信ノード装置1600Dが帯域分割制御のマスタ、通信ノード装置1600A、1600Bが帯域分割制御のスレーブとして動作する。すなわち、通信ノード装置1600Dでは、図20の中で図21に示す協調制御マスタ部220が動作する。また、通信ノード装置1600A、1600Bでは、図20の中で図22に示す協調制御スレーブ部230が動作する。それぞれの制御シーケンスのフローチャートの例を図8、図9に示す。図8のフローチャートは、例えば、協調制御マスタ処理部221により、他の各ブロック222〜225と連携して実行される。同様に、図9のフローチャートは、例えば、協調制御スレーブ処理部231により、他のブロック235と連携して実行される。
図1において、帯域分割制御のマスタである通信ノード装置1600Dは、対象となる通信ノード装置1600A、1600Bに対して、それぞれ、通信1A、1Bにより、RTTの計測を開始する(図8のS401、S402)。例えば、RTT計測部223が、PINGコマンドを、通信ノード装置1600A、1600Bに送信する。RTTの計測は、例えば新規拠点ノードが追加されることや削除されることを契機としてもよく(S401)、適宜の間隔で行っても良い。
次に、通信1A、1Bを受け取った通信ノード装置1600A、1600Bは、帯域分割制御のスレーブとして動作する。RTT計測のために通信ノード1600Dから送信されたパケットに対して、通信ノード装置1600A、1600Bはそれぞれ、通信2A、2Bによって返信を行う(図9のS501、S502)。例えば、PING応答を返信する。
通信2A、2Bを受信した帯域分割制御のマスタである通信ノード装置1600Dは、通信ノード装置1600A、1600B、それぞれのRTTの計測を完了する。さらに、このときの通信ノード装置1600A、1600Bの状態情報の計測を完了する(図8のS403)。ここで、状態情報とは、例えば、有効な通信コネクションの数である。なお、有効コネクション数はマスタの通信ノード装置1600Dで管理されている。また、通信ノード装置1600Dは、RTTを計測しない場合は状態情報を計測する(S410)。
次に、帯域分割制御のマスタである通信ノード装置1600Dは、先のRTT計測結果を利用してインターバルTCを決定する。ここでは、通信ノード装置1600Aと1600Dの間のRTTをRTTad、通信ノード装置1600Bと1600Dの間のRTTをRTTbdと表現する。インターバルTCは、計測したRTTのうち、最大のもの(max(RTTad,RTTbd))を超える(+α)任意の値に設定する。決定されたインターバルは例えばインターバル値格納部に設定されることができる。また、結果生成部225は、必要であれば状態情報の計算を行い、結果情報を生成する。今回の例では、有効な通信コネクションの数の測定をもって結果情報とする(図8のS411)。例えば、合計して10本の有効なコネクションがあった場合、10本という数字を結果情報とする。結果情報は、契約帯域、インターバルをさらに含んでも良い。
上述のαの値を小さくすると、結果情報の精度が向上する。一方、仮にαの値を極端に大きくすると従来のTCP制御による帯域分割による結果に近づいていく。一つの望ましい実施例では、αの値を数秒程度とする。こうすることで、比較的、直近の状況に応じた結果情報の反映と、従来TCP制御に比較して二桁程度高速な帯域分割を実現できる。
そして、帯域分割制御のマスタである通信ノード装置1600Dは、自身のタイマ値がインターバルTCに達すると(図8のS412)、通信3A、3Bによって、該当する全拠点ノード(ここでは通信ノード装置1600A、1600B)へ結果情報を送信する(図8のS413)。この操作は、帯域分割制御のマスタである通信ノード装置1600Dのタイマ値がインターバルTCに達するたびに行い、結果として図1の通信4A、4Bや通信5A、5Bが定期的に送信される。なお、通信3Bと5Bの間に、適宜RTT計測の処理が実行されてもよい。
通信3A、3Bを受信した通信ノード装置1600A、1600Bは、自身の上限通信帯域変更の計算に受信した結果情報を利用し、自身の送信帯域制御に反映する(図9のS503、S504)。例えば、受信した状態情報が通信ノード装置1600A、1600Bが、それぞれ3本、7本の有効なコネクションを利用していることを示す場合、通信ノード装置1600Aは、受信側の利用可能回線帯域に対し、3本/10本=30%、通信ノード装置1600Bは、受信側の利用可能回線帯域に対し、7本/10本=70%、をそれぞれの上限通信帯域として帯域制御をおこなう。その後の通信4A、4B、5A、5Bの受信時も、通信3A、3B受信時と同様の操作を行う。通知された結果情報が上限通信帯域そのものであれば、その上限通信帯域を利用すればよい。
なお、図1の例では、通信ノード装置1600Dから有効コネクション数を通知し、上限帯域を通信ノード装置1600A、通信ノード装置1600Bで求めているが、通信ノード装置1600Dが各通信ノード装置の上限帯域を求めて通信ノード装置1600A、通信ノード装置1600Bに通知するようにしてもよい。
図5に、実施例1における帯域分割制御を実行したことにより、通信ノード装置1600Aと通信ノード装置1600Bとの間で、共通の宛先である通信ノード装置1600Dへのデータ送信帯域が分割される例を示す。ここでは、通信ノード装置1600Aと通信ノード装置1600Dの間、および、通信ノード装置Bと通信ノード装置1600Dの間の通信遅延は等しいものとする。所定のインターバルTC間隔で上限帯域を計算し、その結果を通信ノード装置1600A、1600Bそれぞれのパケット送信量に反映することで、通信ノード装置1600A、1600BのインターバルTC毎のそれぞれの上限帯域の和が、通信ノード装置1600Dで共有する回線帯域となる。
図26に、図5のより詳細なイメージを示す。ここでは、インターバルTCが通信ノード装置1600Aと通信ノード装置1600D間のRTTの10倍程度(+αが9RTT程度)と想定した場合のイメージを示す。図中の左側の四角で示す91、92の上辺が、それぞれ通信ノード装置1600A、1600Bの上限帯域であり、破線93、実線94が通信ノード装置1600A、1600Bの送信帯域の推移である。いずれもインターバルTC内で本実施の形態におけるTCPを改善した通信制御をおこなう。図中の右側図の破線93’、実線94’は、通信ノード装置1600Dにおける通信ノード装置1600A、1600Bからの受信帯域の推移であり、点線88は、その合計受信帯域の推移である。このように、インターバルTC間隔で上限帯域を指定し、インターバル間では本実施の形態におけるTCPを改善した通信制御をおこなう。従来のTCP制御では、複数のコネクションの間の収束に数分から数十分のオーダで時間がかかる課題があるが、本実施の形態における通信制御では、本図で示すように、所定のインターバルTCおきに目標となる上限帯域を指定し、そこに向けて数回のRTT時間で収束できる。
1−4. 新規ノード追加時の処理
図12に、通信ノード装置1600C追加時の通信遅延を考慮した帯域分割制御の例を示す。この場合も、これまでに説明した内容をそのまま適用することができる。具体的には、通信ノード装置1600Cの追加を図3の管理ノード1700経由、または、直接、通信ノード装置1600Dによって検出、設定する。
通信ノード装置1600Cが追加された時点で、通信ノード装置1600Cと通信ノード装置1600Dの間で通信1C、2Cが取り交わされる。これは、通信ノード装置1600A、1600Bが通信ノード装置1600Dと取り交わした1A、1B、2A、2Bと同等である。
帯域分割制御のマスタである通信ノード装置1600Dは、図8のフローチャートのS401、S402、S403、S411の処理にて、通信ノード装置1600Cとの間のRTTを計測し、計測結果に基づいてインターバルTCを計算し直す。
具体的には、通信ノード装置1600Cとの間のRTTであるRTTcdがこれまで計測した通信ノード装置1600A、1600BのRTTであるRTTad、RTTbdより大きい場合には、インターバルTCをRTTcdより大きい値にして、関係する全通信ノード装置1600A、1600B、1600Cへ通知し、以後、その値を利用する。そうでない場合には、これまでのインターバルTCをそのまま利用する。なお、図12の黒丸は、実施例2で説明する通信遅延を考慮する場合に関連し、詳細は実施例2で説明する。
一方、これまで通信に参加していたいずれかの通信ノード装置1600からの通信がなくなり、該当する通信ノード装置1600が帯域分割制御の対象から離脱(削除)される場合も、インターバルTCの再計算を行う。例えば、離脱する通信ノード装置1600との間のRTTが、対象となる通信ノード装置1600との中で最大のRTTであったならば、次に大きいRTT以上の値となるようにインターバルTCの値を修正する。この場合、インターバルTCの値は修正前より小さな値になる。
以上記載の、通信相手から通知されたパケット受信中の総コネクション数に基づいて帯域制御する通信ノード装置により、端末間で公平な帯域割り当てが所定のインターバルで迅速に実現され、端末によらず、一定の通信品質が実現される。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよい。また、上記の各構成、機能などは、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラムの情報は、メモリやハードディスク、SSD(Solid State Drive)、等をはじめとする各種記録媒体に置くことが可能である。
実施例2では、通信相手から通知される総コネクション数と通信遅延に基づいて、総通信帯域を有効活用できるように帯域分割制御をおこなう通信ノード装置の構成、および、その制御方法等に関して説明する。
実施例1では、帯域分割制御のマスタである通信ノード装置1600Dと、帯域分割制御のスレーブとなる通信ノード装置1600A、1600Bの間の通信遅延(RTTadとRTTbd)がほぼ同等という前提で説明を行った。しかしながら、実際には、通信遅延が完全に同一という環境は稀有であり、厳密にはRTTadとRTTbdが異なる。
この状況で実施例1の制御を行った場合、通信ノード装置1600Dで観測する通信ノード装置1600A、1600Bからの通信の帯域利用状況の最大値は図6に示すようになる。図6の左下側は通信ノード装置1600Aにおける送信帯域最大値のイメージ91、図6の左上側は通信ノード装置1600Bにおける送信帯域最大値のイメージ92、図6の右側は通信ノード装置1600Dにおける受信最大帯域のイメージとなる。
通信ノード装置1600A、1600Bは、通信ノード装置1600Dから図1のシーケンスで示したように、帯域分割制御のマスタである通信ノード1600DがインターバルTCに達し、その結果情報が通信ノード装置1600A、1600Bに到着するたびに自身の上限通信帯域の変更を行う。ここでの到着タイミングにも遅延がある。このため、通信ノード装置1600A、1600Bの上限通信帯域の変更のタイミングは矢印97で示す分の時間のズレが発生する。この例では、「(RTTad―RTTbd)/2」が矢印97の時間のズレに相当する。
そして、この矢印97の時間のズレは、該当する通信データが通信ノード1600Dに到着する時には、さらにずれて矢印98の時間のズレとなる。すなわち、この例では、「(RTTad―RTTbd)」が矢印98の時間のズレとなる。
この場合、図6の右図中の破線95で示すように、通信ノード装置1600A、1600Bからの最大帯域の合計が想定する最大帯域まで達しないケースや、破線96で示すように、最大帯域の合計が想定する最大帯域を超過するケースが発生する。実際には、最大帯域を超過する場合は、その合計値が契約帯域を超えることができないため、超過分相当のパケットロスが発生し、結果として総通信帯域が減少してしまう。
実施例2では、上記のような最大帯域の合計値の未達や、最大帯域の合計値の超過による総通信帯域の減少を回避し、総通信帯域を有効活用できるように帯域分割制御をするために、図2に例示する帯域分割制御シーケンスを用いる。
通信ノード装置1600の基本構成は実施例1を踏襲するが、図21の協調制御マスタ部220の協調制御マスタ処理部の内容を図10で示すフローチャートを実行する形態にする。また、図22の協調制御スレーブ部230の代わりに図23の協調制御スレーブ部230を利用する。
図23の協調制御スレーブ部230は、図22の協調制御スレーブ部230に対してタイマ232とRTT記録部233とインターバルTC記録部234を追加し、さらに、協調制御スレーブ処理部231を図11で示すフローチャートを実行する形態にしたものである。
ここでは、実施例1との差異を図2、図10、図11を用いて説明する。実施例1と同様の処理は同じ符号を付し、詳細な説明を省略する。
図2において、帯域分割制御のマスタである通信ノード装置1600Dは、対象となる通信ノード装置1600A、1600Bに対して、それぞれ、通信1A、1Bにより、タイマ精度情報とタイマ初期値Tdの配布を行い、さらに、RTTの計測を開始する(図10のS401、S422)。
ここで、タイマ精度情報とは、タイマをどのような時間粒度で動作させるかを示す値であり、対象となる通信ノード装置間でタイマの進み方を同一にするためのものである。例えば、全てのタイマを1マイクロ秒単位、10マイクロ秒単位、1ミリ秒単位など所定の同一単位動作させることができる。タイマ精度情報、タイマ初期値は、予め定められることができる。
次に、通信1A、1Bを受け取った通信ノード装置1600A、1600Bは、帯域分割制御のスレーブとして動作する。具体的には、配布されたタイマ精度を自身のタイマに反映し、タイマの初期値を受信した値Tdにセットし、タイマをスタートさせる。また、RTT計測要求に対する返信を通信2A、2Bで行う(図11のS511、S512)。
通信2A、2Bを受信した帯域分割制御のマスタである通信ノード装置1600Dは、通信ノード装置1600A、1600B、それぞれのRTTの計測を完了する。さらに、このときの通信ノード装置1600A、1600Bの状態情報の計測を完了する。ここで、状態情報とは、例えば、有効な通信コネクションの数である(図10のS403)。
次に、帯域分割制御のマスタである通信ノード装置1600Dは、先のRTT計測結果を利用してインターバルTCを決定する。ここでは、実施例1同様に、通信ノード装置1600A、1600Dの間のRTTをRTTad、通信ノード装置1600B、1600Dの間のRTTをRTTbdと表現する。インターバルTCは、計測したRTTのうち、最大のもの(max(RTTad,RTTbd))を超える(+α)任意の値に設定する。また、必要であれば状態情報の計算を行い、結果情報を生成する。例えば、有効な通信コネクションの数の測定をもって結果情報とする(図10のS411)。例えば、合計して10本の有効なコネクションがあった場合、10本という数字を結果情報とする。
そして、帯域分割制御のマスタである通信ノード装置1600Dは、自身のタイマ値がインターバルTCに達すると(図10のS412)、通信3A、3Bによって、該当する全拠点ノード(ここでは通信ノード装置1600A、1600B)へ結果情報と、それぞれの通信ノード装置1600間におけるRTTと、インターバルTCとを送信する(図10のS423)。この操作は、帯域分割制御のマスタである通信ノード装置1600Dのタイマ値がインターバルTCに達するたびに行い、結果として図2の通信4A、4Bや通信5A、5Bが定期的に送信される。
さらに、通信ノード装置1600B、1600Cは、通信3A、3Bにより、RTT、インターバルTC、結果情報を受信すると(図11のS513)、自身の「(タイマ値)―(RTT)」がインターバルTCに達するたびに、実施例1と同様に自身の上限通信帯域変更の計算に受信した結果情報を利用し、自身の送信帯域制御に反映する(図11のS515)。なお、インターバルTCに達する条件は、図11のS514に示すように、((タイマ値)―(RTT))mod TC==0として表現できる。ここで、modはモジュロ演算、すなわち剰余を意味する。
図2の6A、6B、7A、7B、8A、8Bの黒丸は、この変更タイミングを示す。送信側の各ノード装置で、自身のRTTは異なるので、図2のように各ノード装置の送信タイミングがずれる。6Aと7Aの間、7Aと8Aの間、6Bと7Bの間、7Bと8Bの間、はインターバルTCとなる。通信4A、4B、5A、5Bを受信した時も、通信3A、3Bを受信したときと同様の処理を行う。
本操作を行うことにより、図7の右側に示すように、帯域分割制御のスレーブである通信ノード装置1600A、1600Bから、帯域分割制御のマスタである通信ノード装置1600Dへのデータ送信の最大帯域が有効に活用される。尚、図7の左側の通信ノード装置1600A、1600Bの時刻のズレを示す矢印99は、「(RTTad―RTTbd)/2」に相当する時間である。なお、上述の手法以外にも、適宜の手法で、送信側の通信ノード装置1600A、Bは、受信側の通信ノード装置1600Dがパケットを受信するタイミングである基準時刻に対して、計測される通信ノード装置1600Dとのラウンドトリップタイムの1/2だけ帯域更新のタイミングをずらしてもよい。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよい。また、上記の各構成、機能などは、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラムの情報は、メモリやハードディスク、SSD、等をはじめとする各種記録媒体に置くことが可能である。
実施例3では、実施例1や実施例2で示した通信ノード装置1600の機能を、通常のルータ装置またはスイッチ装置にサービスカード形式で提供する構成について説明する。
図24に実施例3における通信ノード装置1600の構成例を示す。通信ノード装置1600は、ネットワークインタフェースを収容する複数(N枚)のラインカード1610と、機能拡張を行うための複数(M枚)のサービスカード1630と、それらの間で適切なカードへパケットを転送するスイッチファブリック1620を備える。そして、サービスカード1630のうちの1枚、または複数枚に、実施例1、実施例2で説明した本発明のTX部102、RX部103、協調制御マスタ部220、協調制御スレーブ部230の機能を搭載する。
図25にサービスカード1630の構成例を示す。サービスカード1630は、スイッチファブリック1620へ接続するためのスイッチファブリックインタフェース1631、サービスを提供するプログラムを実行するためのプロセッシング部1632、及び、各種の情報を格納するためのメモリ1633、追加のデバイスやI/Oを接続するための拡張インタフェース1634を備える。プロセッシング部1632は、CPUやネットワークプロセッサ、メニーコアCPU、FPGA等の各種のプロセッシングデバイスが利用可能である。
パケットの宛先検索機能はラインカード1610上に実装されていても良いし、スイッチファブリック1620上に実装されていても良い。いずれにしても、通信ノード装置1600へラインカード経由で入力されたパケットは、宛先検索を行い、実施例1や実施例2で説明した通信ノード装置1600の機能を提供する場合には、サービスカード1630へ転送する。例えば、高機能なルータ装置やL3スイッチ装置に実装されているポリシーベースルーティングの機能を用いて、該当する通信をパケットの5タプル情報(送信元IPアドレス、宛先IPアドレス、プロトコル番号、送信元ポート番号、宛先ポート番号)にて該当する通信を識別することができる。
サービスカード1630上では、プロセッシング部1632に、本発明のTX部102、RX部103、協調制御マスタ部220、協調制御スレーブ部230の処理機能を搭載する。そして、メモリ1633には、本発明のTX部102、RX部103、協調制御マスタ部220、協調制御スレーブ部230の各種テーブルやタイマの値を保持する。
そして、プロセッシング部1632とメモリ1633を利用して、スイッチファブリックインタフェース1631から入力されてくるパケットに対して、実施例1、実施例2で説明した内容をプログラムとして実行する。実行後、実行結果となるパケットを、再び、スイッチファブリックインタフェース1631からスイッチファブリック1620経由で、宛先のネットワークに接続されるラインカード1610へ出力する。この操作を繰り返すことで、通常のルータ装置またはスイッチ装置にサービスカード形式で提供する構成の通信ノード装置1600を実現できる。
尚、本発明は上記実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明をわかり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
(構成例)
本実施の形態の通信ノード装置は、例えば、
パケット送信側にて、再送帯域を測定して再送帯域に基づく帯域制御を行いながらパケット送信を行う機能と、
パケット受信側にて、パケット廃棄箇所を検出して送信側に前記パケット廃棄箇所をフィードバック通知する機能と、
前記パケット送信側にて、前記フィードバック通知に基づくパケット再送を行う機能と、
前記パケット受信側にて、インターバルとして規定する一定の時刻に達するたびに、前記パケット送信側の利用可能通信帯域を分割することを特徴のひとつとする。
上述の通信ノード装置において、パケット送信側にて、パケット再送が発生中のコネクション数を測定して、前記再送発生中のコネクション数に基づく帯域制御をおこなうことを特徴のひとつとする。
上述の通信ノード装置において、パケット送信側にて、前記フィードバック通知されたパケット受信中のコネクション数を測定して、前記パケット受信中のコネクション数に基づく帯域制御をおこなうことを特徴のひとつとする。
上述の通信ノード装置において、
前記パケット受信側にて、複数のパケット送信側の通信ノード装置との間のラウンドトリップタイムを測定し、
前記ラウンドトリップタイムの中で最大のラウンドトリップタイム以上の値をインターバルとし、
前記インターバルの時刻が経過するたびに前記パケット送信側へ、パケット送信中の総コネクション数と契約帯域を通知することを特徴のひとつとする。
上述の通信ノード装置において、前記パケット送信側にて、前記パケット送信中の総コネクション数に対する自身のコネクション数の割合に前記契約帯域を乗じて、自身の最大通信帯域を算出し、前記自身の最大通信帯域の範囲内でパケット送信することを特徴のひとつとする。
上述の通信ノード装置において、前記パケット受信側にて、前記インターバルの時刻が経過するたびに、前記パケット送信側へ、前記インターバルを通知することを特徴のひとつとする。
上述の通信ノード装置において、前記パケット受信側にて、新規のパケット送信側にあたる通信ノード装置が通信帯域を共有する際に、該当する前記通信ノード装置との間のラウンドトリップタイムを計測し、現在、通信帯域を共有している複数の前記通信ノード装置の中で最大のラウンドトリップタイム以上の値で前記インターバルを更新することを特徴のひとつとする。
上述の通信ノード装置において、
前記パケット受信側にて、現在、通信帯域を共有しているパケット送信側にあたる通信ノード装置のいずれか一つ以上が、通信帯域の共有対象から離脱する際に、前記離脱する通信ノード装置のラウンドトリップタイムが、現在、通信帯域を共有している通信ノード装置の中で最大のラウンドトリップタイムであった場合、次に大きい値のラウンドトリップタイム以上の値で前記インターバルを更新することを特徴のひとつとする。
上述の通信ノード装置において、
前記パケット受信側にて、現在の時刻を示すタイマの時間粒度と、タイマの初期値として現在の時刻と、を前記パケット送信側に通知し、
前記パケット送信側にて、自身のタイマの時刻と時刻の進み方を前記パケット送信側に一致させることを特徴のひとつとする。
上述の通信ノード装置において、
前記パケット受信側にて、それぞれのパケット送信側の通信ノード装置との間のラウンドトリップタイムと、を前記パケット送信側に通知し、
前記パケット送信側にて、自身のタイマの時刻から前記ラウンドトリップタイムを減じた値を前記インターバルで割った値がゼロに達するたびに、
前記パケット送信中の総コネクション数に対する自身のコネクション数の割合に前記契約帯域を乗じて、自身の最大通信帯域を算出し、
前記自身の最大通信帯域の範囲内でパケット送信することを特徴のひとつとする。
上述の通信ノード装置において、前記の全ての機能が、通信ノード装置上のプログラム可能なデバイスを搭載したサービスカードとして提供され、帯域分割の対象となる通信は、前記通信ノード装置の中の前記サービスカード上で実行されることを特徴のひとつとする。
本発明は、例えば、帯域制御を行う通信ネットワークに利用可能である。
102 TX部
103 RX部
220 協調制御マスタ部
230 協調制御スレーブ部
1500 端末
1550 LAN
1600 通信ノード装置
1610 ラインカード
1620 スイッチファブリック
1630 サービスカード
1650 WAN
1700 管理ノード

Claims (18)

  1. クライアント側にて、再送帯域を測定し、コネクション毎に基準時間前の制御帯域から前記再送帯域を減算した帯域が基準時間後の制御帯域となるように変更する帯域制御を行いながらパケット送信を行い、フィードバック通知されるパケット廃棄箇所に基づきパケット再送を行う複数の第1ノード装置と、
    サーバ側にて、複数の前記第1ノード装置と通信し、パケット廃棄箇所を検出して送信側の前記第1ノード装置に前記パケット廃棄箇所をフィードバック通知する第2ノード装置と
    を備え、
    インターバルとして規定する一定の時刻に達するたびに、前記第2ノード装置の複数の前記第1ノード装置との回線の利用可能通信帯域を、各第1ノード装置と前記第2ノード装置とのコネクション数に基づき各第1ノード装置の通信帯域に分割し、前記第1ノード装置毎の上限通信帯域とすることを特徴とする通信システム。
  2. クライアント側の前記第1ノード装置の少なくともひとつは、パケット送受信が行われている有効なコネクション数を測定して、前記有効なコネクション数に基づき、前記利用可能通信帯域を分割することを特徴とする請求項1に記載の通信システム。
  3. クライアント側の前記第1ノード装置の少なくともひとつは、パケット再送が発生中のコネクション数を測定して、前記再送発生中のコネクション数に基づき、前記利用可能通信帯域を分割することを特徴とする請求項1に記載の通信システム。
  4. クライアント側の前記第1ノード装置の少なくともひとつは、前記フィードバック通知されたパケット受信中のコネクション数を測定して、前記パケット受信中のコネクション数に基づき、前記利用可能通信帯域を分割することを特徴とする請求項1に記載の通信システム。
  5. 前記第2ノード装置は、
    パケット送信側の複数の前記第1ノード装置との間のラウンドトリップタイムをそれぞれ測定し、
    各ラウンドトリップタイムの中で最大のラウンドトリップタイム以上の値を前記インターバルとして設定し、
    該インターバルが経過するたびに、前記第1ノード装置へ、前記第2ノード装置が受信している総コネクション数と契約帯域とを通知することを特徴とする請求項1に記載の通信システム。
  6. パケット送信側の前記第1ノード装置は、前記第2ノード装置での総コネクション数に対する自身のコネクション数の割合に前記契約帯域を乗じて、自身の上限通信帯域を算出し、前記自身の最大通信帯域の範囲内でパケット送信することを特徴とする請求項5に記載の通信システム。
  7. パケット受信側の前記第2ノード装置は、前記インターバルの時刻が経過するたびに、パケット送信側の第1ノード装置へ、前記インターバルを通知することを特徴とする請求項1に記載の通信システム。
  8. 前記第2ノード装置にて、パケット送信側にあたる新規の第3ノード装置と、複数の前記第1ノード装置が通信帯域を共有する際に、
    前記第2ノード装置は、前記第3ノード装置との間のラウンドトリップタイムを計測し、現在、通信帯域を共有している複数の前記第1ノード装置と前記第3ノード装置の中で最大のラウンドトリップタイム以上の値で前記インターバルを更新することを特徴とする請求項1に記載の通信システム。
  9. 前記第2ノード装置にて、現在、通信帯域を共有しているパケット送信側にあたる前記第1ノード装置の少なくともひとつが、通信帯域の共有対象から離脱する際に、
    離脱する前記第1ノード装置のラウンドトリップタイムが、現在、通信帯域を共有している前記第1ノード装置の中で最大のラウンドトリップタイムであった場合、次に大きい値のラウンドトリップタイム以上の値で前記インターバルを更新することを特徴とする請求項1に記載の通信システム。
  10. 前記第1ノード装置は、前記第2ノード装置がパケットを受信するタイミングである基準時刻に対して、計測される前記第2ノード装置とのラウンドトリップタイムの1/2だけ帯域更新のタイミングをずらすことを特徴とする請求項1に記載の通信システム。
  11. 前記第2ノード装置は、現在の時刻を示すタイマの単位時間を示す時間精度と、タイマの初期値とを前記第1ノード装置に通知し、
    前記第1ノード装置は、自身のタイマの時刻と時間精度を、通知されたタイマ初期値と時間粒度とに基づき設定することを特徴とする請求項1に記載の通信システム。
  12. 前記第1ノード装置は、タイマ初期値と時間粒度とを受信した時点で自身のタイマの時刻と、時間精度とを設定し、
    パケット受信側の前記第2ノード装置は、パケット送信側の各第1ノード装置との間のラウンドトリップタイムをパケット送信側の前記第1ノード装置に通知し、
    前記第1ノード装置にて、自身のタイマの時刻から前記ラウンドトリップタイムを減じた値を前記インターバルで割った値がゼロに達するたびに、前記第2ノード装置が受信している総コネクション数に対する自身のコネクション数の割合に前記第2ノード装置から通知される契約帯域を乗じて、自身の上限通信帯域を算出し、該自身の上限通信帯域の範囲内でパケットを送信することを特徴とする請求項10に記載の通信システム。
  13. クライアント側にて、再送帯域を測定し、コネクション毎に基準時間前の制御帯域から前記再送帯域を減算した帯域が基準時間後の制御帯域となるように変更する帯域制御を行いながらパケット送信を行い、フィードバック通知されるパケット廃棄箇所に基づきパケット再送を行う複数の第1ノード装置と、サーバ側にて、複数の前記第1ノード装置と通信し、パケット廃棄箇所を検出して送信側の前記第1ノード装置に前記パケット廃棄箇所をフィードバック通知する第2ノード装置とを備えた通信システムにおいて、前記第2ノード装置として用いられるノード装置であって、
    インターバルとして規定する一定の時刻に達するたびに、前記第2ノード装置と複数の前記第1ノード装置との回線の利用可能通信帯域を、各第1ノード装置と前記第2ノード装置とのコネクション数に基づき各第1ノード装置の通信帯域に分割し、前記第1ノード装置毎の上限通信帯域とすることを特徴とする前記ノード装置。
  14. 前記第1ノード装置の少なくともひとつは、パケット送受信が行われている有効なコネクション数を測定して、前記有効なコネクション数に基づき、前記利用可能通信帯域を分割することを特徴とする請求項13に記載の前記ノード装置。
  15. クライアント側にて、再送帯域を測定し、コネクション毎に基準時間前の制御帯域から前記再送帯域を減算した帯域が基準時間後の制御帯域となるように変更する帯域制御を行いながらパケット送信を行い、フィードバック通知されるパケット廃棄箇所に基づきパケット再送を行う複数の第1ノード装置と、サーバ側にて、複数の前記第1ノード装置と通信し、パケット廃棄箇所を検出して送信側の前記第1ノード装置に前記パケット廃棄箇所をフィードバック通知する第2ノード装置とを備えた通信システムにおいて、前記第1ノード装置として用いられるノード装置であって、
    インターバルとして規定する一定の時刻に達するたびに、前記第2ノード装置と複数の前記第1ノード装置との回線の利用可能通信帯域を、各第1ノード装置と前記第2ノード装置とのコネクション数に基づき分割した、自ノード装置の上限通信帯域を決定することを特徴とする前記ノード装置。
  16. 前記第1ノード装置の少なくともひとつは、パケット送受信が行われている有効なコネクション数を測定して、前記有効なコネクション数に基づき、前記利用可能通信帯域を分割することを特徴とする請求項15に記載の前記ノード装置。
  17. 帯域分割の機能がノード装置上のプログラム可能なデバイスを搭載したサービスカードとして提供され、
    帯域分割の対象となる通信は、前記ノード装置の中の前記サービスカード上で実行されることを特徴とする請求項13から16のいずれかに記載の通信ノード装置。
  18. 前記第2ノード装置は、
    前記コネクション数および前記第1ノード装置が属するユーザ拠点の優先度による重みづけに基づいて、前記上限通信帯域を決定し、前記第1ノード装置に通知することを特徴とする請求項1に記載の通信システム。
JP2010272441A 2010-12-07 2010-12-07 通信システム及びノード装置 Expired - Fee Related JP5662779B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010272441A JP5662779B2 (ja) 2010-12-07 2010-12-07 通信システム及びノード装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010272441A JP5662779B2 (ja) 2010-12-07 2010-12-07 通信システム及びノード装置

Publications (3)

Publication Number Publication Date
JP2012124647A JP2012124647A (ja) 2012-06-28
JP2012124647A5 JP2012124647A5 (ja) 2013-08-29
JP5662779B2 true JP5662779B2 (ja) 2015-02-04

Family

ID=46505657

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010272441A Expired - Fee Related JP5662779B2 (ja) 2010-12-07 2010-12-07 通信システム及びノード装置

Country Status (1)

Country Link
JP (1) JP5662779B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014068818A1 (ja) * 2012-10-31 2014-05-08 日本電気株式会社 Mplsネットワーク及びそれに用いるトラフィック制御方法
US10187817B2 (en) 2015-05-27 2019-01-22 Qualcomm Incorporated Measuring distance in wireless devices
JP6145190B1 (ja) * 2016-03-02 2017-06-07 チエル株式会社 中継装置、中継方法及び中継プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0974420A (ja) * 1995-09-06 1997-03-18 Fujitsu Ltd 帯域制御方式
JP2832591B2 (ja) * 1995-12-01 1998-12-09 株式会社超高速ネットワーク・コンピュータ技術研究所 一斉通知型輻輳制御方式
JP2002247063A (ja) * 2001-02-22 2002-08-30 Nippon Telegr & Teleph Corp <Ntt> パケット多重化方式
JP2008511205A (ja) * 2004-08-17 2008-04-10 カリフォルニア・インスティチュート・オブ・テクノロジー キュー制御と1方向遅延測定を用いた、ネットワークの輻輳を制御する方法および装置
CN102577267B (zh) * 2009-09-16 2014-12-24 株式会社日立制作所 使终端之间的通信高速化的通信装置及通信系统

Also Published As

Publication number Publication date
JP2012124647A (ja) 2012-06-28

Similar Documents

Publication Publication Date Title
US10554538B2 (en) Dynamic link state routing protocol
US8943206B2 (en) Network bandwidth detection and distribution
WO2021008473A1 (zh) 一种评估往返时延的系统、方法及装置
JP6319608B2 (ja) 伝送制御方法、装置およびシステム
JP4430597B2 (ja) ネットワークシステム、送信側振分装置、パケット通信方法、および、パケット通信プログラム
US9660912B2 (en) Control of packet transfer through a multipath session comprising a single congestion window
JP5867160B2 (ja) 通信制御装置、通信制御方法および通信制御プログラム
JP2005537764A (ja) 優先度及びリザーブ帯域幅プロトコルを利用したネットワークにおけるQoSを提供する機構
WO2019080938A1 (zh) 一种传输数据的方法、装置和设备
Betzler et al. Congestion control for CoAP cloud services
JP2015534352A (ja) データ転送レートを増加させるためのデータストリーム分割
US9621412B2 (en) Method for guaranteeing service continuity in a telecommunication network and system thereof
WO2017114231A1 (zh) 一种报文发送方法、tcp代理以及tcp客户端
Bui et al. A markovian approach to multipath data transfer in overlay networks
Lu Sed: An sdn-based explicit-deadline-aware tcp for cloud data center networks
JP2017092665A (ja) 通信装置および通信方法
JP5662779B2 (ja) 通信システム及びノード装置
US12081433B2 (en) Method, network device, and system for controlling packet sending
Skodzik et al. CoHaRT: A P2P-based deterministic transmission of large data amounts using CoAP
Zinner et al. Using concurrent multipath transmission for transport virtualization: analyzing path selection
CN113950099B (zh) 一种网络拥塞控制方法及设备
JP2004135065A (ja) 送信端末、受信端末及びデータ伝送システム
JP2012109975A (ja) 複数の通信インターフェースを有する通信機器間の通信パスを決定する方法及び装置
JP2010268368A (ja) ネットワークにおけるサーバ選択方法,選択システム及びプログラム
Reddy et al. Ant‐inspired level‐based congestion control for wireless mesh networks

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130710

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130710

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140501

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140627

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141205

R150 Certificate of patent or registration of utility model

Ref document number: 5662779

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees