(57)【要約】【課題】非定常なトラフィックが生じた場合の輻輳状態を低減すること。【解決手段】端末１４０から受け取った複数のデータはデータ記憶部１０８に格納される。送信制御部１１４は、ネットワークインターフェイス１０４からの指示により送信すべきデータをデータ記憶部１０８から取得し、取得したデータを、ネットワークインターフェイス１０４を介して通信制御装置１５０へ送信する。このとき送信制御部１１４は、利用可能な帯域を超えないように、かつ、単位時間あたりのデータ送信量が平滑化するように、データ送信量を調整する。【選択図】  図４
2006087010.tif 000002
【特許請求の範囲】
【請求項１】
複数の端末と接続されるとともに、ネットワークを介して情報処理装置に接続され、前記端末から受信したデータを前記情報処理装置に転送する通信制御装置であって、
前記端末から受信したデータを記憶するデータ記憶部と、
前記端末からデータを受信したとき、該データを前記データ記憶部に記憶させるとともに前記端末との通信を終端する端末管理部と、
前記データ記憶部に格納された前記データを取得し、送信データ量を制御しつつ取得した前記データを前記情報処理装置へ送信する送信制御部と、
を備えることを特徴とする通信制御装置。
【請求項２】
請求項１に記載の通信制御装置において、
前記データ記憶部にアクセスし、前記データ記憶部に格納された前記データの量を検知し、前記データの量に基づいて、受信可能データ量を判断する受付可否判断部と、
前記受信可能データ量とともに、前記端末から受信したデータが正常であった場合には確認応答を、欠損や誤りがあった場合には再送要求信号を、それぞれ前記端末へ送信する受信結果通知部と、
をさらに備え、
前記端末から受信したデータの量が、前記受信可能データ量以下である場合に、前記データ記憶部に前記データが格納されるように構成されたことを特徴とする通信制御装置。
【請求項３】
請求項１に記載の通信制御装置において、
前記送信制御部は、単位時間あたりのデータ送信量を平滑化する機能を有することを特徴とする通信制御装置。
【請求項４】
請求項１に記載の通信制御装置において、
前記情報処理装置へ送信したデータの受信完了情報に基づいて送信可能データ量を判断する受信完了情報解析部と、
前記送信可能データ量を記憶する通信情報記憶部と、
をさらに備え、
前記送信制御部は、前記送信可能データ量を超えないようにデータ送信量を制御することを特徴とする通信制御装置。
【請求項５】
請求項１に記載の通信制御装置において、
前記送信制御部は、まとまって送られる通信データ単位の間のデータが送られない時間を調整することによりデータ送信量を制御することを特徴とする通信制御装置。
【請求項６】
第一の端末群と、該第一の端末群と第一のネットワークを介して接続される第一の通信制御装置と、
前記第一の通信制御装置と第二のネットワークを介して接続される第二の通信制御装置と、
第一の通信制御装置と第三のネットワークを介して接続される第二の端末群と
を備えるネットワークシステムであって、
第一の通信制御装置および第二の通信制御装置が、いずれも、請求項１に記載の通信制御装置であることを特徴とするネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末から受け取ったデータをネットワーク上に転送する通信制御装置およびそれを用いたネットワークシステムに関するものである。
【背景技術】
【０００２】
インターネットなどのネットワークでは、インターネットプロトコル（ＩＰ）を用いた通信が広く用いられ、その上で確実にデータの受け渡しを行うためにトランスポート制御プロトコル（ＴＣＰ）を用いた通信が行われている。ＴＣＰを用いた通信（以下、ＴＣＰ通信という）では、送信側と受信側との間にコネクションと呼ぶ仮想的な通信路が設けられ、データはセグメントと呼ばれる単位で送受される。セグメントを受信すると、受信側は送信側に確認応答メッセージを送り、送信側がこれを確認することにより確実なセグメントの受け渡しを実現する。
【０００３】
ＴＣＰ通信では、セグメントが正しく受信側に受信されなかった場合に再度送信を行うために、送信側は確認応答を受け取るまでに送信したセグメントを保存しておく。多くのＴＣＰ通信を行う通信制御装置は、大量のデータの転送を効率よく行うために、既に送ったセグメントの確認応答を受け取る前にさらに次のセグメントを送ることができるように構成されている。
【０００４】
確認応答を受け取ることなく送信できるセグメントの量は、輻輳ウィンドウと呼ばれるウィンドウの大きさにより決まる。受信側がデータを受け取ると、すぐに確認応答メッセージを送る場合、輻輳ウィンドウの大きさは往復遅延時間の間に送信できるセグメント量に等しい。したがって、輻輳ウィンドウの大きさにより単位時間当たりの平均送出量を制御することができる。輻輳ウィンドウはコネクションごとに設けられる。通信の規模を表す指標として「帯域遅延積」が用いられる。この「帯域遅延積」は、通信帯域と通信遅延の積である。ここでの帯域遅延積の遅延は往復遅延を指すものとする。このため、ある帯域で通信するために必要な輻輳ウィンドウの大きさは、帯域遅延積に等しい。
【０００５】
ところで、広域で通常利用されるネットワークにおいては、占有して利用できる一定帯域の通信路が送信側から受信側まで提供されることはあまりなく、ほとんどの場合、途中の通信路の伝送可能帯域が他の部分と比べて小さいか、他の通信と通信路を共有する部分があるために、その部分で利用可能な帯域が他の部分と比べて小さいなど、帯域上において通信の隘路（ボトルネック）となる部分がある。通信路の隘路となる部分では、利用可能な帯域以上に伝送データが到着した場合、一部のデータが破棄される等の問題が発生する。
【０００６】
上記の問題について、図１を参照して説明する。図１は、データ転送において帯域上の隘路がある場合の状態を説明する図である。図１において、データ送出元のデータ転送装置１０ａおよびデータ転送装置１０ｂは、ワークステーションやパーソナルコンピュータ等の計算機であってもよいし、そのほかのＴＣＰ通信を行える通信装置でもよい。
【０００７】
隘路１２においては利用可能な帯域は限られているので、隘路１２においてスイッチ１１から送られたデータが利用できる帯域が制限されることになる。このような制限が発生する理由は、線路の伝送容量が小さい場合や、他の通信と合流するために利用可能帯域が小さい場合などの理由によるものである。
【０００８】
データ転送装置１０ａおよびデータ転送装置１０ｂは、合計の送信帯域が隘路１２で利用可能な帯域に合致するように輻輳ウィンドウの最大値が設定される。この場合の送信帯域について説明すると、図１には、その模式図を通信帯域２０ａおよび通信帯域２０ｂとして図示している。また、ここでのＲＴＴは往復遅延時間であり、往復遅延時間で帯域を平均した平均帯域の合計は、隘路１２での利用可能な帯域に合致している。しかし、ＲＴＴ内では帯域は変動している。これらの通信がスイッチ１１において合流して隘路１２へ送られると、通信帯域２１として図示するように、隘路１２で利用可能な帯域を越える部分が破棄されてしまい、輻輳状態とみなされてしまう。
【０００９】
また、通信路の一部を共有する他の通信がある場合、送出レートの変動は他の通信に輻輳を発生させるなどの影響を及ぼし、通信帯域の効率利用を妨げると同時に、通信間の公平性を失う可能性がある。これは、往復遅延時間が大きく異なる通信が通信路の一部を共有する場合に顕著である。
【００１０】
こうした問題に対応して、ＴＣＰ／ＩＰにおいては、以下のような調整機能が設けられている。すなわち、通信路の隘路となる部分でセグメントが失われたり長時間届かなかったりすると、輻輳が発生したとみなされ、輻輳ウィンドウが小さくなり単位時間あたりの送出量が減る。このような輻輳ウィンドウの大きさを動的に変更する手法によって、単位時間あたりの送出量は自動的に調整され、利用可能は帯域を効率よく利用することができる。複数の通信において同一の隘路が利用される場合には、このような手法により公平な通信が行われる。
【００１１】
ところが、上記のように輻輳ウィンドウの大きさを動的に変更する手法は、単一の端末装置間の通信（コネクション）についてはある程度適切な流量制限を実現することができるものの、複数のコネクションが同一のボトルネックリンクを通る場合についてはうまく機能させることが難しかった。複数のコネクション間の通信では、複数コネクションの合計流量を適切に制限することが要求されるところ、個々のコネクションの通信量は、定常的でないことが多く、通信量や利用以下能な帯域が変動しがちである。こうした事情から、複数コネクションの合計流量を制限することが困難となっていた。
【００１２】
たとえば、端末から間欠的にデータが送信される状況においては、ネットワークに定常的でない通信トラフィックが生じ、上記のような調整機能は有効に機能しなくなることがある。これは、個々のコネクションのトラフィックが非定常な場合、通信しようとする平均帯域の合計が隘路の帯域を下回っていても短時間に隘路の帯域を超える通信が発生することによる。
このような非定常なトラフィックが発生すると、隘路となる部分でデータが破棄される。この場合、
(i)破棄されたパケットはＴＣＰ／ＩＰにより再送が行われ、このために無駄な通信が増える、
(ii)プログラム間の依存関係によっては再送タイムアウトが発生し、効率が著しく低下する、
といった現象が起き、隘路の帯域をはるかに下回る実効通信帯域しか得ることができなくなってしまう。
【００１３】
このような問題を解決する一つの方法は、送信側のデータ転送装置において精密な帯域制御を行うことである。特許文献１には、こうした帯域制御を行う装置が開示されている。この装置においては、要求された送信帯域と実際に送出される送信帯域との誤差をなくすシェービングを行い、これにより、通信コストを低減している。しかしながら、この装置では、前述したような定常的でない通信におけるトラフィックを解決することは困難である。
【特許文献１】特開２０００−２５３０５６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
本発明は上記事情に鑑みなされたものであって、その目的とするところは、通信路の輻輳状態を低減すること、特に、非定常なトラフィックが生じた場合の輻輳状態を低減することにある。
【課題を解決するための手段】
【００１５】
本発明によれば、複数の端末と接続されるとともに、ネットワークを介して情報処理装置に接続され、前記端末から受信したデータを前記情報処理装置に転送する通信制御装置であって、前記端末から受信したデータを記憶するデータ記憶部と、前記端末からデータを受信したとき、該データを前記データ記憶部に記憶させるとともに前記端末との通信を終端する端末管理部と、前記データ記憶部に格納された前記データを取得し、送信データ量を制御しつつ取得したデータを前記情報処理装置へ送信する送信制御部と、を備えることを特徴とする通信制御装置が提供される。
【００１６】
本発明に係る通信制御装置は、端末から受け取った複数のデータを一度に送ることなく、一度記憶部に格納した後、ネットワークへ過剰な負荷がかからないように制御をかけながらデータ送信する構成としている。
前述したように、複数のコネクション間の合計通信量を適切に制限することは困難である。そこで本発明においては、複数の端末と本発明に係る通信制御装置との間にある複数のコネクションをいったん終端し、本発明に係る通信制御装置と、上記情報処理装置との間は単一のコネクションとして流量を制限しながら通信を行うこととしている。このため、各端末からのデータ送信量が変動するような場合であっても、本発明の装置によりデータ送信量が平準化され、当該装置と他の装置との間の通信を定常的にすることができ、輻輳の発生を効果的に抑制することができる。
【００１７】
本発明の通信制御装置において、前記データ記憶部にアクセスし、前記データ記憶部に格納された前記データの量を検知し、前記データの量に基づいて、受信可能データ量を判断する受付可否判断部と、前記受信可能データ量とともに、前記端末から受信したデータが正常であった場合には確認応答を、欠損や誤りがあった場合には再送要求信号を、それぞれ前記端末へ送信する受信結果通知部と、をさらに備え、前記端末から受信したデータの量が、前記受信可能データ量以下である場合に、前記データ記憶部に前記データが格納される構成としてもよい。
この構成によれば、複数の端末からのデータ送信が集中した場合にも本発明の通信制御装置によって調整が図られるので、上記データ送信の集中が、本発明の通信制御装置と他の情報処理装置との間の通信性能に影響を及ぼすことを抑制できる。
【００１８】
また、前記送信制御部は、単位時間あたりのデータ送信量を平滑化する機能を有するものとすることができる。このようにすれば、本発明の通信制御装置と他の情報処理装置との間の通信性能を向上させることができる。
【００１９】
また、上記装置は、前記情報処理装置へ送信したデータの受信完了情報に基づいて送信可能データ量を判断する受信完了情報解析部と、前記送信可能データ量を記憶する通信情報記憶部と、をさらに備え、前記送信制御部は、前記送信可能データ量を超えないようにデータ送信量を制御する構成とすることができる。この構成によれば、通信帯域を確実に把握することができるので、通信帯域のより効率的な利用が可能となる。
【００２０】
さらに本発明において、前記送信制御部は、まとまって送られる通信データ単位の間のデータが送られない時間を調整することによりデータ送信量を制御する構成としてもよい。このようにすれば、データ送信量の制限および平滑化を簡便な構成で実現できる。
【００２１】
また、本発明によれば、第一の端末群と、該第一の端末群と第一のネットワークを介して接続される第一の通信制御装置と、前記第一の通信制御装置と第二のネットワークを介して接続される第二の通信制御装置と、第一の通信制御装置と第三のネットワークを介して接続される第二の端末群とを備えるネットワークシステムであって、第一の通信制御装置および第二の通信制御装置が、いずれも、請求項１に記載の通信制御装置であることを特徴とするネットワークシステムが提供される。
【００２２】
このシステムによれば、端末群からのデータ送信量の変動にかかわらず第一および第二の通信制御装置間のデータ通信を安定的に行うことができる。端末群からのデータ送信が集中した場合でも輻輳を回避することができる。
【００２３】
また、第一のネットワークおよび第三のネットワークについては、たとえばプライベートＩＰアドレスを用いた通信を行うように構成できる。このため本発明は、グリッド・コンピューティング環境のように個々の端末に関する情報を非公開にすることが望まれるシステムに、好適に適用することができる。
【発明の効果】
【００２４】
本発明の通信路制御装置によれば、端末から受け取った複数のデータを一度に送ることなく、一度記憶部に格納した後、ネットワークへの過剰な負荷がかからないように制御をかけながらデータ送信する構成としているため、輻輳の発生を効果的に抑制することができる。
【発明を実施するための最良の形態】
【００２５】
以下、図面を参照して実施の形態について説明する。
【００２６】
図２は、本発明に係る通信制御装置を用いた通信システムである。このシステムは、複数の端末１４０と複数の端末１６０との間における多対多のデータ通信を実現するものである。従来の通信システムは、図３に示すように端末１４０と端末１６０とが直接接続され、これらの間に多数のコネクションが存在する形態となっていた。このため、通信経路中に存在するボトルネック（隘路）においてコネクション間の競合が生じ、輻輳が起きやすかった。
【００２７】
これに対し、本実施形態では、複数の端末１４０を管理する通信制御装置１００、および、複数の端末１６０を管理する通信制御装置１５０をそれぞれ設けている。これにより、通信制御装置１００と通信制御装置１５０との間では、単一コネクションによる通信が行われ、従来技術の有する輻輳の問題が解決される。
【００２８】
端末１４０と通信制御装置１００との間、通信制御装置１５０と端末１６０との間および通信制御装置１００と通信制御装置１５０との間は、それぞれＴＣＰ／ＩＰによる通信が行われる。
通信制御装置１００はＴＣＰコネクションを終端する機能を有しており、端末１４０から通信制御装置１００へ向かう通信は通信制御装置１００により終端される。通信制御装置１５０も通信制御装置１００と同様の機能を有し、端末１６０から送出されたデータを通信制御装置１５０が制御しながらネットワーク上へデータを送出する。
【００２９】
通信制御装置１００は、各端末１４０から受信したデータをいったん保持し、保持したデータを、データ送信量を制御しながら通信制御装置１５０へ送信する。通信制御装置１００と通信制御装置１５０との間にはボトルネックが存在し、これによりネットワークの帯域が決定される。通信制御装置１００は、この帯域を超えないように、かつ、送信データ量が平滑化されるようにデータ送出量を制御しながら、上記データを通信制御装置１５０へ送信する。
【００３０】
以下、通信制御装置１００の機能についてより詳細に説明する。
【００３１】
図４は、通信制御装置１００の機能ブロックの一例を示す図である。通信制御装置１００は、複数の端末１４０を管理する端末管理部１０２と、ネットワークを介して通信制御装置１５０と通信を行うネットワークインターフェイス１０４とを備える。
【００３２】
端末管理部１０２は、端末１４０から送出されたデータを受信する。端末管理部１０２は、データを受信すると、その旨を受付可否判断部１０３へ通知する。
【００３３】
受付可否判断部１０３は、この通知に対応し、データ記憶部１０８に蓄積されているデータの量等を考慮し、端末１４０から受信することのできるデータ量を判定した後、これを、受信結果通知部１０６を介して端末１４０に通知する。そして、端末１４０から受信したデータの量が、上記受信可能なデータ量以下である場合、端末１４０から受け取ったデータをデータ記憶部１０８に格納する。
受信結果通知部１０６は、上記受信可能なデータ量を端末１４０に通知するとともに、端末１０４から受信したデータが正常であった場合には確認応答を、欠損や誤りがあった場合には再送要求信号を、それぞれ端末１０４へ送信する。
【００３４】
上記通信が終端すると、その旨がネットワークインターフェイス１０４に通知される。すると、ネットワークインターフェイス１０４は送信制御部１１４に対し、端末１４０から取得したデータの送信を指示する。
【００３５】
送信制御部１１４は、ネットワークインターフェイス１０４からの指示に対応し、送信すべきデータをデータ記憶部１０８から取得し、取得したデータを、ネットワークインターフェイス１０４を介して通信制御装置１５０へ送信する。このとき送信制御部１１４は、利用可能な帯域を超えないように、かつ、単位時間あたりのデータ送信量が平滑化するように、データ送信量および送信スケジュールを調整する。データ送信量を制限し平滑化する方式としては種々の態様が可能であるが、たとえば、ペーシングによる方法が有効である。ペーシングとは、まとまって送られる通信データ単位（例えばイーサネット（登録商標）ではフレーム）の間のデータが送られない時間（イーサネット（登録商標）ではInter frame Gap）を調整する方法をいう。送信制御部１１４は、このようなペーシングを実行する機能を有していても良い。
【００３６】
送信制御部１１４は、通信制御装置１５０へデータを送信するにあたり、通信情報記憶部１２０にアクセスしてデータ送信可能量（帯域）に関する情報を取得する。後述するように通信情報記憶部１２０には、通信制御装置１００と通信制御装置１５０との間の通信実績から得られたデータ送信可能量に関する情報、すなわち、通信帯域に関する情報が格納されている。送信制御部１１４は、この情報を考慮し、利用可能帯域を超えないようにデータ送信量を調整する。
【００３７】
送信制御部１１４からネットワークインターフェイス１０４を介して通信制御装置１５０へデータが送信されると、所定時間経過後、ネットワークインターフェイス１０４は、通信制御装置１５０から受信完了情報を受信する。受信完了情報は、受信受信完了情報解析部１１６へ送出される。受信完了情報解析部１１６は、受信完了情報に含まれる一回に送信可能なデータ量を抽出し、この情報を通信情報記憶部１２０へ格納する。この情報は、前述したように、送信制御部１１４における送信データ量の制御に利用される。以上のようにして、端末１４０から受信したデータが、通信制御１００により、通信制御１５０へ転送される。
【００３８】
以下、本実施形態に係る通信制御装置１００の効果について説明する。
【００３９】
従来の通信システムにおいては、図３に示したように、端末１４０と端末１６０との間で直接データが送受信されるので、端末同士間に多対多の関係で多くのコネクションが形成される。そして、各コネクションは、それぞれ帯域遅延積に相当する大きな輻輳ウィンドウを有することとなる。このため、各コネクションがいっせいに利用可能な帯域まで通信路を使用した場合、輻輳が生じ、通信データの一部が破棄される。
【００４０】
これに対し本実施形態の通信システムにおいては、輻輳ウィンドウは通信制御装置１００と通信制御装置１５０との間の単一コネクションの帯域遅延積に対応して決定される。コネクションが単一であり、しかも、通信路に送出される単位時間あたりのデータ量が通信制御装置１００や端末１６０により適切に制御されるので、輻輳の発生を効果的に抑制することができる。
【００４１】
また、本実施形態に係る通信制御装置１００によれば、複数の端末１４０からのデータ送信が集中しても輻輳を効果的に回避することができる。端末１４０から送信されたデータは、通信制御装置１００内のデータ記憶部１０８に一時格納され、その後、適切に制御されながら通信制御装置１５０へ送信される。また、データ記憶部１０８に格納できない程度の大量のデータが通信制御装置１００へ送信された場合には、通信制御装置１００はこれらのデータの受付を拒否し、端末１４０に対して再送要求を送信する。このように本実施形態のシステムは、端末１４０からのデータ送信量の変動にかかわらず通信制御装置１００と通信制御装置１５０との間のデータ通信を安定的に行うことができるように構成されており、複数の端末１４０によるデータ送信が集中した場合でも輻輳を回避することができる。
【００４２】
また、本実施形態では、上記のように複数の端末１４０から送信されたデータに対する再送要求が端末１４０と通信制御装置１００との間のネットワーク内で送受される構成となっている。このため、従来問題となって再送要求の引き起こすトラフィックや再送タイムアウトの問題が発生しにくく、この点からも通信性能の向上が図られる。
【００４３】
さらに、本実施形態のシステムによれば、端末１４０と通信制御装置１００との間、および、通信制御装置１５０と端末１６０との間は、それぞれ、プライベートＩＰアドレスを用いた通信を行うようにすることができる。このため、グリッド・コンピューティング環境のように個々の端末に関する情報を非公開にすることが望まれるシステムに、好適に適用することができる。
なお、本実施形態のシステムは、双方向の通信が可能であることはいうまでもない。
【００４４】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
【００４５】
たとえば、本実施形態では、端末１４０と通信制御装置１００との間、通信制御装置１５０と端末１６０との間および通信制御装置１００と通信制御装置１５０との間を、それぞれＴＣＰ／ＩＰによる通信が行われる形態としたが、これらはそれぞれ異なる通信プロトコルを採用してもよい。また、通信制御装置１００と通信制御装置１５０との間は、専用線により接続してもよい。
【図面の簡単な説明】
【００４６】
【図１】データ転送において帯域上の隘路がある場合の状態を説明する図である。
【図２】実施の形態に係る通信路制御装置を用いた通信システムの構成例を示す図である。
【図３】従来技術の通信システムの構成例を示す図である。
【図４】実施の形態に係る通信路制御装置の構成例を示す図である。
【符号の説明】
【００４７】
１００  通信制御装置
１０２  端末管理部
１０３  受付可否判断部
１０４  ネットワークインターフェイス
１０６  受信結果通知部
１０８  データ記憶部
１１４  送信制御部
１１６  受信完了情報解析部
１２０  通信情報記憶部
１４０  端末
１５０  通信制御装置
１６０  端末
【図１】
2006087010.tif 000003
【図２】
2006087010.tif 000004
【図３】
2006087010.tif 000005
【図４】
2006087010.tif 000006