(57)【要約】【課題】計算機にかかる負荷を軽減しつつ、輻輳制御をおこなうこと。【解決手段】通信制御システム１は、送付パケットに含まれる送信時刻情報を受領応答として返信する受信側端末２０と、受信側端末２０によって受領応答として返信された送信時刻情報から得られた応答時間が閾値よりも短いか否かを判定し、応答時間が閾値よりも短いと判定した場合に、当該送付パケットが送信された時よりも多数もしくは当該送付パケットが送信された時と同数のパケットを受信側端末２０に送信するように制御する送信側端末１０を備える。【選択図】        図２
2006254383.tif 000002
【特許請求の範囲】
【請求項１】
受信装置にパケットを送信し、該送信された送付パケットに対する受領応答を送信装置に返信することによって前記パケットによる通信を制御する通信制御システムであって、
前記受信装置は、
前記送付パケットに含まれる送信時刻情報を前記受領応答として返信する応答処理手段を備え、
前記送信装置は、
前記応答処理手段によって返信された送信時刻情報から得られた応答時間が閾値よりも短いか否かを判定する閾値可否判定手段と、
前記閾値可否判定手段によって応答時間が閾値よりも短いと判定された場合に、当該送付パケットが送信された時よりも多数もしくは当該送付パケットが送信された時と同数のパケットを前記受信装置に送信するように制御する送信制御手段と、
を備えたことを特徴とする通信制御システム。
【請求項２】
前記送信制御手段は、前記応答処理手段によって受領応答が所定時間以内に返信されなかった場合に、前記受領応答なしにパケットを送信するように制御することを特徴とする請求項１に記載の通信制御システム。
【請求項３】
前記送信制御手段は、前記応答処理手段によって前記受領応答が所定時間以内に返信されなかった場合もしくは開始パケットを送信する場合に、前記受信装置に複数のパケットを送信するように制御することを特徴とする請求項１または２に記載の通信制御システム。
【請求項４】
前記閾値可否判定手段は、前記応答処理手段によって返信された送信時刻情報から得られた応答時間に代えて、当該送付パケットに対する応答時間に比較して該送付パケットよりも前に送信された送付パケットに対する応答時間の比重が重くなるように平均処理がおこなわれた平均処理結果を閾値可否判定処理に用いることを特徴とする請求項１、２または３に記載の通信制御システム。
【請求項５】
受信装置にパケットを送信し、該送信された送付パケットに対する受領応答を送信装置に返信することによって前記パケットによる通信を制御する通信制御方法であって、
前記受信装置は、
前記送付パケットに含まれる送信時刻情報を前記受領応答として返信する応答処理工程を含み、
前記送信装置は、
前記応答処理工程によって返信された送信時刻情報から得られた応答時間が閾値よりも短いか否かを判定する閾値可否判定工程と、
前記閾値可否判定工程によって応答時間が閾値よりも短いと判定された場合に、当該送付パケットが送信された時よりも多数もしくは当該送付パケットが送信された時と同数のパケットを前記受信装置に送信するように制御する送信制御工程と、
を含んだことを特徴とする通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、受信装置にパケットを送信し、該送信された送付パケットに対する受領応答を送信装置に返信することによってパケットによる通信を制御する通信制御システムおよび通信制御方法に関するものである。
【背景技術】
【０００２】
従来より、コンピュータネットワークの発展に伴って、ネットワークを通すデータ量の需要はますます増えているが、ネットワーク上の標準プロトコルであるＴＣＰでは、その性質上ネットワーク性能を十分に活かすことができなかった。
【０００３】
このため、転送速度が高いという長所とともに、信頼性が低いという短所を有するＵＤＰの短所を補うために、送信データをＵＤＰパケットで送り、ＵＤＰの信頼性の低さをＦＥＣ(Forward Error Correction)で補うＲＰＳ(Random Parity Stream)符号が提案されている。
【０００４】
また、ＵＤＰパケットによる通信では、回線の輻輳を防止するために、回線の太さに応じた間隔でＵＤＰパケットを送付する手法が取られていた。しかし、この手法では、回線ごとに設定された送付間隔で画一的にＵＤＰパケットを送信するので、輻輳状況の変化（例えば、他の通信によって同一の回線が使用された場合など）を検知することができず、回線に対して適切な速度でデータを送信することができない。
【０００５】
具体的に説明すると、他の通信が同様のＵＤＰ通信であった場合には、双方によって輻輳を回避する通信制御がおこなわれず、回線の輻輳が一層激しくなる。また、他の通信がＴＣＰであった場合には、ＴＣＰによってのみ輻輳状況が把握され、送信レートを落とす輻輳制御がなされることとなり、ＴＣＰパケットによるデータ通信を圧迫していた。
【０００６】
これらのことから、ＵＤＰ通信に輻輳制御を組み込み、ＴＣＰと親和性を高めた高速通信を実現するために、たとえば特許文献１では、最適パケット送出速度の算出アルゴリズムを用いて、ＲＴＴ（Round Trip Time；ＡＣＫ到着時刻とパケット送信時刻の差）およびパケット廃棄の有無をもとにパケット送出速度を決定するフロー制御装置が開示されている。
【０００７】
これを具体的に説明すると、このフロー制御装置は、データ受信側端末からＡＣＫが到着すると、ＲＴＴ（Round Trip Time；ＡＣＫ到着時刻とパケット送信時刻の差）およびパケット廃棄の有無を求め、求められたＲＴＴおよびパケット廃棄の有無をもとにパケット網の状態を示す特徴量を求め、パケット網の状態を示す特徴量とパケット送出速度との関係を示すパラメータを同定し、同定されたパラメータに基づいて最適なパケット送出速度を決定するものである。
【０００８】
【特許文献１】特開平１１−１６３９３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記した従来技術（特許文献１）では、輻輳制御を組み込むための計算式（例えば、最適パケット送出速度の算出アルゴリズムなど）が複雑であったり、極めて短い周期で定期的にパケットを送付する必要があったりするため、特に、非リアルタイムＯＳでは計算機にかかる負荷が大きいという問題点があった。
【００１０】
すなわち、ネットワーク通信では、通信経路の容量（速度）以上のデータが経路上に流れると容量以上のデータ（パケット）が消失してしまうので、データ発信側端末ではパケットを消失させないため、通信経路の容量以内の頻度でデータを送信する必要があるが、非リアルタイムＯＳにおいて、極めて短い周期で定期的にパケットを送付しようとすると、ループ命令を使用するか、或いは特殊なハードウェアを用いて精密な間隔の割り込み命令をかけるしか方法がなかった。
【００１１】
これを具体的に説明するために、非リアルタイムなマルチタスクＯＳについての時間管理の概要およびそれに伴う問題点を説明する。一般的に、ＯＳの計算能力は、一種の資源と考えられており、複数のタスク（プロセス）で共有する必要がある。そのため、一定間隔で処理を行わせたい場合には、ループ命令で時間を監視し、所定の間隔が過ぎたら実行するという処理は、そのタスクに負荷が集中するためおこなうべきではない。
【００１２】
タスクプログラムは、このようなループ命令に代えて、「一定時間休むので、その間計算能力をシステムに返す」（Ｓｌｅｅｐ）、「所定の時間が過ぎたら割り込みをかけてくれ」（ａｌａｒｍ，ＷＭ＿ＴＩＭＥＲ）などという割り込み命令を使用することが望ましいが、非リアルタイムＯＳでは、かかる命令（Ｓｌｅｅｐ）、（ａｌａｒｍ，ＷＭ＿ＴＩＭＥＲ）で設定できる時間の誤差は、２０〜５０ｍｓ程度と精度が悪い。
【００１３】
このため、アプリケーション層でネットワークに適した速度でパケットを送信しようとしても、割り込み命令を使用したのでは設定時間に対する誤差が大きいため、ループ命令を使用するしかなく、輻輳制御を実現することで計算能力が占有されてしまうことは避けられない。また、特殊なハードウェアを用いて精密な間隔の割り込み命令をかける方法も考えられるが、この場合、かかるハードウェアが新たに必要となってしまう。
【００１４】
そこで、本発明は、上述した従来技術による課題（問題点）を解消するためになされたものであり、計算機にかかる負荷を軽減しつつ、輻輳制御をおこなうことができる通信制御システムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
上述した課題を解決し、目的を達成するために、本発明に係る通信制御システムは、受信装置にパケットを送信し、該送信された送付パケットに対する受領応答を送信装置に返信することによって前記パケットによる通信を制御する通信制御システムであって、前記受信装置は、前記送付パケットに含まれる送信時刻情報を前記受領応答として返信する応答処理手段を備え、前記送信装置は、前記応答処理手段によって返信された送信時刻情報から得られた応答時間が閾値よりも短いか否かを判定する閾値可否判定手段と、前記閾値可否判定手段によって応答時間が閾値よりも短いと判定された場合に、当該送付パケットが送信された時よりも多数もしくは当該送付パケットが送信された時と同数のパケットを前記受信装置に送信するように制御する送信制御手段と、を備えたことを特徴とする。
【００１６】
また、本発明に係る通信制御システムは、前記送信制御手段は、前記応答処理手段によって受領応答が所定時間以内に返信されなかった場合に、前記受領応答なしにパケットを送信するように制御することを特徴とする。
【００１７】
また、本発明に係る通信制御システムは、前記送信制御手段は、前記応答処理手段によって前記受領応答が所定時間以内に返信されなかった場合もしくは開始パケットを送信する場合に、前記受信装置に複数のパケットを送信するように制御することを特徴とする。
【００１８】
また、本発明に係る通信制御システムは、前記閾値可否判定手段は、前記応答処理手段によって返信された送信時刻情報から得られた応答時間に代えて、当該送付パケットに対する応答時間に比較して該送付パケットよりも前に送信された送付パケットに対する応答時間の比重が重くなるように平均処理がおこなわれた平均処理結果を閾値可否判定処理に用いることを特徴とする。
【００１９】
また、本発明に係る通信制御方法は、受信装置にパケットを送信し、該送信された送付パケットに対する受領応答を送信装置に返信することによって前記パケットによる通信を制御する通信制御方法であって、前記受信装置は、前記送付パケットに含まれる送信時刻情報を前記受領応答として返信する応答処理工程を含み、前記送信装置は、前記応答処理工程によって返信された送信時刻情報から得られた応答時間が閾値よりも短いか否かを判定する閾値可否判定工程と、前記閾値可否判定工程によって応答時間が閾値よりも短いと判定された場合に、当該送付パケットが送信された時よりも多数もしくは当該送付パケットが送信された時と同数のパケットを前記受信装置に送信するように制御する送信制御工程と、を含んだことを特徴とする。
【発明の効果】
【００２０】
本発明によれば、受信装置が送付パケットに含まれる送信時刻情報を受領応答として返信し、送信装置が返信された送信時刻情報から得られた応答時間が閾値よりも短いか否かを判定し、応答時間が閾値よりも短いと判定された場合に、当該送付パケットが送信された時よりも多数もしくは当該送付パケットが送信された時と同数のパケットを受信装置に送信するように制御することとしたので、イベントドリブン方式に最適送信レートの算出アルゴリズムとして簡易なアルゴリズムを用いてＵＤＰ通信の輻輳制御をおこなうことができ、計算機にかかる負荷を軽減しつつ、輻輳制御をおこなうことが可能になる。
【００２１】
また、本発明によれば、受領応答が所定時間以内に返信されなかった場合に、受領応答なしにパケットを送信するように制御することとしたので、送付パケットもしくは受領応答パケットが途中でパケット消失した場合でも、データ送信処理がフリーズすることを防止することが可能になる。
【００２２】
また、本発明によれば、受領応答が所定時間以内に返信されなかった場合もしくは開始パケットを送信する場合に、受信装置に複数のパケットを送信するように制御することとしたので、パケット送信開始時点或いはパケット消失時点から早期に最適な送信レートに移行することが可能になる。
【００２３】
また、本発明によれば、送信時刻情報から得られた応答時間に代えて、当該送付パケットに対する応答時間に比較して該送付パケットよりも前に送信された送付パケットに対する応答時間の比重が重くなるように平均処理がおこなわれた平均処理結果を閾値可否判定処理に用いることとしたので、パケットの送信レートの急激な変化を抑制することができ、ネットワークの通信状況が不安定になることを防止することが可能になる。
【発明を実施するための最良の形態】
【００２４】
以下に添付図面を参照して、通信制御システムにおける送信装置および受信装置それぞれを情報処理装置に適用した場合の好適な実施例を詳細に説明する。なお、以下では、本発明に係る通信制御システムの概要および特徴を説明した後に、実施例１に係る通信制御システムを説明し、最後に、他の実施例として種々の変形例（実施例２）を説明することとする。また、本実施例では、データ送信側の情報処理装置を「送信側端末」、データ受信側の情報処理装置を「受信側端末」と記述することとする。
【００２５】
（概要および特徴）
まず最初に、本発明に係る通信制御システムの概要および特徴を説明する。図１は、本発明に係る通信制御システムの概要および特徴を示す概念図である。この通信制御システム１は、送信側端末１０および受信側端末２０の間でのＵＤＰパケットによる通信を制御するものであり、受信側端末２０にパケットを送信する送信側端末１０と、送信側端末１０によって送信された送付パケットに対する受領応答（ＡＣＫ）を送信側端末１０に返信する受信側端末２０とを備える。
【００２６】
ここで、本発明に係る通信制御システム１は、受信側端末２０が送付パケットに含まれる送信時刻情報を受領応答として返信し、送信側端末１０が受領応答として返信された送信時刻情報から得られた応答時間が閾値よりも短いか否かを判定し、応答時間が閾値よりも短いと判定した場合に、当該送付パケットが送信された時よりも多数もしくは当該送付パケットが送信された時と同数のパケットを受信側端末２０に送信するように制御する点に主たる特徴があり、かかる一連の処理によって、計算機にかかる負荷を軽減しつつ、輻輳制御をおこなうことができるようにしている。
【００２７】
この主たる特徴を具体的に説明すると、この通信制御システム１における受信側端末２０は、図１に示すように、送信側端末１０によってパケットが送信された場合に、該送信された送付パケットに含まれる送信時刻情報を受領応答（ＡＣＫ）の中に埋め込んで送信側端末１０に返信する。このように、送付パケットに含まれる送信時刻情報をそのままＡＣＫに含めて送信側端末１０に返信することとしたのは、送信側端末１０でＲＴＴ（Round Trip Time；パケット送信時刻とＡＣＫ到着時刻との差）を得られるようにするためである。
【００２８】
一方、送信側端末１０では、受信側端末２０によって返信された受領応答（ＡＣＫ）パケットに含まれる送信時刻およびＡＣＫ到着時刻をもとに応答時間「ＲＴＴ」を算出し、該算出したＲＴＴが現在までのＲＴＴの最小値（Ｒｍｉｎ）、或いはこの最小値に所定値（例えば、回線２上でのキューイング時間を考慮した係数α）を加算した値（Ｒｍｉｎ＋α）よりも短いか否かを判定する。このように、かかる閾値可否の判定をおこなうことで、通信経路における回線能力の一番弱い所（ボトルネック）手前のルータにかかる負荷に余裕があるか否かを判別している。
【００２９】
そして、この送信側端末１０は、当該送付パケットのＲＴＴが閾値よりも短いと判定した場合には、通信経路におけるボトルネックに余裕があるとみなして、新たに２つのパケットを受信側端末２０に送信し、当該送付パケットのＲＴＴが閾値以上であると判定した場合には、通信経路におけるボトルネックが輻輳状態にあるとみなして、１つのパケットを受信側端末２０に送信する。
【００３０】
このように、応答時間が閾値よりも短いか否かを判定し、応答時間が閾値よりも短いと判定した場合に、当該送付パケットの送信時のパケット数が１つであれば、２つのパケットを送信し、当該送付パケットの送信時のパケット数が２つであれば、同様に、２つのパケットを送信するように制御するよう構成することで、ネットワーク状況に合わせた量のデータを動的に送信する輻輳制御を可能にするとともに、最適送信レートの算出アルゴリズムとして簡易なアルゴリズムをＵＤＰ通信の輻輳制御に採用することができるようにしている。
【００３１】
また、受信側端末２０からＡＣＫパケットを受信した際に、計算能力をシステムから取り戻し、新たなパケットを送る「セルフクロッキング」という既存技術を送信側端末１０で採用し、この「セルフクロッキング」に輻輳制御を組み込むことで、イベントドリブン方式（すなわち、イベント（すなわち、ＡＣＫ）に応じて処理（パケットの送信処理）を割り込ませる方式）をＵＤＰ通信の輻輳制御に採用することができるようにしている。
【００３２】
したがって、上記した従来技術の例で言えば、輻輳制御を組み込むために複雑な計算式を用いたいり、定期的なパケットの送信制御（例えば、ループ命令によるパケットの送信制御）を使用することで、計算機に多大な負荷をかけるのではなく、イベントドリブン方式に最適送信レートの算出アルゴリズムとして簡易なアルゴリズムを用いてＵＤＰ通信の輻輳制御をおこなうこととしたので、上記した主たる特徴のように、計算機にかかる負荷を軽減しつつ、輻輳制御をおこなうことが可能になる。
【実施例１】
【００３３】
次に、本実施例１に係る通信制御システムを説明する。なお、ここでは、本実施例１に係る通信制御システムの構成を説明した後に、この通信制御システムの各種手順を説明することとする。
【００３４】
（通信制御システムの構成）
図２は、本実施例１に係る通信制御システムの構成を示すシステム構成図である。同図に示すように、この通信制御システム１は、受信側端末２０にパケットを送信する送信側端末１０と、送信側端末１０によって送信された送付パケットに対する受領応答（ＡＣＫ）を送信側端末１０に返信する受信側端末２０とを備える。
【００３５】
このうち、受信側端末２０は、送信側端末１０によって送信された送付パケットを受け取る側の情報処理装置であり、当該受信側端末２０とネットワーク２との間の通信の制御をおこなう通信制御ＩＦ部２１と、制御部２２とを備える。
【００３６】
制御部２２は、受信側端末２０の全体制御をおこなう処理部であり、各機能部間の各種データの授受を司る制御部である。この制御部２２は、本発明に関連する処理部として、送信側端末１０によって送信された送付パケットを受信データに組み立てる受信制御部２２ａおよび応答処理部２２ｂを備える。
【００３７】
応答処理部２２ｂは、受信制御部２２ａによって送付パケットが正常に受信されたことが確認された場合に、送付パケットに含まれる送信時刻情報を受領応答パケット（ＡＣＫパケット）として送信側端末１０に返信する処理部である。
【００３８】
このように、送付パケットに含まれる送信時刻情報をそのままＡＣＫに含めて送信側端末１０に返信することとしたので、送信側端末１０では、図１に示すように、送信時刻情報とＡＣＫ受信時刻との差から、ＲＴＴ（Round Trip Time；パケット送信時刻とＡＣＫ到着時刻との差）を得ることができる。
【００３９】
一方、送信側端末１０は、送信データを受信側端末２０に送信する側の情報処理装置であり、送信側端末１０とネットワーク２との間の通信の制御をおこなう通信制御ＩＦ部１１と、時刻発行サーバから取得した時刻情報を制御部１４に供給するタイムスタンプ装置１２と、記憶部１３と、制御部１４とを備える。
【００４０】
記憶部１３は、制御部１４による各種処理に必要なデータおよびプログラムを格納する格納手段（記憶手段）であり、宛先となる受信側端末または回線２の経路ごとに、現在までのＲＴＴの最小値（Ｒｍｉｎ）、或いはこの最小値に所定値（例えば、回線２上でのキューイング時間を考慮した係数）を加算した値（Ｒｍｉｎ＋α）をＲＴＴデータ１３ａとして記憶している。なお、本実施例１では、開始パケットの送付前には、Ｒｍｉｎの初期値として非常に大きな値を記憶していることとする。
【００４１】
制御部１４は、非リアルタイムＯＳ（Operating System）などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する処理部であり、特に本発明に密接に関連するものとしては、送信制御部１４ａおよび閾値可否判定部１４ｂを備える。
【００４２】
送信制御部１４ａは、送信データをパケットに分割して受信側端末２０に送信するように制御する処理部であり、具体的には、タイムスタンプ装置１２から取得した送信時刻情報が埋め込まれたパケットを受信側端末２０に送信する。
【００４３】
閾値可否判定部１４ｂは、応答処理部２２ｂによって返信された送信時刻情報から得られた応答時間が閾値よりも短いか否かを判定する処理部である。具体的には、当該送付パケットの応答時間「ＲＴＴ」と、記憶部１３によって記憶されたＲＴＴデータ１３ａ、すなわち現在までのＲＴＴの最小値（Ｒｍｉｎ）、或いはこの最小値に所定値（例えば、回線２上でのキューイング時間を考慮した係数α）を加算した値（Ｒｍｉｎ＋α）とを比較判定する。
【００４４】
そして、送信制御部１４ａは、閾値可否判定部１４ｂによる判定結果に応じて、受信側端末２０に送信するデータ量を制御する。具体的には、閾値可否判定部１４ｂによって応答時間が閾値よりも短いと判定された場合には、回線２の経路上のボトルネックに余裕があるとみなして、新たに２つのパケットを受信側端末２０に送信し、当該送付パケットのＲＴＴが閾値以上であると判定した場合には、回線２の経路上のボトルネックが輻輳状態にあるとみなして、１つのパケットを受信側端末２０に送信する。
【００４５】
このように、応答時間が閾値よりも短いと判定した場合に２つのパケットを送信し、応答時間が閾値以上であると判定した場合に１つのパケットを送信するように制御することで、図３に示すように、ボトルネックのキューイング処理時間の間隔で送信データを受信側端末２０に送付することができ、ネットワーク状況に合わせた量のデータを動的に送信する輻輳制御をおこなうことができる。
【００４６】
ここで、送付パケットもしくは受領応答のＡＣＫパケットが途中でパケット消失する可能性もあり、送付中のパケットが全て消失すると、新たなパケットを送ることができなくなり、データ送信処理がハングアップしてしまう。
【００４７】
このため、送信制御部１４ａは、応答処理部２２ｂによって受領応答が所定時間以内に返信されなかった場合に、受領応答なしにパケットを送信するように制御する。例えば、一定時間（例えば、β）内に応答処理部２２ｂからＡＣＫパケットが来なければ、新たなパケットを一つ送信する。
【００４８】
（各種処理の手順）
次に、本実施例１に係る通信制御システムの各種処理の手順を説明する。図４は、本実施例１に係るデータ送信処理の手順を示すフローチャートである。この処理は、データ送信要求を受け付けた場合に開始されることとなる。なお、このデータ送信要求は、ユーザからの要求であっても良いし、端末装置内部或いは外部からなされたデータ送信要求であっても良い。
【００４９】
同図に示すように、送信制御部１４ａは、ＲＴＴデータ１３ａのＲＴＴ最小値「Ｒｍｉｎ」として非常に大きな値を記憶部１３に設定し（ステップＳ４０１）、送信データから分割したパケットのうち開始パケットを受信側端末２０に送信する（ステップＳ４０２）。なお、このとき、受信側端末２０では、送付パケットが正常に受信したことを確認した場合に、送付パケットに含まれる送信時刻情報を受領応答パケット（ＡＣＫパケット）として送信側端末１０に返信する。
【００５０】
ここで、応答処理部２２ｂから所定時間「β」内に受領応答パケット（ＡＣＫパケット）を受信しなかった場合（ステップＳ４０３肯定）には、送信制御部１４ａは、受領応答なしに新たなパケットを一つ送信する（ステップＳ４０２）。
【００５１】
一方、応答処理部２２ｂから所定時間「β」内に受領応答パケット（ＡＣＫパケット）を受信しなかった場合（ステップＳ４０３否定）には、送信制御部１４ａは、ＡＣＫに含まれた送信時刻と、ＡＣＫの受信時刻との差から当該送付パケットのＲＴＴ（Round Trip Time；パケット送信時刻とＡＣＫ到着時刻との差）を算出する（ステップＳ４０４）。
【００５２】
続いて、閾値可否判定部１４ｂは、当該送付パケットのＲＴＴと、記憶部１３によって記憶されたＲＴＴデータ１３ａ、すなわち現在までのＲＴＴの最小値（Ｒｍｉｎ）とを比較判定し（ステップＳ４０５）、「ＲＴＴ＜Ｒｍｉｎ」であると判定した場合（ステップＳ４０５肯定）には、ＲＴＴデータ１３ａにおけるＲＴＴ最小値「Ｒｍｉｎ」を更新する（ステップＳ４０６）。
【００５３】
さらに、閾値可否判定部１４ｂは、当該送付パケットのＲＴＴと、現在までのＲＴＴの最小値（Ｒｍｉｎ）に所定値（例えば、回線２上でのキューイング時間を考慮した係数α）を加算した値（Ｒｍｉｎ＋α）とを比較判定する（ステップＳ４０７）。
【００５４】
ここで、閾値可否判定部１４ｂによって「ＲＴＴ＜Ｒｍｉｎ＋α」であると判定された場合（ステップＳ４０７肯定）には、送信制御部１４ａは、新たに２つのパケットを受信側端末２０に送信する（ステップＳ４０８およびステップＳ４０２）。
【００５５】
また、閾値可否判定部１４ｂによって「ＲＴＴ≧Ｒｍｉｎ＋α」であると判定された場合（ステップＳ４０７否定）には、送信制御部１４ａは、１つのパケットを受信側端末２０に送信する（ステップＳ４０２）。
【００５６】
なお、この「データ送信処理」は、送信データの全パケットが受信側端末２０に送信されるまで、上記のステップＳ４０２〜ステップＳ４０８の処理が再帰的におこなわれる。
【００５７】
上述してきたように、本実施例１に係る通信制御システム１によれば、イベントドリブン方式に最適送信レートの算出アルゴリズムとして簡易なアルゴリズムを用いてＵＤＰ通信の輻輳制御をおこなうことができ、計算機にかかる負荷を軽減しつつ、輻輳制御をおこなうことが可能になる。さらに、これに関連して、大小比較と分岐しか使用しないシンプルなアルゴリズムを用いることとしたので、組込み系など非力なＣＰＵでも適応することができる。
【００５８】
また、本実施例１に係る通信制御システム１によれば、送付パケットもしくは受領応答パケットが途中でパケット消失した場合でも、データ送信処理がフリーズすることを防止することが可能になる。
【実施例２】
【００５９】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例１以外にも、上記特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施例にて実施されてもよいものである。そこで、以下に示すように、（１）構成、（２）パケットの送信制御、（３）閾値可否判定、（４）その他等にそれぞれ区分けして異なる実施例を説明する。
【００６０】
（１）構成
例えば、実施例１に係る通信制御システム１では、送信側端末１０が送信制御部１４ａおよび閾値可否判定部１４ｂを有し、受信側端末２０が応答処理部２２ｂを有する実施例について説明したが、本発明はこれに限定されるものではなく、送信側端末１０が本発明に係る受信装置の機能（応答処理部２２ｂの機能）をさらに有しても良いし、受信側端末２０が本発明に係る送信装置の機能（送信制御部１４ａおよび閾値可否判定部１４ｂの機能）をさらに有するように構成するようにしても良い。
【００６１】
また、実施例１では、通信制御システム１におけるネットワーク２が有線で構成される実施例について説明したが、本発明はこれに限定されるものでなく、本発明を無線通信に適用することも同様に可能である。
【００６２】
（２）パケットの送信制御
また、実施例１では、開始パケットもしくは所定時間内にＡＣＫを受信しなかった場合に、受信側端末２０に送信するパケットを一つとする実施例について説明したが、本発明では、応答処理部２２ｂによって受領応答が所定時間以内に返信されなかった場合もしくは開始パケットを送信する場合に、受信側端末２０に複数のパケットを送信するように制御しても良い。
【００６３】
例えば、応答処理部２２ｂによって受領応答が所定時間以内に返信されなかった場合もしくは開始パケットを送信する場合であっても、２つ、３つなど複数送信するようにしても良いし、図５に示すように、最初のＡＣＫが返信されるまで一定間隔Ｔで送信するようにしても良い（この間計算機にかかる負荷は高くなるが、通常ＲＴＴは長くても５００ｍｓ程度なので、システム全体にとって特に問題にならない)。
【００６４】
このように、受領応答が所定時間以内に返信されなかった場合もしくは開始パケットを送信する場合に、受信側端末２０に複数のパケットを送信するように制御することで、パケット送信開始時点或いはパケット消失時点から早期に最適な送信レートに移行することが可能になる。
【００６５】
（３）閾値可否判定
また、本発明では、応答処理部２２ｂによって返信された送信時刻情報から得られた応答時間に代えて、当該送付パケットに対する応答時間に比較して該送付パケットよりも前に送信された送付パケットに対する応答時間の比重が重くなるように平均処理がおこなわれた平均処理結果を閾値可否判定処理に用いるようにしても良い。
【００６６】
すなわち、実施例１に係る通信制御システム１では、送付パケットごとにＲＴＴの変動が激しくなった場合には、送信制御部１４ａによって送信されるパケット数の変動も激しくなり、回線を不安定化させる要因を発生させることとなる。そこで、受信側端末２０から返信されたＡＣＫからＲＴＴを取り出し、適当なフィルタをかけた結果「Ｒａｖｅ」の値と、閾値；Ｒｍｉｎ＋αとを比較判定することによって、閾値可否判定をおこなう。
【００６７】
つまり、送信制御部１４ａによって送信されるパケットの送信レートを安定させるために、当該送付パケットよりも前に送信された送付パケットのＲａｖｅの比重が重くなるように平均処理がおこなわれた平均処理結果を入力値として採用する。例えば、当該送付パケットよりも前に送信された送付パケットのＲａｖｅの比重が重くなるように設定された加重平均の式「Ｒａｖｅn＝０．９×Ｒａｖｅn-1＋０．１×ＲＴＴ」に当該送付パケットのＲＴＴを代入して「Ｒａｖｅ」を算出し、算出された「Ｒａｖｅ」と、閾値「Ｒｍｉｎ＋α」とを比較判定する。
【００６８】
このように、応答処理部２２ｂによって返信された送信時刻情報から得られた応答時間に代えて、当該送付パケットに対する応答時間に比較して該送付パケットよりも前に送信された送付パケットに対する応答時間の比重が重くなるように平均処理がおこなわれた平均処理結果を閾値可否判定処理に用いることで、パケットの送信レートの急激な変化を抑制することができ、ネットワークの通信状況が不安定になることを防止することができる。
【００６９】
また、実施例１では、受信側端末２０によって受領応答（ＡＣＫ）パケットが返信された場合に、ＲＴＴ:Ｒ(もしくはＲａｖｅ)と、閾値とを比較判定することによってパケットを一個或いは二個送信するかを決定する実施例について説明したが、本発明はこれに限定されることはなく、閾値を多段に設け、各閾値の段階に応じて、零個や三個、四個・・・ｎ個などというように送信するパケット数を場合分けして決定するようにしても良い。
【００７０】
（４）その他
なお、実施例１では、応答処理部２２ｂが送付パケットごとに受領応答を返信する実施例について説明したが、本発明はこれに限定されるものではなく、送付パケットに対する受領応答を所定の頻度で返信するようにしても良い。
【００７１】
例えば、送付パケットを３回、５回、・・・ｎ回送信するごとに受領応答を返信するように通信制御システム１を構成する。これによって、送信側装置への受領応答の返信に起因するネットワークの使用を低減させることができ、ネットワーク通信を効率良くおこなうことが可能になる。
【００７２】
また、本発明では、送付パケットに固有の通し番号を採番し、ＡＣＫの中に送信時刻情報とともに通し番号を埋め込むことで、パケット消失の有無を検知することができる。また、送信側端末１０で各送付パケットに送信時刻情報をリスト管理することで、送付パケットに識別子を採番する手法と同様に、パケット消失の有無を検知することができる。
【００７３】
そして、これらの手法を用いて送付パケットの消失を検知した場合には、応答時間が閾値よりも短いと判定された場合でも、図６に示すように、単数パケットもしくは当該送付パケットが送信された時よりも少数のパケットを受信側端末２０に送信するように制御することで、輻輳制御をより精密におこなうことが可能になる。
【００７４】
また、実施例１において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００７５】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００７６】
（付記１）受信装置にパケットを送信し、該送信された送付パケットに対する受領応答を送信装置に返信することによって前記パケットによる通信を制御する通信制御システムであって、
前記受信装置は、
前記送付パケットに含まれる送信時刻情報を前記受領応答として返信する応答処理手段を備え、
前記送信装置は、
前記応答処理手段によって返信された送信時刻情報から得られた応答時間が閾値よりも短いか否かを判定する閾値可否判定手段と、
前記閾値可否判定手段によって応答時間が閾値よりも短いと判定された場合に、当該送付パケットが送信された時よりも多数もしくは当該送付パケットが送信された時と同数のパケットを前記受信装置に送信するように制御する送信制御手段と、
を備えたことを特徴とする通信制御システム。
【００７７】
（付記２）前記送信制御手段は、前記応答処理手段によって受領応答が所定時間以内に返信されなかった場合に、前記受領応答なしにパケットを送信するように制御することを特徴とする付記１に記載の通信制御システム。
【００７８】
（付記３）前記送信制御手段は、前記応答処理手段によって前記受領応答が所定時間以内に返信されなかった場合もしくは開始パケットを送信する場合に、前記受信装置に複数のパケットを送信するように制御することを特徴とする付記１または２に記載の通信制御システム。
【００７９】
（付記４）前記閾値可否判定手段は、前記応答処理手段によって返信された送信時刻情報から得られた応答時間に代えて、当該送付パケットに対する応答時間に比較して該送付パケットよりも前に送信された送付パケットに対する応答時間の比重が重くなるように平均処理がおこなわれた平均処理結果を閾値可否判定処理に用いることを特徴とする付記１、２または３に記載の通信制御システム。
【００８０】
（付記５）前記送信装置は、
前記応答処理手段によって返信された送付パケットに対する受領応答をもとに、送付パケットの消失を検知するパケット消失検知手段をさらに備え、
前記送信制御手段は、前記パケット消失検知手段によって送付パケットの消失が検知された場合には、前記閾値可否判定手段によって応答時間が閾値よりも短いと判定された場合でも、単数パケットもしくは当該送付パケットが送信された時よりも少数のパケットを前記受信装置に送信するように制御することを特徴とする付記１〜４のいずれか一つに記載の通信制御システム。
【００８１】
（付記６）前記応答処理手段は、前記送付パケットに対する受領応答を所定の頻度で返信することを特徴とする付記１〜５のいずれか一つに記載の通信制御システム。
【００８２】
（付記７）受信装置にパケットを送信し、該送信された送付パケットに対する受領応答を送信装置に返信することによって前記パケットによる通信を制御する通信制御方法であって、
前記受信装置は、
前記送付パケットに含まれる送信時刻情報を前記受領応答として返信する応答処理工程を含み、
前記送信装置は、
前記応答処理工程によって返信された送信時刻情報から得られた応答時間が閾値よりも短いか否かを判定する閾値可否判定工程と、
前記閾値可否判定工程によって応答時間が閾値よりも短いと判定された場合に、当該送付パケットが送信された時よりも多数もしくは当該送付パケットが送信された時と同数のパケットを前記受信装置に送信するように制御する送信制御工程と、
を含んだことを特徴とする通信制御方法。
【００８３】
（付記８）前記送信制御工程は、前記応答処理工程によって受領応答が所定時間以内に返信されなかった場合に、前記受領応答なしにパケットを送信するように制御することを特徴とする付記７に記載の通信制御方法。
【００８４】
（付記９）前記送信制御工程は、前記応答処理工程によって前記受領応答が所定時間以内に返信されなかった場合もしくは開始パケットを送信する場合に、前記受信装置に複数のパケットを送信するように制御することを特徴とする付記７または８に記載の通信制御方法。
【００８５】
（付記１０）前記閾値可否判定工程は、前記応答処理工程によって返信された送信時刻情報から得られた応答時間に代えて、当該送付パケットに対する応答時間に比較して該送付パケットよりも前に送信された送付パケットに対する応答時間の比重が重くなるように平均処理がおこなわれた平均処理結果を閾値可否判定処理に用いることを特徴とする付記７、８または９に記載の通信制御方法。
【００８６】
（付記１１）前記送信装置は、
前記応答処理工程によって返信された送付パケットに対する受領応答をもとに、送付パケットの消失を検知するパケット消失検知工程をさらに含み、
前記送信制御工程は、前記パケット消失検知工程によって送付パケットの消失が検知された場合には、前記閾値可否判定工程によって応答時間が閾値よりも短いと判定された場合でも、単数パケットもしくは当該送付パケットが送信された時よりも少数のパケットを前記受信装置に送信するように制御することを特徴とする付記７〜１０のいずれか一つに記載の通信制御方法。
【００８７】
（付記１２）前記応答処理工程は、前記送付パケットに対する受領応答を所定の頻度で返信することを特徴とする付記７〜１１のいずれか一つに記載の通信制御方法。
【図面の簡単な説明】
【００８８】
【図１】本発明に係る通信制御システムの概要および特徴を示す概念図である。
【図２】本実施例１に係る通信制御システムの構成を示すシステム構成図である。
【図３】パケット授受に係る態様の一例を示す図である。
【図４】本実施例１に係るデータ送信処理の手順を示すフローチャートである。
【図５】パケット授受に係る態様の一例を示す図である。
【図６】パケット授受に係る態様の一例を示す図である。
【符号の説明】
【００８９】
１    通信制御システム
２    ネットワーク（回線）
１０    送信側端末
１１    通信制御ＩＦ部
１２    タイムスタンプ装置
１３    記憶部
１３ａ  ＲＴＴデータ
１４    制御部
１４ａ  送信制御部
１４ｂ  閾値可否判定部
２０    受信側端末
２１    通信制御ＩＦ部
２２    制御部
２２ａ  受信制御部
２２ｂ  応答処理部
【図１】
2006254383.tif 000003
【図２】
2006254383.tif 000004
【図３】
2006254383.tif 000005
【図４】
2006254383.tif 000006
【図５】
2006254383.tif 000007
【図６】
2006254383.tif 000008