JP4930388B2 - 通信装置およびプログラム - Google Patents

通信装置およびプログラム Download PDF

Info

Publication number
JP4930388B2
JP4930388B2 JP2008008007A JP2008008007A JP4930388B2 JP 4930388 B2 JP4930388 B2 JP 4930388B2 JP 2008008007 A JP2008008007 A JP 2008008007A JP 2008008007 A JP2008008007 A JP 2008008007A JP 4930388 B2 JP4930388 B2 JP 4930388B2
Authority
JP
Japan
Prior art keywords
transmission
packet
speed
minimum
packets
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.)
Active
Application number
JP2008008007A
Other languages
English (en)
Other versions
JP2009171305A (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.)
Yamaha Corp
Original Assignee
Yamaha 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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP2008008007A priority Critical patent/JP4930388B2/ja
Publication of JP2009171305A publication Critical patent/JP2009171305A/ja
Application granted granted Critical
Publication of JP4930388B2 publication Critical patent/JP4930388B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、通信網を介したデータ通信に関し、特に、限られた帯域幅を有効利用する技術に関する。
インターネットなどの広域網を介して提供されるIP電話通信や映像のストリーミング配信などの通信サービスにおいて、通話音声や映像に途切れが生じることを回避する技術の一例としてQoS(Quality of Service)が挙げられる。QoSとは、LAN(Local
Area Network)と、このLANよりも利用可能帯域の狭い広域網とを接続する中継装置で実行される通信制御である。QoSは、LANから広域網へ向けて送信される複数種類のパケットの各々にその種類に応じた優先順位を予め割り当てておき、優先順位の高いパケットほど広域網にて充分な帯域幅が割り当てられるようにする通信制御であり、以下のようにして実現される。すなわち、LANと広域網とを接続する中継装置に各々互いに異なる優先順位を有する複数の送信キューを設け、LANから送信されてくる上記複数種のパケットの各々をその優先順位に応じた送信キューへ蓄積する処理を実行させる。そして、パケットが蓄積されている送信キューのうちで最も優先順位が高いものが空になるまで、その送信キューからパケットを読み出し、その宛先へと送信する処理を上記中継装置に実行させるのである。
上記のようなQoSを行うことによって、優先順位の高いパケットについての通信ほど広域網で利用可能な帯域幅を無駄なく利用し、パケットロスなどの不具合が発生しにくくなる。ここで、パケットロスとは、データ通信に係るパケットに欠落が生じることであり、その発生原因としては、通信網の輻輳や、受信側の通信装置の処理能力不足(或いは過剰に高い処理負荷がかかっている)によりその受信に失敗すること(図9参照)が挙げられる。後者のタイプのパケットロスを前者のタイプと区別する必要がある場合には、内部パケットロスと呼ぶ。
前述したQoSは、前者のタイプのパケットロス(すなわち、通信網の輻輳に起因したパケットロス)の発生を回避するための技術である。一方、内部パケットロスの発生を回避するための技術も種々提案されており、その一例としては、非特許文献1に開示された技術が挙げられる。この非特許文献1に開示された技術では、パケットの受信側の通信装置に、自装置に掛かっている負荷を検出させ、所定の閾値を超える負荷が掛かっていることが検出された場合には、パケットの送信速度を抑制することをその送信側の通信装置へ通知させる。一方、送信側の通信装置では、上記通知に応じてパケットの送信速度を引き下げることにより、受信側の通信装置において、その処理能力不足等に起因したパケットロスの発生が回避される。
ヤマハ、インターネット、[online]、<URL:http://www.rtpro.yamaha.co.jp/RT/docs/load-watch/index.html>
しかし、非特許文献1に開示されたようにパケットロスの発生を通知される度にパケットの送信速度を引き下げる態様では、送信速度を引き下げるにつれて最も優先順位の高い送信キューについても多数のパケットが滞留するようになる。そして、送信キューが満杯になると、送信キューへの新たなパケットの書き込みに失敗し、図10に示すように、送信側の通信装置において内部パケットロスが発生する。このように送信側の通信装置で内部パケットロスが発生すると、送信キューに蓄積されているパケットの全てが支障なくその宛先へ到達した(つまり、通信網内でパケットロスが発生しない)としても、図10に示すように受信側へ送信されるパケットに不連続(シーケンス番号の不連続)が生じ、受信側の通信装置は、自装置内にて内部パケットロスが発生したものとみなして、前述した抑制通知を返信する。この抑制通知を受信した送信側の通信装置では、さらにパケットの送信速度を引き下げるため、送信キュー内のパケットの滞留が解消せず、事態がさらに悪化する。
このような悪循環の発生を回避するためには、パケット送信についての最小速度を予め定め、その最小速度を下回って送信速度が引き下げられないようにする必要がある。かかる最小速度を定めるにあたっては、最も優先順位の高いパケットについて送信側の通信装置で内部パケットロスが発生しないように定める必要があることは勿論であるが、その値が大きすぎると、パケット通信を仲介する通信網に輻輳を生じさせ易いといった問題や、受信側での内部パケットロスを解決できなくなるといった問題が生じる。このため、上記最小速度を定めるにあたっては、パケットの送出先の通信網にて利用可能な帯域幅や、パケット通信の両端に位置する通信装置の処理能力等をシステム構築に先立って綿密に調査する必要がある。しかし、上記通信網がインターネットなどの広域網である場合には、このような調査には大変な手間がかかる。
本発明は、上記課題に鑑みて為されたものであり、システム構築の際に特段の調査を行わなくても、利用可能な帯域幅を無駄なく利用し、かつ、適切な最小速度を設定してパケット通信を行うことを可能にする技術を提供することを目的とする。
上記課題を解決するために本発明は、送信対象のパケットがその送信順に書き込まれる送信キューと、前記送信キューに格納されているパケットをその書き込み順に読み出し、その宛先へ送信する送信手段と、時間の経過とともに前記送信手段によるパケットの送信速度を最大速度まで徐々に引き上げる一方、前記パケットの送信先からパケットロスの発生を通知されたことを契機として、前記送信速度が最小速度を上回っているか否かを判定し、上回っている場合には前記送信速度を引き下げ、その逆の場合には、前記送信速度を前記最小速度に等しくする送信速度制御手段と、時間の経過とともに前記最小速度を徐々に引き下げ、前記送信キュー内の滞留パケット数が所定の閾値に達した場合、または前記送信キューへのパケットの書き込みに失敗したことを検知した場合に、前記最大速度を上回らない範囲で前記最小速度を引き上げる最小速度調整手段とを有することを特徴とする通信装置、およびコンピュータ装置を上記各手段として機能させることを特徴とするプログラムを提供する。
このような通信装置およびプログラムによれば、最小速度を時間の経過とともに徐々に引き下げる処理が実行される一方、当該通信装置で内部パケットロスが発生した場合、または、送信キュー内の滞留パケット数が所定の閾値(例えば、送信キューに格納可能なパケット数の最大値やその最大値よりも若干小さい値)に達し、内部パケットロスの発生が懸念される場合に、上記最小速度を引き上げる処理が実行され、その引き上げ後の最小速度と送信速度との大小関係が逆転した状態で抑制通知を受信すると、送信速度を当該引き上げ後の最小速度に等しくする処理が実行される。つまり、本発明によれば、パケットを送信する際の最小速度として、その送信側の通信装置で内部パケットロスが発生するかしないかのぎりぎりの値が自動的に設定されることになる。
また、別の好ましい態様においては、各々異なる優先順位を割り当てられた複数の送信キューであって、送信対象である複数種のパケットが各パケットの優先順位に応じたものに順次書き込まれる複数の送信キューと、前記複数の送信キューのうちで最も高い優先順位を有するものに格納されているパケットのうちで最も古いものを読み出し、その宛先へ送信する処理を前記複数の送信キューの全てが空になるまで繰り返し実行する送信手段と、時間の経過とともに前記送信手段によるパケットの送信速度を最大速度まで徐々に引き上げる一方、前記パケットの送信先からパケットロスの発生を通知されたことを契機として、前記送信速度が最小速度を上回っているか否かを判定し、上回っている場合には前記送信速度を引き下げ、その逆の場合には、前記送信速度を前記最小速度に等しくする送信速度制御手段と、時間の経過とともに前記最小速度を徐々に引き下げ、前記複数の送信キューのうちで最も優先順位が高いものの滞留パケット数が所定の閾値に達した場合、または当該送信キューへのパケットの書き込みに失敗したことを検知した場合に、前記最大速度を上回らない範囲で前記最小速度を引き上げる最小速度調整手段とを有することを特徴とする通信装置、およびコンピュータ装置を上記各手段として機能させるプログラムを提供する。
このような通信装置およびプログラムによれば、各々異なる優先順位を割り当てられた複数の送信キューを用いてQoSを行いつつパケット送信を行う際の最小速度を、最も優先順位の高い送信キューについて内部パケットロスが発生するかしないかのぎりぎりの値に自動設定することが可能になる。
より好ましい態様においては、上記通信装置は、第1の通信網と前記第1の通信網とは異なる第2の通信網とに接続される中継装置であり、予め優先順位付けされているとともに前記第2の通信網内の通信装置へ宛てて送信される複数種類のパケットを前記第1の通信網を介して受信し、前記複数の送信キューのうちでそのパケットの優先順位に応じたものに書き込む受信手段を備えていることを特徴とする。
以下、本発明を実施する際の最良の形態について説明する。
(A:構成)
図1は、本発明に係る通信装置の一実施形態に係る中継装置を含む通信システム1の構成例を示すブロック図である。図1に示すように、通信システム1には、中継装置10Aを介して例えばインターネットなどの広域網である通信網20に接続されるクライアント側LAN30と、中継装置10Bを介して通信網20に接続されるサーバ側LAN40とが含まれている。クライアント側LAN30には、例えばパーソナルコンピュータなどのコンピュータ装置であるクライアント装置31Aおよび31Bが接続されており、サーバ側LAN40には、同じくコンピュータ装置であるサーバ装置41が接続されている。
図1に示す通信システム1では、クライアント装置31Aや31Bからサーバ装置41へ宛てて送信されるパケットは、中継装置10A、通信網20、中継装置10Bをこの順に経てその宛先であるサーバ装置41へと到達する。不特定多数のユーザによって利用される広域網である通信網20でクライアント装置31Aや31Bのユーザが利用可能な帯域幅は、クライアント側LAN30で利用可能な帯域幅よりも狭いため、中継装置10Aでは、前述したQoSが実行される。すなわち、クライアント装置31Aや31Bから広域網20へ向けて送信されるパケットに各々異なる優先順位が割り当てられている場合には、各々の優先順位に応じた転送制御が中継装置10Aで行われる。加えて、本実施形態では、中継装置10Aおよび10Bに本発明に係る通信装置に特徴的な処理を行わせることによって、システム構築の際に特段の調査を行わなくても、通信網20にて利用可能な帯域幅を無駄なく利用し、かつ、適切な最小速度を設定してパケット通信を行うことを可能にしているのである。
以下、本発明の特徴を顕著に示す中継装置10Aおよび10Bを中心に説明する。以下では、中継装置10Aおよび10Bの各々を区別する必要がない場合には、「中継装置10」と表記する。
図2は、中継装置10の構成例を示すブロック図である。
図2に示すように中継装置10は、制御部110、第1通信インタフェース(以下、「I/F」)部120、第2通信I/F部130、記憶部140およびこれら構成要素間のデータ授受を仲介するバス150を含んでいる。
制御部110は、例えばCPU(Central Processing Unit)である。制御部110は、記憶部140に格納されている通信制御プログラムを実行することにより、中継装置10の制御中枢として機能する。この通信制御プログラムにしたがって制御部110が実行する処理の詳細については後に明らかにする。
第1通信I/F部120と第2通信I/F部130とは、共にNIC(Network Interface Card)であり、各々異なる通信網に接続されている。より詳細に説明すると、第2通信I/F部130は通信網20に接続されており、第1通信I/F部120は他方の通信網に接続されている。例えば、中継装置10Aの第1通信I/F部120は、クライアント側LAN30に接続されており、中継装置10Bの第1通信I/F部120は、サーバ側LAN40に接続されている。第1通信I/F部120と第2通信I/F部130の各々は、その接続先である通信網から受信したパケットを制御部110へ引渡す一方、制御部110から引渡されたパケットを各々の接続先である通信網へと送出する。
記憶部140は、図1に示すように、揮発性記憶部141と不揮発性記憶部142とを含んでいる。揮発性記憶部141は、例えばRAM(Random Access Memory)であり、各種プログラムを実行する際のワークエリアとして利用される。パケットの送信側の中継装置10においては、前述したQoSで使用する複数の送信キューの各々の役割を果たすバッファ領域が揮発性記憶部141内に確保される。
一方、不揮発性記憶部142は、FlashROM(Flash Read Only Memory)やハードディスクである。この不揮発性記憶部142には、通信網20へパケットを送信する際の送信速度の上限(最大速度)および下限(最小速度)の初期値を示すデータが格納されている。これら初期値については、通信網20にて利用可能な帯域幅の理論値や中継装置10の処理性能についての理論値を参考にして定めても良く、また、経験則にしたがって定めても良い。このように、パケット通信の最小速度を特段の調査を行うことなく理論値等に基づいて定めても、最適な値が自動的に再設定される点に本実施形態の特徴がある。この点については後に詳細に説明する。
また、不揮発性記憶部142には、ルータなどの一般的な中継装置が行うデータ転送処理やキュー制御処理(図2では、何れも図示省略)の他に、本発明に係る通信装置に特徴的な受信側制御処理142Rや送信側制御処理142Sを制御部110に実行させる通信制御プログラムが格納されている。ここで、受信側制御処理142Rは、インターネットなどの広域網を介して送信されてくるパケットを受信する側の通信装置で実行される処理であり、送信側制御処理142Sは、広域網へパケットを送出する側の通信装置で実行される処理である。以下、クライアント側LAN30からサーバ側LAN40へパケットが送信される場合(すなわち、中継装置10Aが送信側の通信装置となり、中継装置10Bが受信側の通信装置となる場合)を例にとって、受信側制御処理142Rおよび送信側制御処理142Sについて詳細に説明する。
(B:受信側制御処理142R)
受信側制御処理142Rには、第2通信I/F部130により受信したパケットをその宛先へと転送するパケット中継処理の他、図3に示す抑制通知送信処理が含まれる。図3に示すように、この抑制通知送信処理では、何らかの原因(例えば、中継装置10Bやサーバ装置41の処理能力不足や通信網20における輻輳)によるパケットロスが検出されると(ステップR010)、パケットの送信側の通信装置(本実施形態では、中継装置10A)がパケット送信速度の抑制を行う機能を有しているか否かを判定する処理(ステップR020)が実行される。そして、ステップR020の判定結果が“Yes”である場合にのみ、パケットの送信速度の抑制を要請する旨の通信メッセージ(以下、抑制通知)を送信する処理(ステップR030)が実行されるのである。このようにして中継装置10Bから送信される抑制通知は通信網20を介して中継装置10Aに送り届けられる。
(C:送信側制御処理142S)
一方、送信側制御処理142Sには、図4(A)に示すように、抑制通知受信処理1421とタイマ処理1422とが含まれる。
図4(B)は、抑制通知受信処理1421の流れを示すフローチャートである。
図4(B)に示すように、この抑制通知受信処理1421では、前述した抑制通知の受信(ステップS010)を契機として、その時点で設定されているパケットの送信速度がその時点の最小速度(例えば、前述した初期値の表す最小速度)を上回っているか否かを判定する処理(ステップS020)が実行される。そして、ステップS020の判定結果が“Yes”である場合には、パケットの送信速度を予め定められた減分だけ引き下げる処理(ステップS030)が実行され、逆に、その判定結果が“No”である場合には、上記送信速度をその時点の最小速度に等しくする処理(ステップS040)が実行される。このような抑制通知受信処理1421が実行される結果、中継装置10Aから通信網20へパケットを送信する際の送信速度は図4(C)に示すように変化する。すなわち、送信速度が最小速度を上回っている状況下で中継装置10Aが抑制通知を受信すると、送信速度は、抑制通知の受信の度に所定の減分ずつ徐々に引き下げられ、その送信速度がその時点の最小速度を下回っている状態で抑制通知を受信すると、その送信速度はその時点の最小速度まで引き上げられるのである。
以上に説明した抑制通知受信処理1421が実行される結果、本実施形態に係る中継装置10Aでは、中継装置10Bから送信されてくる抑制通知に応じて、最小速度を超えて際限なく送信速度が引き下げられることが回避される。なお、非特許文献1に開示された技術では、送信速度が予め定めた最小速度を下回るといった事態が発生することはなかったが、本実施形態では、後述するタイマ処理1422にて最小速度が適宜更新される。このため、本実施形態に係る抑制通知受信処理1421では、ステップS020およびステップS040の実行が必要になるのである。
図4(D)は、タイマ処理1422の流れを示すフローチャートである。このタイマ処理1422は、一定の時間間隔T(例えば、10秒間隔など)で実行される処理である。このタイマ処理1422では、図4(D)に示すように、送信キュー状態監視処理1422A、内部パケットロス監視処理1422B、最小速度変更処理1422C、および送信速度リカバリ処理1422Dの4つの処理がこの順に実行される。本実施形態に係る中継装置10の特徴は、図4(D)に示すタイマ処理1422を一定の時間間隔で実行することにある。以下、タイマ処理1422を構成する上記各4つの処理について図面を参照しつつ詳細に説明する。
図5(A)は、送信キュー状態監視処理1422Aの流れを示すフローチャートであり、図5(B)は、内部パケットロス監視処理1422Bの流れを示すフローチャートである。
図5(A)に示すように、送信キュー状態監視処理1422Aでは、前述した複数の送信キューのうちで最も優先順位が高いものの滞留パケット数(その送信キューに格納され、送信待ちとなっているパケットの数)が所定の閾値(例えば、その送信キューに格納可能なパケット数の最大値、またはその最大値よりも若干小さい値、)に達しているか否かを判定し(ステップA010)、その判定結果が“Yes”である場合(すなわち、送信キューが満杯となり内部パケットロスの発生が懸念される場合)には、速度警告フラグの値をONにする処理(ステップA020)が実行される。一方、内部パケットロス監視処理1422Bでは、図5(B)に示すように、上記送信キューへのパケットの書き込みに失敗した回数を示すカウンタ値(すなわち、上記送信キューについての内部パケットロスの発生回数を示すカウンタ値、図5(B)では、エンキュー失敗カウンタ値)を参照し(ステップB010)、そのカウンタ値が前回の参照時に比較して増加しているか否かが判定される(ステップB020)。そして、ステップB020の判定結果が“Yes”である場合(すなわち、内部パケットロスが発生した場合)には、速度警告フラグの値をONにし(ステップB030)、その時点の上記カウンタ値を記憶する処理(ステップB040)が実行される。このステップB040で記憶したカウンタ値は、所定時間経過後に実行される内部パケットロス監視処理1422BのステップB020において、その時点のカウンタ値との比較に使用される。
図6(A)は、送信キュー状態監視処理1422Aおよび内部パケットロス監視処理1422Bに後続して実行される最小速度変更処理1422Cの流れを示すフローチャートである。図6(A)に示すように、この最小速度変更処理1422Cでは、前述した速度警告フラグの値に応じて最小速度を変更する処理が実行される。より詳細に説明すると、この最小速度変更処理1422Cでは、まず、速度警告フラグの値が“ON”であるか否かを判定する処理(ステップC010)が実行される。そして、ステップC010の判定結果が“Yes”である場合には、最小速度を、前述した最大速度を超えない範囲で予め定められた増分だけ増加させ(ステップC020)、さらに速度警告フラグをOFFにリセットする処理(ステップC030)が実行される。逆に、ステップC010の判定結果が“No”である場合には、最小速度を予め定められた減分だけ引き下げる処理(ステップC040)が実行される。
本実施形態では、送信キュー状態監視処理1422A、内部パケットロス監視処理1422Bおよび最小速度変更処理1422Cの3つの処理がこの順に一定時間間隔Tで実行されることによって、通信網20へパケットを送信する際の送信速度の下限を示す最小速度は、概ね図6(B)に示すように、時間の経過とともに徐々に引き下げられ、内部パケットロスの発生が懸念されること、または実際に内部パケットロスが発生したことを契機に引き上げられる。これにより、本実施形態では、上記最小速度の適切な値(最も優先順位の高い送信キューについて内部パケットロスを発生させないぎりぎり値)が自動的に探し出され、その値が設定されるのである。なお、本実施形態では、内部パケットロスが発生する懸念の有無を判定する処理(送信キュー状態監視処理1422A)、および実際に内部パケットロスの発生状況を監視する処理(内部パケットロス監視処理1422B)の両方の処理を一定時間間隔で実行したが、両処理の一方のみを実行して速度警告フラグの更新を行っても良い。
図7(A)は、送信速度リカバリ処理1422Dの流れを示すフローチャートである。
図7(A)に示すように、この送信速度リカバリ処理1422Dでは、まず、その時点の送信速度が予め定められた上限(最大速度)に達しているか否かを判定する処理(ステップD010)が実行され、その判定結果が“No”である場合にのみ、送信速度を引き上げる処理(ステップD020)が実行される。この送信速度リカバリ処理1422Dは、前述したタイマ処理1422の一部として一定の時間間隔Tで実行されるのであるから、パケットの受信側の中継装置(本実施形態では、中継装置10B)から抑制通知が送信されてこなければ、中継装置10Aが通信網20へパケットを送信する際の送信速度は図7(B)に示すように、時間の経過とともに予め定められた上限(最大速度)まで徐々に増加することになる。このように、時間の経過とともに送信速度を徐々に引き上げるのは通信網20にて利用可能な帯域幅を無駄なく利用するためである。
上記各処理が実行される結果、中継装置10Aが通信網20へパケットを送信する際の送信速度およびその送信速度の下限(最小速度)は、時間の経過とともに概ね図8に示すように変化する。すなわち、パケット通信を開始してから時刻t1に最初の抑制通知を受信するまでの間は、送信速度は送信速度リカバリ処理1422Dによって予め定められた最大速度まで時間の経過とともに徐々に引き上げられ、時刻t1以降は抑制通知を受信する度に抑制通知受信処理1421によって一定量ずつ引き下げられる。時刻t1以降は、送信速度が徐々に引き下げられるのであるから、送信キュー内の滞留パケット数が時間の経過とともに増加する。一方、最小速度については、時刻t2(t1<t2)において速度警告フラグがONになるまで、最小速度変更処理1422Cによって時間の経過とともに徐々に引き下げられ、時刻t2以降は、送信キューにおけるパケットの滞留が解消するまでは速度警告フラグの値はONに保持されるため、徐々に引き上げられる。そして、時刻t3において送信速度と最小速度との大小関係が逆転すると、抑制通知の受信(時刻t4)を契機に送信速度の値をその時点の最小速度まで引き上げる処理が実行される(抑制通知受信処理1421:ステップS040)。以降、中継装置10Bから抑制通知が送信されてこなくなると、送信速度は再び時間の経過とともに徐々に増加し、送信キュー内のパケットの滞留が解消すると最小速度は再び時間の経過とともに徐々に減少するのである。以上に説明したように、本実施形態によれば、システム構築の際に特段の調査を行わず、パケット通信の最小速度を理論値や経験則に基づいて初期設定しても、適切な値に自動的に更新される。このため、本実施形態によれば、適切な送信速度の範囲(最大速度と最小速度とで定まる範囲)を自動的に定め、その範囲内の送信速度でパケット通信を行うことが可能になる。
(C:その他の実施形態)
以上、本発明の実施形態について説明したが、かかる実施形態を以下に述べるように変形しても良いことは勿論である。
(1)上述した実施形態では、本発明に係る通信装置に特徴的な通信制御処理をソフトウェアモジュールで実現したが、ハードウェアモジュールで実現しても勿論良い。また、上述した実施形態では複数の送信キューを用いてQoSを行ったが、QoSを行う必要がない場合には、送信キューの数を1つにし、その送信キューについて状態監視や内部パケットロス監視を行えば良い。
(2)上述した実施形態では、インターネットなどの広域網とローカルエリアネットワークとを接続する中継装置に本発明を適用した。しかし、本発明の適用対象は中継装置に限定されるものではなく、データ通信の両端に位置する通信装置(すなわち、送信装置や受信装置)であっても良い。例えば、データ通信の両端に位置する通信装置に本発明を適用する場合には、パケットロスを検出して抑制通知を送信する処理を受信装置に実行させれば良く、送信装置には、送信対象のパケットがその送信順に書き込まれる送信キューと、前記送信キューに格納されているパケットをその書き込み順に読み出し、その宛先へ送信する送信手段と、時間の経過とともに前記送信速度を最大速度まで徐々に引き上げる一方、前記パケットの送信先からパケットロスの発生を通知されたことを契機として、前記送信速度が最小速度を上回っているか否かを判定し、上回っている場合には前記送信速度を引き下げ、その逆の場合には、前記送信速度を前記最小速度に等しくする送信速度制御手段と、時間の経過とともに前記下限を徐々に引き下げ、前記送信キュー内の滞留パケット数が所定の閾値に達した場合、または前記送信キューへのパケットの書き込みに失敗しことを検知した場合に、前記最大速度を上回らない範囲で前記最小速度を引き上げる速度範囲調整手段と、を設ければ良い。また、かかる送信装置に複数の送信キューを設けるとともに、送信対象のパケット(例えば、その送信装置で実行されるアプリケーションプログラムにより生成されるパケット)についてその種類毎に優先順位を定めておき、それら複数の送信キューを用いてQoSを実行しつつ、それらパケットを送信するようにしても良い。
(3)上述した実施形態では、第1の通信網であるLANと、その第1の通信網よりも利用可能帯域の狭い第2の通信網である広域網とに接続され、QoSを実行する中継装置に本発明を適用した。しかし、本発明の適用対象となる中継装置は、上記のように利用可能帯域幅に差のある通信網間の境界に位置する中継装置に限定されるものではない。例えば、利用可能帯域幅に差のない第1および第2の通信網に接続される中継装置について本発明を適用し、一方の通信網から他方の通信網へのパケットの転送を行う際にパケットの優先順位に応じた転送制御を行わせつつ、上記他方の通信網へパケットを送信する際の送信速度範囲の自動設定を行わせても良い。
(4)上述した実施形態では、本発明に係る通信装置に特徴的な通信制御処理(受信側制御処理142Rや送信側制御処理142S)を制御部110に実行させる通信制御プログラムが中継装置10の不揮発性記憶部142に予め格納されていた。しかし、CD−ROM(Compact Disk-Read Only Memory)などのコンピュータ装置読み取り可能な記録媒体に上記通信制御プログラムを書き込んで配布しても良く、また、インターネットなどの電気通信回線経由のダウンロードにより上記通信制御プログラムを配布しても良い。このようにして配布される通信制御プログラムを、既存の通信装置へインストールし、その通信制御プログラムにしたがってその通信装置の制御部を作動させることによって、既存の通信装置に本発明に係る通信装置と同一の機能を付与することが可能になるからである。
本発明の一実施形態に係る中継装置10を含む通信システムの構成例を示す図である。 同中継装置10の構成例を示すブロック図である。 中継装置10Bの制御部110が通信制御プログラムにしたがって実行する受信側制御処理142Rの流れを示すフローチャートである。 中継装置10Aの制御部110が通信制御プログラムにしたがって実行する送信側制御処理142Sの内容および抑制通知受信処理1421による送信速度の時間変化の様子を示す図である。 送信キュー状態監視処理1422Aおよび内部パケットロス監視処理1422Bの流れを示すフローチャートである。 最小速度変更処理1422Cおよびこの処理による最小速度の時間変化の様子を示す図である。 送信速度リカバリ処理1422Dおよびこの処理による送信速度の時間変化の様子を示す図である。 中継装置10Aにおける送信速度および最小速度の時間変化の様子を示す図である。 従来の通信装置(データの受信側)にて発生する内部パケットロスを説明するための図である。 従来の通信装置(データの送信側)にて発生する内部パケットロスを説明するための図である。
符号の説明
10A,10B,10…中継装置、20…通信網、30…クライアント側LAN、31A,31B,31…クライアント装置、40…サーバ側LAN、41…サーバ装置、110…制御部、120…第1通信I/F部、130…第2通信I/F部、140…記憶部、141…揮発性記憶部、142…不揮発性記憶部、150…バス。

Claims (5)

  1. 送信対象のパケットがその送信順に書き込まれる送信キューと、
    前記送信キューに格納されているパケットをその書き込み順に読み出し、その宛先へ送信する送信手段と、
    時間の経過とともに前記送信手段によるパケットの送信速度を最大速度まで徐々に引き上げる一方、前記パケットの送信先からパケットロスの発生を通知されたことを契機として、前記送信速度が最小速度を上回っているか否かを判定し、上回っている場合には前記送信速度を引き下げ、その逆の場合には、前記送信速度を前記最小速度に等しくする送信速度制御手段と、
    時間の経過とともに前記最小速度を徐々に引き下げ、前記送信キュー内の滞留パケット数が所定の閾値に達した場合、または前記送信キューへのパケットの書き込みに失敗したことを検知した場合に、前記最大速度を上回らない範囲で前記最小速度を引き上げる最小速度調整手段と、
    を有することを特徴とする通信装置。
  2. 各々異なる優先順位を割り当てられた複数の送信キューであって、送信対象である複数種のパケットが各パケットの優先順位に応じたものに順次書き込まれる複数の送信キューと、
    前記複数の送信キューのうちで最も高い優先順位を有するものに格納されているパケットのうちで最も古いものを読み出し、その宛先へ送信する処理を前記複数の送信キューの全てが空になるまで繰り返し実行する送信手段と、
    時間の経過とともに前記送信手段によるパケットの送信速度を最大速度まで徐々に引き上げる一方、前記パケットの送信先からパケットロスの発生を通知されたことを契機として、前記送信速度が最小速度を上回っているか否かを判定し、上回っている場合には前記送信速度を引き下げ、その逆の場合には、前記送信速度を前記最小速度に等しくする送信速度制御手段と、
    時間の経過とともに前記最小速度を徐々に引き下げ、前記複数の送信キューのうちで最も優先順位が高いものの滞留パケット数が所定の閾値に達した場合、または当該送信キューへのパケットの書き込みに失敗したことを検知した場合に、前記最大速度を上回らない範囲で前記最小速度を引き上げる最小速度調整手段と、
    を有することを特徴とする通信装置。
  3. 第1の通信網と前記第1の通信網とは異なる第2の通信網とに接続され、
    予め優先順位付けされているとともに前記第2の通信網内の通信装置へ宛てて送信されてくる複数種類のパケットを前記第1の通信網を介して受信し、前記複数の送信キューのうちでそのパケットの優先順位に応じたものに書き込む受信手段を有する中継装置であることを特徴とする請求項2に記載の通信装置。
  4. コンピュータ装置を、
    送信対象のパケットを送信キューへその送信順に書き込むとともに、前記送信キューに格納されているパケットをその書き込み順に読み出し、その宛先へ送信する送信手段と、
    時間の経過とともに前記送信手段によるパケットの送信速度を最大速度まで徐々に引き上げる一方、前記パケットの送信先からパケットロスの発生を通知されたことを契機として、前記送信速度が最小速度を上回っているか否かを判定し、上回っている場合には前記送信速度を引き下げ、その逆の場合には、前記送信速度を前記最小速度に等しくする送信速度制御手段と、
    時間の経過とともに前記最小速度を徐々に引き下げ、前記送信キュー内の滞留パケット数が所定の閾値に達した場合、または前記送信キューへのパケットの書き込みに失敗したことを検知した場合に、前記最大速度を上回らない範囲で前記最小速度を引き上げる最小速度調整手段
    として機能させることを特徴とするプログラム。
  5. コンピュータ装置を、
    送信対象である複数種のパケットの各々を、各々異なる優先順位を割り当てられた複数の送信キューのうちでそのパケットの優先順位に応じたものに書き込むとともに、最も優先順位の高いものから最も古いパケットを読み出し、その宛先へ送信する処理を前記複数の送信キューの全てが空になるまで繰り返し実行する送信手段と、
    時間の経過とともに前記送信手段によるパケットの送信速度を最大速度まで徐々に引き上げる一方、前記パケットの送信先からパケットロスの発生を通知されたことを契機として、前記送信速度が最小速度を上回っているか否かを判定し、上回っている場合には前記送信速度を引き下げ、その逆の場合には、前記送信速度を前記最小速度に等しくする送信速度制御手段と、
    時間の経過とともに前記最小速度を徐々に引き下げ、前記複数の送信キューのうちで最も優先順位が高いものの滞留パケット数が所定の閾値に達した場合、または当該送信キューへのパケットの書き込みに失敗したことを検知した場合に、前記最大速度を上回らない範囲で前記最小速度を引き上げる最小速度調整手段
    として機能させることを特徴とするプログラム。
JP2008008007A 2008-01-17 2008-01-17 通信装置およびプログラム Active JP4930388B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008008007A JP4930388B2 (ja) 2008-01-17 2008-01-17 通信装置およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008008007A JP4930388B2 (ja) 2008-01-17 2008-01-17 通信装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2009171305A JP2009171305A (ja) 2009-07-30
JP4930388B2 true JP4930388B2 (ja) 2012-05-16

Family

ID=40971979

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008008007A Active JP4930388B2 (ja) 2008-01-17 2008-01-17 通信装置およびプログラム

Country Status (1)

Country Link
JP (1) JP4930388B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014175028A1 (ja) * 2013-04-25 2014-10-30 株式会社日立製作所 通信装置及びコマンド転送方法
JP6870273B2 (ja) * 2016-10-25 2021-05-12 住友電気工業株式会社 通信制御装置、スイッチ装置、車外通信装置、通信制御方法および通信制御プログラム
JP2019047158A (ja) * 2017-08-29 2019-03-22 沖電気工業株式会社 データ収集装置、データ収集方法、データ収集プログラム及びデータ収集システム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3536792B2 (ja) * 2000-02-28 2004-06-14 ヤマハ株式会社 同期制御装置および同期制御方法
JP3731665B2 (ja) * 2003-03-27 2006-01-05 ソニー株式会社 データ通信システム、情報処理装置および情報処理方法、記録媒体、並びに、プログラム
US8125910B2 (en) * 2004-06-25 2012-02-28 Nec Corporation Communication system

Also Published As

Publication number Publication date
JP2009171305A (ja) 2009-07-30

Similar Documents

Publication Publication Date Title
US11044290B2 (en) TCP cross traffic rate control
Chu et al. Increasing TCP's initial window
JP4491257B2 (ja) 終端間測定に基づくネットワークへのデータストリームの許容の制御
US7225267B2 (en) Reactive bandwidth control for streaming data
JP5059976B2 (ja) 通信装置及び通信方法
US10826830B2 (en) Congestion processing method, host, and system
JP2020502948A (ja) パケット伝送システムおよび方法
JPWO2007125942A1 (ja) 負荷制御装置およびその方法
US20080247419A1 (en) Method and Apparatus for Adaptive Bandwidth Control With User Settings
EP4156766A1 (en) Data packet sending method and apparatus
US8325602B2 (en) Method and system to manage network traffic congestion in networks with link layer flow control
JP4930388B2 (ja) 通信装置およびプログラム
JP2007013449A (ja) シェーパー制御方法、データ通信システム、ネットワークインタフェース装置及びネットワーク中継装置
JP2008059040A (ja) 負荷制御システムおよび方法
JP2008160302A (ja) 送信レート制御方法および送信レート制御装置並びに送信レート制御プログラム
JP4382830B2 (ja) パケット転送装置
US20220141148A1 (en) System and method for congestion management in computer networks
Chu et al. RFC 6928: Increasing TCP's initial window
JP4915345B2 (ja) 試験装置測定システム
JP2008244638A (ja) ネットワークサービスシステム、輻輳制御装置、輻輳制御方法及び輻輳制御プログラム
JP2007201569A (ja) 無線通信制御装置および無線通信制御方法
CN109327402B (zh) 拥塞管理方法及装置
JP2016154307A (ja) データ転送プログラム、データ転送装置、及びデータ転送システム
CN116827853A (zh) 一种路径处理方法、装置及电子设备
JP2008131100A (ja) パケット通信網の帯域測定方法、帯域測定装置、帯域測定プログラム並びにパケットの送出速度制御方法、送出速度制御装置、送出速度制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111202

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: 20120117

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: 20120130

R150 Certificate of patent or registration of utility model

Ref document number: 4930388

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150224

Year of fee payment: 3