JP5520139B2 - 送信装置、受信装置及びプログラム - Google Patents

送信装置、受信装置及びプログラム Download PDF

Info

Publication number
JP5520139B2
JP5520139B2 JP2010124274A JP2010124274A JP5520139B2 JP 5520139 B2 JP5520139 B2 JP 5520139B2 JP 2010124274 A JP2010124274 A JP 2010124274A JP 2010124274 A JP2010124274 A JP 2010124274A JP 5520139 B2 JP5520139 B2 JP 5520139B2
Authority
JP
Japan
Prior art keywords
transmission
packet
priority
priority index
unit
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
JP2010124274A
Other languages
English (en)
Other versions
JP2011250365A (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.)
Japan Broadcasting Corp
Original Assignee
Japan Broadcasting 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 Japan Broadcasting Corp filed Critical Japan Broadcasting Corp
Priority to JP2010124274A priority Critical patent/JP5520139B2/ja
Publication of JP2011250365A publication Critical patent/JP2011250365A/ja
Application granted granted Critical
Publication of JP5520139B2 publication Critical patent/JP5520139B2/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)

Description

本発明は、IPネットワークを利用したデータ伝送に用いられる送信装置、受信装置及びプログラムに関し、特に、指定された優先度指標に従ってパケット送信量を調節する技術に関する。
現在、一般に広く普及しているIPネットワークでは、送信装置と受信装置との間のデータ伝送を行うためのプロトコルとして、TCP(Transmission Control protocol)が用いられている。このTCPには、伝送の開始、終了を制御するコネクション機能、全てのデータを正常に伝送することを保証する再送機能、受信装置の処理能力に合わせてデータの送信量を調節するフロー制御機能、ネットワークが必要以上に混雑しないように送信量を調節する輻輳制御機能が備わっている。
TCPに組み込まれている輻輳制御機能の制御方法として様々な方式が提案されている。提案されているいずれの方式も、送信装置が、受信装置から確認応答(ACK)パケットを受信してパケットロスの発生を検出することにより、または、RTT(Round Trip Time:ラウンドトリップタイム)を計測してその変化を判定することにより、パケット送信量を決定し、送信レートを制御するものである。
TCPに組み込まれた輻輳制御機能のうち最も普及している方式は、TCP NewReno方式である(非特許文献1を参照)。このNewReno方式は、送信装置が、インクリメントする確認応答番号を含むACKを受信した場合、その受信毎に、一度に送信するパケット送信量を1パケットずつ増加させ、同一の確認応答番号を含むACKを連続して受信した場合、パケットロスの発生を検出したと判定し、一度に送信するパケット送信量を1/2に減少させるものである。このようなパケットロスの発生によってパケット送信量を調節するNewReno方式は、ロスベース輻輳制御方式と呼ばれている。
ここで、ACKに含まれる確認応答番号は、送信装置により送信されたデータパケットのパケット信号に対応しており、正常時には、ACK毎にインクリメントした値となる。受信装置がデータパケットを受信したが、正しいパケット番号ではなかったと判定した場合には(異常時には)、本来受信すべき番号を確認応答番号としたACKが生成され、送信装置へ送信される。つまり、受信装置は、正しい番号ではないパケット番号を含むデータパケットを受信した場合、本来受信すべき番号を確認応答番号としたACKを送信装置へ送信する。このように、受信装置は、正しい番号ではないパケット番号を含むデータパケットを連続して受信した場合、同一の確認応答番号を含むACKを連続して送信装置へ送信する。
また、NewReno方式以外の他の代表的な輻輳制御方式として、TCP Vegas方式(非特許文献2を参照)がある。このVegas方式は、送信装置がRTTの増減に従ってパケット送信量を調整するものであり、ディレイベース輻輳制御方式と呼ばれている。
また、上記NewReno方式及びVegas方式の2つの輻輳制御方式を基本にして、帯域の有効利用及び送信レートの公平性の観点から、多くの改良方式が提案されている(特許文献1を参照)。また、伝送されているデータの内容に緊急性がない場合、そのデータのパケット送信量を抑え、緊急性がある場合、そのデータのパケット送信量を増やすことにより、緊急性の高いデータ伝送を優先させる方式も提案されている(特許文献2を参照)。このように、従来の輻輳制御方式は、送信装置及び受信装置が自発的に送信レートを制御することが前提となっている。
一方、IPネットワークにQoS(Quality of Service)機能を持たせ、各伝送の内容に応じた優先度に基づいて、ルータのパケット転送順位を制御する方式も提案されている。代表的な方式として、IntServ方式及びDiffServ方式がある(非特許文献3,4を参照)。これらの方式は、パケットに優先度が記述されており、IPネットワークを構成するルータが、優先度の高いパケットを優先度の低いパケットよりも先に転送するものである。
特開2006−217234号公報 特開2006−14329号公報
IETF RFC3782 L.Brakmo and L.Peterson, TCP Vegas: End to End Congestion Avoidance on a Global Internet, IEEE Journal on Selected Areas in Communications, Vol 13 No.8, Oct.1995 IETF RFC1633 IETF RFC2474
前述のとおり、TCPの伝送プロトコルに従ってデータの送信を行う送信装置においては、TCPが持つフロー制御機能及び輻輳制御機能によりパケット送信量を調節することができる。しかしながら、このような送信装置では、優先度を指定してパケット送信量を調節することはできない。ここで、データの伝送サービスを受ける利用者が、伝送内容の重要度または緊急度に応じて優先度を指定し、指定された優先度に従って送信装置がパケット送信量を調節することができれば、利用者にとって利便性が向上し、好適である。
そこで、本発明はかかる問題を解決するためになされたものであり、その目的は、既存のTCPの伝送プロトコルと互換性を持ちながら、優先度を指定してパケット送信量を調節することが可能な送信装置、受信装置及びプログラムを提供することにある。
上記目的を達成するために、請求項1の発明は、TCPの伝送プロトコルに従ってデータパケットを受信装置へ送信し、前記受信装置からACKを受信する送信装置において、前記受信装置により優先度指標が付加されたACKを受信するパケット受信部と、前記パケット受信部により受信されたACKに含まれる優先度指標を読み取る優先度読取部と、前記優先度読取部により読み取られた優先度指標に従って、データパケットの送信量を調節するパケット送信部と、を備え、前記パケット送信部が、前記優先度読取部により読み取られた優先度指標が、予め設定された許容範囲に含まれるか否かを判定し、前記優先度指標が前記許容範囲に含まれると判定した場合、前記優先度指標に従ってデータパケットの送信量を調節し、前記優先度指標が前記許容範囲に含まれないと判定した場合、予め設定された優先度指標に従ってデータパケットの送信量を調節することを特徴とする。
また、請求項2の発明は、請求項1に記載の送信装置において、前記パケット送信部に代わる新たなパケット送信部が、前記優先度読取部により読み取られた優先度指標に従って、データパケットの送信量を調節し、さらに、データパケットの送信量を調節していた過去の優先度指標を保持し、その後、前記優先度読取部により読み取られた優先度指標が予め設定された値であると判定した場合、前記保持していた過去の優先度指標に従ってデータパケットの送信量を調節することを特徴とする。
また、請求項3の発明は、請求項1に記載の送信装置において、前記パケット送信部に代わる新たなパケット送信部が、前記優先度読取部により読み取られた優先度指標を入力した場合、当該送信装置にて予め設定された優先度指標ではなく、前記入力した優先度指標に従って、データパケットの送信量を調節し、前記受信したACKに優先度指標読み出し要求が付加されている場合、前記データパケットの送信量の調節のために現在使用している優先度指標を、前記受信装置へ送信することを特徴とする。
また、請求項4の発明は、請求項1から3までのいずれか一項に記載の送信装置において、前記優先度指標が、前記ACKに含まれるTCPヘッダに記述されていることを特徴とする。
また、請求項5の発明は、TCPの伝送プロトコルに従って送信装置からデータパケットを受信し、前記データパケットに対するACKを前記送信装置へ送信する受信装置において、前記データパケットを受信するパケット受信部と、前記パケット受信部によりデータパケットが受信されたタイミングにて、前記送信装置から送信されるデータパケットの送信量を調節するための優先度指標を記述すると共に、データパケットの送信量の調節のために前記送信装置にて現在使用している優先度指標を読み出す要求を記述してTCPヘッダを生成するTCPヘッダ生成部と、前記TCPヘッダ生成部により生成されたTCPヘッダを含むACKを生成し、前記送信装置へ返信するパケット送信部と、を備え、前記送信装置から、データパケットの送信量の調節のために現在使用している優先度指標を受信することを特徴とする。
また、請求項6の発明は、請求項5に記載の受信装置において、前記TCPヘッダ生成部が、前記優先度指標を拡張ヘッダ部に記述し、既存のTCPヘッダに前記拡張ヘッダ部を付加して新たなTCPヘッダを生成することを特徴とする。
また、請求項7の発明は、コンピュータを、請求項1から4までのいずれか一項に記載の送信装置として機能させるための送信プログラムにある。
また、請求項8の発明は、コンピュータを、請求項5または6に記載の受信装置として機能させるための受信プログラムにある。
本発明によれば、既存のTCPのプロトコルと互換性を持ちながら、優先度指標を指定して送信量を調節することができる。つまり、伝送内容の重要度または緊急度に応じた伝送を実現し、利便性の向上を図ることができる。
実施例1の送信装置及び受信装置を含む全体システムの構成を示す図である。 実施例1の送信装置及び受信装置それぞれの概略構成を示すブロック図である。 既存のTCPヘッダの構造を示す図である。 実施例1の受信装置により生成されるTCPヘッダの構造を示す図である。 実施例1の送信装置と受信装置との間の優先度の送受信を概念的に示した図である。 実施例1の受信装置によるACK生成処理を示すフローチャートである。 実施例1の送信装置による送信量調節処理を示すフローチャートである。 実施例2の送信装置及び受信装置を含む全体システムの構成を示す図である。 実施例3の送信装置及び受信装置における機能階層を示す図である。 実施例4の伝送装置により生成されるTCPヘッダの構造を示す図である。 実施例5の送信装置による送信量調節処理を示すフローチャートである。
以下、本発明を実施するための形態について、図面を参照して説明する。
まず、実施例1について詳細に説明する。実施例1は、複数台の送信装置から1台の受信装置へデータをアップロードするシステムを想定しており、各送信装置が送信するデータの重要性または緊急度に応じて送信量を調節する例である。
図1は、実施例1の送信装置及び受信装置を含む全体システムの構成を示す図である。実施例1のシステムは、複数台の送信装置1−1,1−2,1−3,・・・,1−n(例えば、複数台のクライアント)と、1台の受信装置2(例えば、1台のサーバ)とを備えて構成され、複数台の送信装置1−1,1−2,1−3,・・・,1−nが1台の受信装置2へ向けて伝送するデータのアップロードを想定したシステムである。送信装置1−1,1−2,1−3,・・・,1−nと受信装置2とはネットワーク経路3により接続される。
各送信装置1−1,1−2,1−3,・・・,1−nは、共有するネットワーク経路3を介して受信装置2へ向けてデータを伝送する。従来のTCPでは、フロー制御機能及び輻輳制御機能により送信量を調節することができるが、伝送内容の重要性または緊急度に応じて優先度を指定して送信量を調節することはできなかった。そこで、実施例1では、伝送内容の重要性または緊急度に応じて送信量を調節できるデータ伝送を実現する。
(送信装置及び受信装置の構成)
次に、図1に示した送信装置1−1,1−2,1−3,・・・,1−n及び受信装置2それぞれの構成について説明する。図2は、実施例1の送信装置1(以下、送信装置1−1,1−2,1−3,・・・,1−nを総称して送信装置1という)及び受信装置2それぞれの概略構成を示すブロック図である。送信装置1は、送信データバッファ部11、パケット送信部12、パケット受信部13及び優先度読取部14を備えている。
送信データバッファ部11は、アプリケーション(図示せず)からの送信データを一時的に保持する。パケット送信部12は、送信データバッファ部11から送信データを入力し、優先度指標(指定された優先度)に従った送信量制御を行い、パケット(データパケット)を受信装置2へ送信する。すなわち、パケット送信部12は、送信データバッファ部11から送信データを入力して、TCPヘッダ(パケットヘッダ)を付加したパケットを生成し、優先度指標に従った送信量制御を行い、パケットを受信装置2へ送信する。
ここで、受信装置2は、送信装置1より送信されたパケットを受信し、受信したパケットが本来受信すべきパケット番号のパケットであると判定した場合(すなわち、パケットが正常であると判定した場合)、パケットに含まれるパケット番号を確認応答番号に設定し、確認応答番号を含むACK(ACKパケット)を生成して送信装置1へ送信する。また、受信装置2は、受信したパケットが本来受信すべきパケット番号のパケットでないと判定した場合(すなわち、パケットが正常でないと判定した場合)、本来受信すべきパケットに含まれるパケット番号を確認応答番号に設定し、確認応答番号を含むACKを生成して送信装置1へ送信する。
受信装置2は、パケット受信部21、TCPヘッダ生成部22及びパケット送信部23を備えている。パケット受信部21は、送信部1から送信されたパケットを受信し、受信したパケットを受信アプリケーション(図示せず)に出力する。また、パケット受信部21は、送信装置1から送信されたパケットを受信したタイミングをTCPヘッダ生成部22に通知する。TCPヘッダ生成部22は、パケット受信部21からパケットを受信したタイミングを受けると、TCPヘッダを生成する。TCPヘッダ生成部22は、TCPヘッダを生成する際に優先度の指定があると、TCPヘッダを拡張した拡張ヘッダ部を生成し、その拡張ヘッダ部に優先度指標を記述する。TCPヘッダ生成部22は、生成したTCPヘッダをパケット送信部23に出力する。TCPヘッダ生成時に用いられる優先度指標は、利用者が手動で入力することも可能であり、また、受信側のアプリケーションが自動的に生成することも可能である。
図3は、既存のTCPヘッダの構造を示す図である。図3において、TCPヘッダ5は、20バイトの大きさになっている。TCPヘッダ5は、16ビットの「送信元ポート番号」、16ビットの「宛先ポート番号」、32ビットの「シーケンス番号」、32ビットの「確認応答番号」、4ビットの「データオフセット(ヘッダ長)」、6ビットの「予約済み」、各1ビットの6つの「コードビット(URG,ACK,PSH,RST,SYN,FIN)」、16ビットの「ウィンドウサイズ」、16ビットの「チェックサム」、及び16ビットの「緊急ポインタ」から構成される。
TCPでは、21バイト目以降にヘッダの拡張が許されており、オプションデータの記述が可能となっている。TCPヘッダの長さは、上述した「データオフセット(ヘッダ長)」で表される。データオフセットの値は、4バイトの整数倍として数えた数値で表現されるため、ヘッダ拡張していない場合のデータオフセットの値は「5」となる。すなわち、TCPヘッダの長さは20(4×5)バイトとなる。
図4は、実施例1の受信装置2により生成されるTCPヘッダの構造を示す図である。図4において、TCPヘッダ5Aは、図3に示した既存のTCPヘッダ5に加え、拡張ヘッダ部52を備えて構成され、既存のTCPヘッダ5を4バイト拡張したものである。4バイト拡張することにより、データオフセット51の値は前述の「5」から1つ増加した「6」となる。また、TCPヘッダ5Aの長さは24バイト(4×6)となる。データオフセット51の値に基づいて、ヘッダが拡張されているか否かが判別される。
拡張ヘッダ部52は、オプションタイプ(1)、オプションタイプ(100)、オプションレングス(3)、オプションバリュー(0−255)の各1バイトからなる4バイト構成となっている。オプションタイプの()内の値はタイプ値を示している。拡張ヘッダ部52では、オプションタイプ(100)、オプションレングス(3)及びオプションバリュー(0−255)の3バイト分を使用しており、残りの1バイト分をオプションとして挿入している。つまり、拡張ヘッダ部52を4バイトの整数倍に保つために、最初にタイプ値1、長さ1バイトのオプションを挿入している。このタイプ値1は、ノーオペレーション(No Operation)を表し、データとして意味のないことを示している。
ノーオペレーションのオプションタイプ(1)に続くオプションタイプ(100)のタイプ値100は、優先度指標オプションを表す番号であり、このタイプ値100を参照することにより、拡張ヘッダ部52に優先度指標オプションが記述されていると判別される。なお、タイプ値100は仮に付けた値であり、必ずしもこの値に限定されるものではない。
オプションタイプ(100)に続くオプションレングス(3)は、オプションの長さの全体を表す。ここでは3バイト目と記述しており、残りの読み取るべき値は1バイトであることが判別される。最後のオプションバリュー(0−255)は、1バイトで表現可能な0−255の優先度指標を表す。優先度指標は0−255の段階で優先度を表すものである。優先度指標は数値が大きいほど優先度が高く、一定の時間内の送信量を多く割り当てることを示すものである。
なお、拡張ヘッダ部52を4バイトの整数倍に保つ方法として、上述した方法以外に、0(ゼロ)でパディングする方法、優先度指標を2バイトにて割り当てる方法、タイプ値100のオプションで伝送する情報を優先度指標1バイト及びリザーブバイト1バイトの合計2バイトとする方法などがある。0(ゼロ)でパディングする方法は記述が決まっており、オプションタイプ(1)を付けないで、オプションタイプ(100)から始めて、1バイト目にオプションタイプ(100)、2バイト目にオプションレングス(3)、3バイト目にオプションバリュー(0−255)、4バイト目に全部0(ゼロ)で埋める、という記述方法が採用されている。なお、オプションタイプとオプションレングスは必ず1バイトの中に納めなければならないが、オプションバリューは自由に長さを決めることができる。優先度指標を2バイトにて割り当てる方法では、0−65535の段階で優先度を表すことが可能となる。
図2に戻り、受信装置2から送信装置1へ送信されるACKは、送信装置1から受信装置2へ送信されたパケットに対する応答である(すなわち、返信である)。受信装置2は、ACKを生成する際に、優先度指定があるか否かを確認し、優先度指定があれば、上述した拡張ヘッダ部52を生成し、生成した拡張ヘッダ部52のオプションバリューに優先度指標を記述する。また、受信装置2は、ACKを生成する際に、受信装置2の最大受付可能データ量を示すRWND(受信ウィンドウサイズ)をTCPヘッダに記述する。そして、TCPヘッダを付加したACKを生成して送信装置1へ送信する。これにより、送信装置1が受信するACKには、確認応答番号、優先度指標及びRWNDが含まれる。RWNDは、受信装置2において、送信装置1からパケットを受信することができる最大受付可能データ量を示す受信ウィンドウサイズである。
送信装置1の説明に戻り、パケット受信部13は、受信装置2から確認応答番号、優先度指標及びRWNDを含むACKを受信したときの時刻を内蔵タイマ(図示せず)から取得する。また、パケット受信部13は、受信したACKのTCPヘッダに優先度指標が記述された拡張ヘッダ部52があるか否かを確認し、拡張ヘッダ部52があれば、TCPヘッダから拡張ヘッダ部52を取得し、拡張ヘッダ部52を優先度読取部14に出力する。また、パケット受信部13は、パケット送信部12からパケットの送信時刻を入力して記憶し、そのパケットに対するACKの受信時刻を記憶する。そして、パケット受信部13は、受信時刻から送信時刻を減算してRTTを計測し、その減算結果であるRTTをパケット送信部12に出力する。また、パケット受信部13は、受信したACKのTCPヘッダに記述されたRWNDを取得することによりRWNDを検出し、このRWNDをパケット送信部12に出力する。
また、パケット受信部13は、受信したACKに含まれる確認応答番号に基づいて、前回受信して入力したACKに含まれる確認応答番号と、今回受信したACKに含まれる確認応答番号とを比較し、パケットロスの発生を検出する。そして、パケット受信部13は、パケットロスが発生しているか否かを示すパケットロス発生有無の情報を送信データバッファ部11に出力する。具体的には、パケット受信部13は、前回の確認応答番号と今回の確認応答番号とが同一であると判定して、その同一の判定が所定回数連続した場合、パケットロスが発生したものと判定する。例えば、所定回数が2に設定されているとき、パケット受信部13は、確認応答番号が同一であるとの判定を2回連続して行った場合、すなわち、同一の確認応答番号を含むACKが3回連続したことを判定した場合、パケットロスが発生したものと判定する。この判定手法を3DUPACKという。
優先度読取部14は、パケット受信部13から拡張ヘッダ部52を入力し、拡張ヘッダ部52に記述された優先度指標を読み取る。そして、読み取った優先度指標をパケット送信部12に出力する。パケット送信部12は、優先度読取部14から優先度指標を入力できた場合、送信装置1側で指定された優先度指標ではなく、優先度読取部14から入力した優先度指標に従ってパケット送信量を調節する。また、パケット送信部12は、パケット受信部13からRTT、パケットロス発生有無の情報及びRWNDを入力し、優先度指標、RTT及びパケットロス発生有無の各データに基づいてCWND(送信パケット数を示す輻輳ウィンドウサイズ)を算出し、CWND及びRWNDのうちの小さい方をパケット送信量に決定する。これにより、送信レートが決定される。
なお、送信装置1における優先度指標の指定は、利用者が送信装置1に対して直接キー操作を行うことにより指定されるようにしてもよいし、送信装置1側のアプリケーションが自動的に優先度指標を生成することにより指定されるようにしてもよい。また、優先度指標を設定するための専用の外部アプリケーションから指定されるようにしてもよい。
図5は、送信装置1と受信装置2との間の優先度の送受信を概念的に示した図である。この送信装置1は、図2に示した送信装置1に相当するものであり、TCPドライバ17、優先度手動入力部18及びアプリケーション19を備え、受信装置2は、図2に示した受信装置2に相当するものであり、TCPドライバ26、優先度手動入力部27及びアプリケーション28を備えている。送信装置1のTCPドライバ17は、図2に示した送信装置1における送信データバッファ部11、パケット送信部12、パケット受信部13及び優先度読取部14に対応しており、同等の機能を有する。
一方、受信装置2のTCPドライバ26は、図2に示した受信装置2におけるパケット受信部21、TCPヘッダ生成部22及びパケット送信部23に対応しており、同等の機能を有する。送信装置1と受信装置2のそれぞれにおいて、手動による優先度指定が可能であり、送信装置1側では優先度手動入力部18により優先度TCPドライバ17に入力され、受信装置2側では優先度手動入力部27によりTCPドライバ26に入力される。優先度を手動で入力する代わりに、ある特定のアルゴリズムに従って、自動的に優先度を決定する場合、優先度を取り決めるための情報の送受信は、送信装置1のアプリケーション19と受信装置2のアプリケーション28との間で行われる。送信装置1のTCPドライバ17は、送信側で動作している優先度指標をTCPヘッダの拡張ヘッダ部53(詳細については後述する)に記述し、送信パケットを受信装置2へ送信する。受信装置2のTCPドライバ26は、受信側で設定した優先度指標を、TCPヘッダの拡張ヘッダ部52に記述し、ACKを送信装置1へ送信する。
次に、実施例1の送信装置1及び受信装置2の処理について説明する。
(受信装置の処理)
まず、受信装置2によるACK生成処理について説明する。図6は、受信装置2によるACK生成処理を示すフローチャートである。図6において、パケット受信部21は、送信装置1からパケットを受信したかどうかを判定する(ステップS10)。パケット受信部21は、送信装置1からパケットを受信していない場合(ステップS10:NO)、パケットを受信するまでステップS10の判定を繰り返す。パケット受信部21は、送信装置1からパケットを受信した場合(ステップS10:YES)、パケットの受信タイミングをTCPヘッダ生成部22に通知する。TCPヘッダ生成部22は、パケット受信部21からパケットの受信タイミング通知を受けると、優先度指定の有無を判定する(ステップS11)。優先度指定は、利用者が手動で設定するか、または受信側のアプリケーションが自動的に生成して設定することにより行われる。
TCPヘッダ生成部22は、優先度指定が有ると判定した場合(ステップS11:YES)、指定された優先度指標を取得する(ステップS12)。TCPヘッダ生成部22は、優先度指標を取得した後、TCPヘッダ5A(図4を参照)を生成する(ステップS13)。この際、優先度指標を取得しているので、TCPヘッダ5(図3を参照)に優先度指標を記述するための拡張ヘッダ部52(図4を参照)を生成し、拡張ヘッダ部52のオプションバリューに優先度指標を記述する。また、TCPヘッダ生成部22は、拡張ヘッダ部52の生成において、優先度指標オプションを表すオプションタイプ(100)を記述し、また、オプションの全体の長さを表すオプションレングス(3)を記述する。さらに、TCPヘッダ生成部22は、データオフセットの値を6に設定する。
TCPヘッダ生成部22は、生成した拡張ヘッダ部52を含むTCPヘッダ5Aをパケット送信部23に出力する。パケット送信部23は、TCPヘッダ生成部22からTCPヘッダ5Aを入力し、このTCPヘッダ5Aを含むACKを生成する(ステップS14)。そして、生成したACKを送信装置1へ送信する(ステップS15)。
一方、ステップS11の判定において優先度指定が無い場合は(ステップS11:NO)、ステップS13へ移行し、TCPヘッダ生成部22は、ステップS13において、図3に示した通常のTCPヘッダ5を生成する。その後の処理は、上記同様に行われる。
このように、受信装置2では、パケット受信部21が送信装置1からパケットを受信すると、そのタイミングでTCPヘッダ生成部22がTCPヘッダ5A(または5)を生成する。この際、優先度指定がされていれば、拡張ヘッダ部52を生成して優先度指標を記述したTCPヘッダ5Aを生成し、優先度指定がされていなければ、通常のTCPヘッダ5を生成する。TCPヘッダ生成部22がTCPヘッダ5A(または5)を生成すると、パケット送信部23がTCPヘッダ5A(または5)を含むACKを生成し、送信装置1へ送信する。
(送信装置の処理)
次に、送信装置1による送信量調節処理について説明する。図7は、送信装置1による送信量調節処理を示すフローチャートである。図7において、パケット受信部13は、受信装置2から送信されたACKを受信したか否かを判定する(ステップS20)。パケット受信部13は、受信装置2からACKを受信しない場合(ステップS20:NO)、ACKを受信するまでステップS20の判定を繰り返す。パケット受信部13は、受信装置2からACKを受信した場合(ステップS20:YES)、ACKに含まれるTCPヘッダを抽出する(ステップS21)。そして、パケット受信部13は、TCPヘッダのデータオフセットを参照し(ステップS22)、データオフセットが「6以上」であるか否かを判定する(ステップS23)。すなわち、パケット受信部13は、拡張ヘッダ部52(図4を参照)を有しているTCPヘッダ5Aであるか否かを判定する。
パケット受信部13は、データオフセットが「6以上」であると判定した場合(ステップS23:YES)、TCPヘッダ5Aから拡張ヘッダ部52を取得し、優先度読取部14に出力する。優先度読取部14は、パケット受信部13から拡張ヘッダ52を入力し、拡張ヘッダ部52のオプションタイプを参照し(ステップS24)、そのオプションタイプが「100」であるか否かを判定する(ステップS25)。オプションタイプが「100」であると判定した場合(ステップS25:YES)、そのオプションは優先度指標オプションであるから、優先度読取部14は、拡張ヘッダ部52のオプションバリューから優先度指標を取得する(ステップS26)。そして、優先度読取部14は、拡張ヘッダ部52のオプションバリューから取得した優先度指標をパケット送信部12に出力する。パケット送信部12は、優先度読取部14から優先度指標を入力すると、入力した優先度指標に従ってパケットの送信量を調節し(ステップS27)、他の処理として、他のオプションタイプに応じた処理及び通常のTCPヘッダ5を含むACKに対する処理が行われる(ステップS28)。
一方、パケット受信部13は、ステップS23の判定において、データオフセットが「6以上」でないと判定した場合(ステップS23:NO)、他の処理として、他のオプションタイプに応じた処理及び通常のTCPヘッダ5を含むACKに対する処理が行われる(ステップS28)。また、優先度読取部14は、ステップS25の判定において、オプションタイプが「100」でないと判定した場合(ステップS25:NO)、他の処理として、他のオプションタイプに応じた処理及び通常のTCPヘッダ5を含むACKに対する処理が行われる(ステップS28)。
このように、送信装置1では、パケット受信部13が受信装置2からACKを受信すると、ACKに含まれるTCPヘッダを抽出し、TCPヘッダのデータオフセットを参照する。データオフセットが「6以上」であれば、TCPヘッダから拡張ヘッダ部52を取得し、優先度読取部14に出力する。優先度読取部14は、パケット受信部13から拡張ヘッダ部52を入力し、オプションタイプを参照し、「100」であればオプションバリューから優先度指標を取得し、パケット送信部12に出力する。パケット送信部12は、優先度読取部14から優先度指標を入力し、入力した優先度指標に従って送信量を調節する。
以上のように、実施例1の送信装置1及び受信装置2によれば、複数台の送信装置1−1,1−2,1−3,・・・,1−nから1台の受信装置2へデータをアップロードする場合において、受信装置2は、送信装置1から送信されたパケットを受信するタイミングでTCPヘッダを生成し、その際、優先度指定がされていれば、拡張ヘッダ部52を生成して優先度指標を記述したTCPヘッダを生成し、生成したTCPヘッダを含むACKを送信装置1へ送信する。一方、送信装置1は、受信装置2から送信されたACKを受信することにより、受信したACKに含まれるTCPヘッダを抽出し、抽出したTCPヘッダのデータオフセットが「6以上」であれば、TCPヘッダに含まれる拡張ヘッダ部52を参照し、オプションタイプが「100」であれば、オプションバリューから優先度指標を取得し、取得した優先度指標に従って送信量を調節する。これにより、伝送内容の重要度または緊急度に応じて優先度を指定して送信量を調節することが可能となり、利便性の向上を図ることができる。
なお、実施例1では、送信装置1が、受信装置2により指定された優先度指標を自装置(送信装置1)側で指定された優先度指標よりも優先的に選択し、選択した優先度指標に従って送信量の調節を行うようにしたが、受信装置2で指定された優先度指標によるデータの送信量が許容範囲を超える場合、送信装置1側で指定された優先度指標を選択するようにしてもよい。すなわち、送信装置1のパケット送信部12は、送信装置1の優先度読取部14で読み取られた優先度指標(受信装置2で指定された優先度指標)と、予め設定された優先度指標許容範囲とを比較し、優先度指標が優先度指標許容範囲に含まれないと判断した場合、つまりデータの送信量が許容範囲を超えると判断した場合、自装置1側で指定された優先度指標を選択し、選択した優先度指標に従う送信量でデータを送信するようにしてもよい。
次に、実施例2について詳細に説明する。実施例2は、1台の送信装置から複数台の受信装置へデータをダウンロードするシステムを想定しており、各受信装置が受信するデータの重要性または緊急度に応じて送信量を調節する例である。
図8は、実施例2の送信装置及び受信装置を含む全体システムの構成を示す図である。実施例2のシステムは、1台の送信装置1(例えば、1台のサーバ)と、複数台の受信装置2−1,2−2,2−3,・・・,2−n(例えば、複数台のクライアント)とを備えて構成され、1台の送信装置1が複数台の受信装置2−1,2−2,2−3,・・・,2−nへ向けて伝送するデータのダウンロードを想定したシステムである。送信装置1と受信装置2−1,2−2,2−3,・・・,2−nとはネットワーク経路3により接続される。なお、実施例2の送信装置1及び複数台の受信装置2−1,2−2,2−3,・・・,2−nそれぞれの構成は、前述した実施例1による送信装置1及び複数台の受信装置2−1,2−2,2−3,・・・,2−nそれぞれの構成と同様に図2で表すことができるので、同じ符号を付けている。
複数台の受信装置2−1,2−2,2−3,・・・,2−n(以下、受信装置2−1,2−2,2−3,・・・,2−nを総称して受信装置2という)は、共通の送信装置1から同時にデータをダウンロードする。この際、送信装置1は、受信装置2がダウンロードするデータの重要性などにより、受信装置2に指定される優先度指標に従って送信量を調節する。受信装置2は、送信装置1から送信されたパケットを受信してACKを返信する際に、図4に示したTCPヘッダ5Aの拡張ヘッダ部52に優先度指標を記述する(すなわち、優先度指標を指定する)ことにより、指定した優先度指標に応じた送信量にてデータを送信装置1から受信することが可能となる。
なお、実施例2において、送信装置1は、優先度指標許容範囲が受信装置2毎に設定されている場合、その許容範囲を外れた優先度指標を指定してきた受信装置2に対し、優先度指標の指定を無効とし、送信装置1側で設定された優先度指標に従って送信量を調節するようにしてもよい。
次に、実施例3について詳細に説明する。実施例1,2では、優先度指標をTCPドライバ(図5に示したTCPドライバ17,26に相当)に直接指定する例を示した。これに対し、実施例3は、アプリケーション(図5に示したアプリケーション19,28に相当)からTCPドライバに優先度指標を渡す例である。優先度指標をアプリケーションからTCPドライバに渡すために、実施例3では、API(Application Program Interface)を用いている。
標準的なAPIとしてソケットAPI(socketAPI)があり、このソケットAPIでは、setsockopt()、getsockopt()関数により、アプリケーションとTCPドライバとの間の補足的な情報の受け渡しを行うことができる。実施例3では、ソケットAPI形式に準じて、setsockopt()、getsockopt()関数により、アプリケーションから優先度指標の設定及び読み出しを行う。これにより、利用者の指定する優先度指標に従い、データ伝送中であっても優先度指標を指定することが可能となる。この場合、送信装置1では、アプリケーションに定義された関数により優先度指標が直接設定される。また、受信装置2では、アプリケーションに定義された関数により優先度指標が設定され、ACK返信の際のTCPヘッダ生成時に、拡張ヘッダ部52が生成され、その拡張ヘッダ部52に優先度指標が記述される。
図9は、実施例3の送信装置及び受信装置における機能階層を示す図である。送信装置1及び受信装置2の機能階層は、上位階層から下位階層へ向けて、アプリケーション30、TCP/IP層(TCPレイヤ)40及びNIC(Network Interface Card)50により構成される。アプリケーション30は、TCPドライバのTCP通信を受け持つTCP/IP層40にデータの送信を依頼する。このとき、setsockopt()関数を使用して優先度指標を設定する。TCP/IP層40は、アプリケーション30から依頼のあったデータをパケット化し、それに優先度指標を含むTCPヘッダを付加してNIC50に渡す。NIC50は、TCP/IP層40から渡されたデータを送信する。また、アプリケーション30は、getsockopt()関数を使用してTCPヘッダの拡張ヘッダ部52から優先度指標を読み出す。例えば、受信装置2のアプリケーション30は、setsockopt()関数を使用して優先度指標を設定し、TCP/IP層40及びNIC50を介して、優先度指標を含むTCPヘッダが付加されたACKを送信装置1へ送信する。送信装置1のアプリケーション30は、getsockopt()関数を使用して、TCP/IP層40及びNIC50を介して、受信装置2から受信したACKのTCPヘッダから優先度指標を取得する。
なお、上記の場合は、送信装置1及び受信装置2のそれぞれにおいて優先度指標を設定する場合であったが、送信装置1及び受信装置2の区別なく、送信装置1の機能及び受信装置2の機能を有する2台の伝送装置が双方向にデータを送受信する場合、各伝送装置が、自装置の送信のために設定する優先度指標と、相手装置に指定する優先度指標を別々に設定する必要がある。各伝送装置は、自装置の送信の優先度指標の設定及び読み出しを行うために、setsockopt(TX_PRIORITY,…)、getsockopt(TX_PRIORITY,…)のように引数で明示する。同様に、相手装置の送信に対する優先度指標の設定及び読み出しを行うために、setsockopt(DESIGNATE_PRIORITY,…)、getsockopt(DESIGNATE_PRIORITY,…)のように異なる引数で明示する。
次に、実施例4について詳細に説明する。実施例4は、送信装置1が現在使用している優先度指標を受信装置2へ通知する例である。送信装置1から現在使用している優先度指標を受信装置2へ通知するために、新たなオプションタイプ(101)を用いる。
以下の説明では、前述した送信装置1及び受信装置2それぞれの構成を組み合わせた伝送装置について説明する。伝送装置は、送信装置1の送信機能及び受信装置2の受信機能を有する。
図10は、実施例4の伝送装置により生成されるTCPヘッダ5Bの構造を示す図である。図10において、TCPヘッダ5Bは、相手の伝送装置に優先度指標を設定するための拡張ヘッダ部52に加えて、現在使用している優先度指標を相手の伝送装置へ通知するための拡張ヘッダ部53を有している。この拡張ヘッダ部53は、拡張ヘッダ部52と同様に、オプションタイプ(1)、オプションタイプ(101)、オプションレングス(3)、オプションバリュー(0−255)の各1バイトからなる4バイト構成となっている。
オプションタイプ(101)のタイプ値101は、優先度指標通知オプションを表す番号であり、相手の伝送装置がこのタイプ値を参照することにより、拡張ヘッダ部53が優先度指標通知オプションを記述したものと判別できる。なお、タイプ値101は仮に付けた値であり、必ずしもこの値に限定されるものではない。
伝送装置は、他の伝送装置へデータパケットを送信し、他の伝送装置からACKを受信する。また、伝送装置は、他の伝送装置からデータパケットを受信し、他の伝送装置へACKを送信する。TCPヘッダ5Bは、データパケット及びACKに格納されて送信される。したがって、伝送装置は、他の伝送装置に対し、自伝送装置が指定した優先度指標を設定できると共に、自伝送装置が現在使用している優先度指標を他の伝送装置へ通知することができる。
なお、データパケットにACKを含めることも可能であり、この場合はACKを送信する必要がなくなる。要するに、データパケット同士を送受信することにより、他の伝送装置に自伝送装置が指定した優先度指標を設定できると共に、自伝送装置が現在使用している優先度指標を他の伝送装置へ通知することができるので、ACKを送信する必要がなくなる。
また、優先度指標の設定及び優先度指標の通知は、実施例3に示したようにアプリケーション30が所定の関数を使用することによって行うことができる。
また、優先度指標通知オプション(タイプ値101)を示す拡張ヘッダ部53は、常に送信する必要はなく、間欠的に送信するようにしてもよいし、優先度指標の読み出し要求という新たなオプション(例えば、タイプ値102)を定義して、この新たなオプションを受信したときにタイプ値101を示す拡張ヘッダ部53を送信するようにしてもよい。
次に、実施例5について詳細に説明する。実施例5は、受信装置2により指定された優先度指標で動作しているときに、所定のタイミングで優先度指標を所定値にリセットする例である。例えば、送信装置1にて指定した優先度指標に戻したり、または、送信装置1において優先度指標を自由に決定したりする。実施例5の送信装置1及び受信装置2の構成は、図2に示した実施例1の送信装置1及び受信装置2の構成と同様であるから、詳細な説明を省略する。
実施例5の送信装置1は、受信装置2からACKを受信し、ACKのTCPヘッダに含まれる拡張ヘッダ部52に従って、現在動作している優先度指標をリセットする場合、現在の優先度指標を予めメモリに保持しておく。送信装置1は、その後、受信装置2から所定値の優先度指標(例えば「0」)を受信した場合、過去に使用していた優先度指標をメモリから読み出し、元の(過去の)優先度指標に戻す。これにより、現在の優先度指標がリセットされる。この場合、受信装置2は、送信装置1が元の優先度指標に戻すための契機となる優先度指標「0」をACKに含めて送信する。
(送信装置の処理)
図11は、実施例5の送信装置による送信量調節処理を示すフローチャートである。なお、図11において、ステップS20〜ステップS26及びステップS28での処理は、図7に示した実施例1の送信装置1における送信量調節処理と同様の処理であるので、説明を省略する。
優先度読取部14が、ステップS26において、拡張ヘッダ部52のオプションバリューから優先度指標を取得した後、パケット送信部12は、優先度指標を優先度読取部14から入力し、優先度指標が「0」以外であるか否かを判定する(ステップS30)。優先度指標が「0」以外でない場合(ステップS30:NO)、すなわち「0」の場合、現在の優先度指標を、別パラメータとして保持している優先度指標に戻す(ステップS31)。一方、パケット送信部12は、優先度指標が「0」以外の場合(ステップS30:YES)、現在の優先度指標と異なるか否かを判定する(ステップS32)。パケット送信部12は、入力した優先度指標が現在の優先度指標と同じである場合(ステップS32:NO)、現在の優先度指標に従って送信量を調節する(ステップS33)。一方、パケット送信部12は、入力した優先度指標が現在の優先度指標と異なる場合(ステップS32:YES)、現在の優先度指標を別パラメータとして保持し(ステップS34)、入力した優先度指標に従って送信量を調節する(ステップS35)。
このように、送信装置1は、受信装置2からの指示により変更した優先度指標を、元の優先度指標に戻すようにした。これにより、受信装置2を操作する利用者の一時的な判断により、送信装置1の優先度指標が変更された場合であっても、受信装置2からの指示により、再度元の優先度指標に復帰させることができる。なお、送信装置1が前回の優先度指標を保持していない場合は、予め設定されたデフォルトの優先度指標に戻すようにしてもよいし、送信装置1にて指定される優先度指標に従うようにしてもよい。
なお、実施例1〜5では、優先度指標を設定する方法として、既存のTCPヘッダを拡張して優先度指標を記述する方法を採用したが、送信装置1と受信装置2との間の伝送開始セッションにおいて、SYN,SYN−ACKパケットのTCPヘッダに優先度指標を記述するようにしてもよい。また、既存のTCPヘッダの未使用領域、例えば図3に示したTCPヘッダ5のURG、予約済み、緊急ポインタなどを利用して優先度指標を記述するようにしてもよい。
本発明の実施例1〜5による送信装置1のハード構成としては、通常のコンピュータを使用することができる。送信装置1は、CPU、RAMなどの揮発性の記憶媒体、ROMなどの不揮発性の記憶媒体、及びインターフェースなどを備えたコンピュータによって構成される。本発明の実施例1〜5の送信装置1に備えた送信データバッファ部11、パケット送信部12、パケット受信部13及び優先度読取部14の各機能は、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。また、本発明の実施例1〜5の受信装置2に備えたパケット受信部21、TCPヘッダ生成部22及びパケット送信部23の各機能は、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。これらのプログラムは、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク、半導体メモリなどの記憶媒体に格納して頒布することもできる。
1 送信装置
2 受信装置
3 ネットワーク経路
5,5A,5B TCPヘッダ
11 送信データバッファ部
12,23 パケット送信部
13,21 パケット受信部
14 優先度読取部
17,26 TCPドライバ
18,27 優先度手動入力部
19,28,30 アプリケーション
22 TCPヘッダ生成部
40 TCP/IP層
50 NIC
51 データオフセット
52,53 拡張ヘッダ部

Claims (8)

  1. TCPの伝送プロトコルに従ってデータパケットを受信装置へ送信し、前記受信装置からACKを受信する送信装置において、
    前記受信装置により優先度指標が付加されたACKを受信するパケット受信部と、
    前記パケット受信部により受信されたACKに含まれる優先度指標を読み取る優先度読取部と、
    前記優先度読取部により読み取られた優先度指標に従って、データパケットの送信量を調節するパケット送信部と、を備え
    前記パケット送信部は、前記優先度読取部により読み取られた優先度指標が、予め設定された許容範囲に含まれるか否かを判定し、前記優先度指標が前記許容範囲に含まれると判定した場合、前記優先度指標に従ってデータパケットの送信量を調節し、前記優先度指標が前記許容範囲に含まれないと判定した場合、予め設定された優先度指標に従ってデータパケットの送信量を調節することを特徴とする送信装置。
  2. 請求項1に記載の送信装置において、
    前記パケット送信部に代わる新たなパケット送信部は、前記優先度読取部により読み取られた優先度指標に従って、データパケットの送信量を調節し、さらに、データパケットの送信量を調節していた過去の優先度指標を保持し、その後、前記優先度読取部により読み取られた優先度指標が予め設定された値であると判定した場合、前記保持していた過去の優先度指標に従ってデータパケットの送信量を調節することを特徴とする送信装置。
  3. 請求項1に記載の送信装置において、
    前記パケット送信部に代わる新たなパケット送信部は、前記優先度読取部により読み取られた優先度指標を入力した場合、当該送信装置にて予め設定された優先度指標ではなく、前記入力した優先度指標に従って、データパケットの送信量を調節し、前記受信したACKに優先度指標読み出し要求が付加されている場合、前記データパケットの送信量の調節のために現在使用している優先度指標を、前記受信装置へ送信することを特徴とする送信装置。
  4. 請求項1から3までのいずれか一項に記載の送信装置において、
    前記優先度指標は、前記ACKに含まれるTCPヘッダに記述されていることを特徴とする送信装置。
  5. TCPの伝送プロトコルに従って送信装置からデータパケットを受信し、前記データパケットに対するACKを前記送信装置へ送信する受信装置において、
    前記データパケットを受信するパケット受信部と、
    前記パケット受信部によりデータパケットが受信されたタイミングにて、前記送信装置から送信されるデータパケットの送信量を調節するための優先度指標を記述すると共に、データパケットの送信量の調節のために前記送信装置にて現在使用している優先度指標を読み出す要求を記述してTCPヘッダを生成するTCPヘッダ生成部と、
    前記TCPヘッダ生成部により生成されたTCPヘッダを含むACKを生成し、前記送信装置へ返信するパケット送信部と、を備え
    前記送信装置から、データパケットの送信量の調節のために現在使用している優先度指標を受信することを特徴とする受信装置。
  6. 請求項5に記載の受信装置において、
    前記TCPヘッダ生成部は、前記優先度指標を拡張ヘッダ部に記述し、既存のTCPヘッダに前記拡張ヘッダ部を付加して新たなTCPヘッダを生成することを特徴とする受信装置。
  7. コンピュータを、請求項1から4までのいずれか一項に記載の送信装置として機能させるための送信プログラム。
  8. コンピュータを、請求項5または6に記載の受信装置として機能させるための受信プログラム。
JP2010124274A 2010-05-31 2010-05-31 送信装置、受信装置及びプログラム Expired - Fee Related JP5520139B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010124274A JP5520139B2 (ja) 2010-05-31 2010-05-31 送信装置、受信装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010124274A JP5520139B2 (ja) 2010-05-31 2010-05-31 送信装置、受信装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2011250365A JP2011250365A (ja) 2011-12-08
JP5520139B2 true JP5520139B2 (ja) 2014-06-11

Family

ID=45415012

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010124274A Expired - Fee Related JP5520139B2 (ja) 2010-05-31 2010-05-31 送信装置、受信装置及びプログラム

Country Status (1)

Country Link
JP (1) JP5520139B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7138739B2 (ja) * 2021-02-10 2022-09-16 ソフトバンク株式会社 通信システム、通信装置、及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005286530A (ja) * 2004-03-29 2005-10-13 Matsushita Electric Ind Co Ltd ルーター
JP4394590B2 (ja) * 2005-02-22 2010-01-06 株式会社日立コミュニケーションテクノロジー パケット中継装置および通信帯域制御方法
TW200816719A (en) * 2006-08-23 2008-04-01 Matsushita Electric Ind Co Ltd Communication equipment
JP2010213098A (ja) * 2009-03-11 2010-09-24 Mitsubishi Electric Corp 優先制御装置および優先制御方法
JP5308364B2 (ja) * 2010-01-26 2013-10-09 日本放送協会 送信装置、送信方法及びプログラム

Also Published As

Publication number Publication date
JP2011250365A (ja) 2011-12-08

Similar Documents

Publication Publication Date Title
US9647945B2 (en) Mechanisms to improve the transmission control protocol performance in wireless networks
EP3075110B1 (en) Controlling a transmission control protocol window size
US7995478B2 (en) Network communication with path MTU size discovery
US7983170B2 (en) In-band quality-of-service signaling to endpoints that enforce traffic policies at traffic sources using policy messages piggybacked onto DiffServ bits
JP3617649B2 (ja) 最適化された受信側始動型送信レート増大方法
JP4323432B2 (ja) ストリーミングメディアの伝送品質を高めるための方法
US8966123B2 (en) Unobtrusive content compression in a telecommunications network
US11671377B2 (en) System and method for reducing bandwidth usage of a network
JP2012141685A5 (ja)
JP2012142701A5 (ja)
WO2019144802A1 (zh) 一种数据的传输方法及其相关设备
JP6963411B2 (ja) 通信装置、通信方法、およびプログラム
US20070019550A1 (en) Shaper control method, data communication system, network interface apparatus, and network delay apparatus
CN111669665A (zh) 媒体流的实时推送方法及服务器
Kohler et al. RFC 4340: Datagram congestion control protocol (DCCP)
JP5308364B2 (ja) 送信装置、送信方法及びプログラム
JP5520139B2 (ja) 送信装置、受信装置及びプログラム
Welzl et al. On the Usage of Transport Features Provided by IETF Transport Protocols
US10237323B2 (en) Communication apparatus, communication method, communication system, and storage medium
KR101806510B1 (ko) 혼잡 진입 제어 장치 및 방법
CN113424578A (zh) 一种传输控制协议加速方法和装置
US10778613B2 (en) Systems and methods for running network egress links with small buffers at a high utilization
JP2009267479A (ja) 無線基地局装置及びその通信方法
Petrov et al. Novel Slow Start Algorithm
JP2007013652A (ja) 通信装置および通信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131004

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140404

R150 Certificate of patent or registration of utility model

Ref document number: 5520139

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees