JP7154739B2 - IPv6 TCP/IPネットワークを介する高度な大規模データ伝送および致命的輻輳回避 - Google Patents

IPv6 TCP/IPネットワークを介する高度な大規模データ伝送および致命的輻輳回避 Download PDF

Info

Publication number
JP7154739B2
JP7154739B2 JP2017101136A JP2017101136A JP7154739B2 JP 7154739 B2 JP7154739 B2 JP 7154739B2 JP 2017101136 A JP2017101136 A JP 2017101136A JP 2017101136 A JP2017101136 A JP 2017101136A JP 7154739 B2 JP7154739 B2 JP 7154739B2
Authority
JP
Japan
Prior art keywords
fragmented
datagram
bitmap
fragment
fragments
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
JP2017101136A
Other languages
English (en)
Other versions
JP2017212734A (ja
Inventor
ジョン・ランキン
Original Assignee
コネクティヴィティ・システムズ・インコーポレーテッド
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
Priority claimed from US15/162,611 external-priority patent/US10432529B2/en
Application filed by コネクティヴィティ・システムズ・インコーポレーテッド filed Critical コネクティヴィティ・システムズ・インコーポレーテッド
Publication of JP2017212734A publication Critical patent/JP2017212734A/ja
Application granted granted Critical
Publication of JP7154739B2 publication Critical patent/JP7154739B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1614Details of the supervisory signal using bitmaps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1874Buffer management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

関連出願の相互参照
[0001]本出願は、各内容が本明細書において完全に記載されたかのように参照によって本明細書に組み込まれている、2013年9月19日に出願した米国仮出願第61/880,070号の優先権を同様に主張する、2014年9月19日に出願した米国非仮出願第14/491,843号の一部継続出願であり、その優先権を主張するものである。
[0002]本発明の例示的実施形態は、概してネットワーク通信に関し、より詳細には、TCP/IPネットワークを介して大きなデータセットを送信するときに致命的な輻輳障害および資源の無駄を避けるシステムおよび方法に関する。
[0003]インターネットおよび他の同様のネットワークで使用される最も重要な通信プロトコルのうちの2つは、伝送制御プロトコル(TCP)およびインターネットプロトコル(IP)である。TCPおよびIPプロトコルは、ともに、パケット交換ネットワークで使用されるより大きなインターネットプロトコル群のコアプロトコルを形成する。そのプロトコル群は、TCPおよびIPプロトコルが広く採用および実装されていることから、一般にTCP/IPプロトコルと称される。
[0004]TCP/IPプロトコルは、米国高等研究計画局(ARPA:Advanced Research Projects Agency)のために開発された。TCP/IPプロトコルは、異なるタイプのネットワーク対応デバイスまたはネットワーク接続されたデバイスが互いに通信することを可能にするルールのセットである。それらのネットワークデバイスは、TCP/IP標準またはフォーマットを使用してデータを転送または共有することによって通信する。TCP/IPルールは、インターネットエンジニアリングタスクフォース(IETF:Internet Engineering Task Force)によって確立され、維持される。IETFは、インターネットのアーキテクチャおよび運営に関わるネットワーク設計者、オペレータ、ベンダー、および研究者の国際的団体である。IETFの使命は、インターネットの運用および効率の改善を目的として、人々がインターネットを設計、使用および管理する方法に影響を与える技術的および工学的文書を作り出すことである。これらの文書は、プロトコル標準、最良の現行実施例、および様々な種類の最新情報を含み、一般に、リクエストフォーコメント(RFC:Request for Comments)と称される。
[0005]TCPは、2つのクライアントの間の双方向接続を確立するために使用され得、そこでは、1つのクライアントによって別のクライアントに対して行われる情報の要求から活動が始まる。「クライアント」は、あるリモートロケーションから別のリモートロケーションへの情報の要求を開始するかまたはそのような情報を送る任意のプログラムまたはアプリケーションである。本明細書で用いられる場合、「クライアント」という用語は、これらに限定されないが、ウェブブラウザ、ウェブサーバ、ファイル転送プロトコル(FTP)プログラム、電子メールプログラム、プリンタエミュレータとしても知られるラインプリンタ(LRP)プログラム、携帯電話アプリ、およびターミナルエミュレータとしても知られるテルネットプログラムを含む、そのようなアプリケーションを指し得、それらはすべて概念的にはアプリケーション層で動作する。
[0006]TCPプロトコルは、通常は、プロトコル層のTCP/IPスタックの一部である「デーモン」として実装される。デーモンは、しばしば同義的にサーバーまたはサービスとも称され、一般に、バックグラウンドプロセスを実行する、デバイスのソフトウェア構成要素である。本明細書でTCPプロトコルの動作に関連して用いられる場合、「デーモン」という用語は、TCP標準に従ってリモートクライアント間の通信を送信(ソースデーモン)または受信(宛先デーモン)してそれを処理する、ネットワークデバイスの構成要素を指すために使用される。
[0007]ホストは、TCP/IPデーモンを実行または遂行するデバイスまたはシステムである。本明細書で用いられる場合、「ホスト」という用語は、これらに限定されないが、サーバープラットフォーム、パーソナルコンピュータ(PC)、および、TCPソフトウェアを実装または実行する任意の他のタイプのコンピュータもしくは周辺デバイスを含む、任意のそのようなデバイスまたはシステムを指す。一般に、ホストは、物理的に、クライアントおよびデーモンをTCP/IPネットワークに接続およびリンクし、それによってクライアント間の通信を可能にする。
[0008]TCPソフトウェアは、接続がアクティブである時間の間、クライアントおよび他のデーモンから要求およびデータストリームを直接受け付け、ストリーム中で、バイトまたはオクテットに連続して番号を付ける。必要なときには、TCPソフトウェアは、要求クライアントに送信するために、データストリームを、セグメントと称される(時には概してデータグラムまたはパケットと称される)より小さい個片に分ける。プロトコルは、信頼できるデータ伝送を確保するために、チェックサム、連続番号、タイムスタンプ、タイムアウトカウンタ、および再送アルゴリズムの使用を必要とする。[RFC793、1981]
[0009]IP層は、実際に、2つのネットワークホストの間で通信機能を実行する。IPソフトウェアは、TCP層からデータセグメントを受信し、セグメントが伝送パスおよび物理アダプタ(イーサネット(登録商標)およびCTCなど)の要件を満たすように適切にサイズ指定されることを確保する。IPは、必要に応じて、セグメントをより小さいIPデータグラムに分けることによってセグメントサイズを変更し、データをホストの物理ネットワークインターフェースまたは層に送信する。[RFC791、1981]
[0010]IP(および他の同様のインターネット層プロトコル)ソフトウェアは、信頼性のためには設計されない。TCPは、IPがデータを直ちに送信することを期待し、したがって、IPは、さらなるチェックなしにデータを送る。実際の伝送が遅れたかまたは不完全である場合、データは破棄される。送信が成功したデータは、受信ホストTCPソフトウェアに渡されるが、受信ホストTCPソフトウェアは、その検証および受信確認システムを使用して、要求されたデータが要求クライアントによって受信されることを確保する。送信ホストTCPソフトウェアが、完全な伝送の受信確認を受信しない場合、それは、データを再送信する。このシステムの1つの帰結は、物理通信パスが飽和したまたは他の形で使用不可能になったときに再送信が増えることであり、それは、ひいてはCPUおよびネットワーク容量の消費を増加させる。
[0011]大規模システム影響は、有限サイズおよび複雑性をもつ特定の条件のセットに対処するように設計された処理システムで生じる。期待よりも大きく複雑な条件を提示されたとき、それらのシステムは、もはや効率的にまたは全く動作しなくなる。この影響を説明するために、期待されるトラフィック量のサイズに基づいて効率的なトラフィックの流れを可能にするために、1分間隔で変わるように時間設定された停止信号を有する交差点にある1つの主要交差道路を有する小さな町を想像する。通常の動作条件では、任意の所与の方向からその街に入り、その街を去る車の数が、設計パラメータ内に収まる量であるとき、その設計は効率的に機能する。しかしながら、交差道路を使用するトラフィックが、1分のトラフィック停止の間に処理され得る量を超えて増加すると、混雑が生じることになる。過剰なトラフィック量が、1分のウィンドウの間に交差点を通過することができる車の最大数未満に減らない場合、混雑は悪化し続けることになる。したがって、町に入る新たな車が、期待される設計容量を超え続ける場合、トラフィックシステムは、最終的に破綻することになる。この形でのシステムの破綻は、大規模システム影響による。
[0012]このタイプのシステム的問題は、秩序のある動作からカオスへと移る非線形システムと称され得る。前の例では、トラフィックの増加は非線形であり、システム動作の進捗は、反復的であり、非線形条件の変化を補正しないので、システムは、秩序のある動作からカオスへと移った。システムが多数の変化し拡大する基準に対処するように設計され得ることを人は望むであろうが、システムは、実際合理的に想定され得ることに対処するようにしか設計できないため、現実は遥かに不確定である。
[0013]大規模システム影響によって生み出されるカオス的動作は、秩序からカオスへの円滑なまたは増加する動きとして生じることはあまりない。カオス的秩序は、システム挙動における致命的な崩壊として生じる傾向がある。システムの制御パラメータのゆっくりとした変化であっても、壊滅的状態への突然の移行をもたらし得る。この種の現象は、海面気圧における水と氷の遷移において生じる。すなわち、温度が氷点を下回ると、水は固体状態への遷移を示す。そのような大規模システム影響を潜在的に経験し得るシステムは、観測可能な円滑な遷移なしに、間隔をおいて突然の致命的な挙動を示し得る。
[0014]小さい構成または低いトランザクション速度では効率的であるが、大きな構成または高いトランザクション速度では非効率的であるアルゴリズムが使用されるときに、大規模なシステム影響が、コンピュータネットワークシステム、プロトコル、および実装形態において生じ得る。TCP/IPおよびネットワーク通信に関連して、TCP標準は、接続されたクライアントの間のデータストリームの伝送速度を制御する。ネットワークホストの処理能力およびストレージがさらに豊富になると、クライアントが要求し送信するデータの量も同様に増える。特に、ネットワーク接続された「スマート」デバイスの数の急速な増加およびPCの普及を考慮するとき、今日のクライアントの多くは、ネットワークの輻輳への傾向を増大させる、ますます高いデータ転送速度を必要とする。
[0015]現在のTCP実装形態は、送信デーモンが、受信デーモンが着信ストリームを処理し得るよりも速くデータを送信しないことを確保するために、フロー制御機構を使用する。標準は、受信デーモンが受け付ける用意のあるデータの量を送信デーモンに指示する、各受信確認に含まれるアドバタイズされたウィンドウサイズ(advertized window size)を定義する。TCPの「アドバタイズされたウィンドウ」は一部には、任意の所与の時間の伝送において未処理のTCPセグメントの数を制限するために受信デーモンによって使用される論理ウィンドウを説明するために使用される用語であり、リモート送信クライアントがTCPプロトコルを使用してIP接続を介して送ることを承認されたバイトの数を表す。アドバタイズされたウィンドウは、受信デーモンが送信デーモンにセグメント/受信確認を送るたびに受信デーモンが自身のバッファーサイズを指定することを可能にする。アドバタイズされたウィンドウおよび受信確認された最も大きいシーケンス番号はともに、ウィンドウエンドポイント、すなわち、受信デーモンのウィンドウ内で最後の位置に続くバイトのシーケンス番号、を生じさせる。
[0016]ルールの1つは、このエンドポイントは決して逆行する方に移動すべきではないということである(縮小するウィンドウ)。通常の状況では、データが受信されると、データは受信確認され、アドバタイズされたウィンドウはさらに拡張される。データが、それが収容され得るよりも速く到達する場合でも、データはやはりタイムリーに受信確認される必要があるが、ウィンドウのエンドポイントは繰り上げられない。最終的に、アドバタイズされたウィンドウ内のすべてのデータが送信され、エンドポイントに達し、ウィンドウが閉じられる。ウィンドウが閉じられた後は、それが再度開かれるまで、それ以上のデータは受け付けられないことになる。ルールの1つは、ウィンドウが再び開かれるとき、ウィンドウはその最大サイズまで完全に再び開かれなければならないということである。
[0017]TCP送信デーモンはまた、送信を許可されたデータストリーム内のバイト(送られたバイトおよび送られていないバイトを含む)をカバーする「再送信ウィンドウ」と称される論理ウィンドウを使用する。通常の状況で動作するTCP再送信ウィンドウサイズは、アドバタイズされたウィンドウサイズに設定され、それによって定義される。全体的な伝送速度を上げるために、TCPは、ウィンドウサイズを遥かに超えてバッファリングし、あらゆる受信確認でアドバタイズされたウィンドウをその最大値に維持する。これは、データ送信の増加を促すが、一方ではまた、TCPプロトコルを大規模システム影響にさらす。
[0018]送信されるデータストリームのフローレートは増大したが、一方で、IPネットワークで送信される情報の実際のパケット、たとえば共通物理イーサネットハードウェア層のサイズ要件は増えていない。TCP最大セグメントサイズ(MSS:Maximum Segment Size)のオプションは、好ましくは、ネットワークの最も小さい最大伝送単位(MTU:Maximum Transmission Unit)より大きくならないようにセグメントサイズを設定するために使用される。したがって、より大きいウィンドウサイズは、データストリームのより大きいシーケンス範囲の伝送を可能にするので、送信されるデータの特定のウィンドウは、確立されたMSSより大きくない、より多数のセグメントに分けられる必要がある。TCPは、肯定的な累積受信確認プロトコル(positive cumulative acknowledgement protocol)であり、したがって、受信確認が、受信された各セグメントについて送られる場合、大きなウィンドウにおいて送信されるより多数のセグメントは、潜在的に未処理の受信確認の数を増やすことによって、さらに多くのネットワークトラフィックを生成する。
[0019]さらに、受信確認の過剰送信を避けるために行われるTCP実装形態への調整は、ネットワーク内の輻輳がデータの単一セグメントの損失を引き起こす場合、ストリーム全体への損傷を修復するために、しばしばウィンドウ全体が再送信される必要があることを意味する。[RFC813]この再送信は、ネットワーク内のトラフィックの非線形の拡張を引き起こし、したがって、追加のパケット損失およびその後の追加の再送信をもたらす。TCPは、最終的に必要とされるよりも多くのデータが再送信されることを必要とするので、この致命的な挙動が引き起こされ、輻輳崩壊を引き起こす。この大規模システム影響は、IPバージョン6(IPv6)で提示されたIPへの付加的な機能強化によっては訂正されない。
[0020]TCP/IPネットワークにおけるそのような潜在的輻輳障害を訂正する試みが行われた。TCP仕様自体は、固有の輻輳制御機構を規定しないが、実装形態では、TCP機能を使用して、そのような機構を実現することができる。たとえば、多数のTCP実装形態は、送信デーモンが受信確認されていないセグメントを自身の再送信ウィンドウ内で再送信するまでの時間周期を変更するために、適応型再送信アルゴリズムの使用を含む。
[0021]輻輳のためにネットワーク待機時間が増え始めると、より最近のTCP標準では、再送信を遅らせることに加えて、スロースタートな追加回復および乗法減少輻輳回避アルゴリズムを含む、輻輳回避のいくつかの方法を含む。[RFC2201]受信デーモンのアドバタイズされたウィンドウサイズよりも小さいサイズが、送られるシーケンス範囲を制限するために使用される場合、これらのアルゴリズムが、輻輳ウィンドウサイズを追跡するために送信デーモンによって使用される。しかしながら、これらのおよび他の同様のアルゴリズムの実装は、保守的な輻輳推定アルゴリズムであるので、再送信ウィンドウを不必要に限定することによってデータ転送速度を大きく低下させ得る。
[0022]選択的な受信確認オプションなどの他のオプションのTCP機能が、重複したデータ再送信の確率を下げるために導入される。選択的な受信確認オプションは、受信されていない1つまたは複数のセグメント内のシーケンス番号より大きいシーケンス番号で受信された非連続データのいくつかのブロックを、受信デーモンが指定することを可能にする。送信デーモンは、次いで、順序に反して受信されたブロック内のデータを含まない再送信を構築することができる。[RFC2018]選択的な受信確認オプションは有用であるが、32ビットシーケンス番号の境界を付けること、実際には3つまたは4つの非連続ブロックのデータにこのオプションを制限すること、によって非連続データブロックを受信確認する必要があるという事実によって、選択的な受信確認オプションは制限される。したがって、ウィンドウ伝送における最初の3つまたは4つの失われたセグメントを超えてのデータの再送信は、重複することになる。
[0023]特にIPv6に関して、新しいIPプロトコルは、パス上の中間ノードからすべてのIPレベル断片化を取り除く。このレベルでの断片化は、ソースでのみ実行され得る。IP層が上位層(たとえば、TCP)からデータのパケットを受信した後、IP層は、パケットサイズが、イーサネットまたは他のハードウェアインターフェースなどの伝送パスおよび物理アダプタの要件を満たすことを確保する。必要に応じて、ソースIPデーモンは、リモートホスト間のネットワークパスのリンク層を介する伝送に先立ってデータグラムを断片化することによって、パケットサイズを低減する。重要な点として、IPv6断片化プロトコルは、受信ホストがある期間にわたってデータグラム断片を保持することを必要とし、すべての断片が再構築時間内に受信されない場合、それらの断片は破棄され、エラーメッセージが発送され、データグラム全体が再送信されることを必要とする。
[0024]IPv6は、既存のIPv4ネットワークを置き換えるために設計されたので、以前のネットワーク定義に関して、新しいIPv6実装形態の効率に重大な影響を有する、歴史的な副産物が存在する。任意のネットワーク内で、データ伝送のサイズは、最終的には、通信ノード間のすべての電気経路によって受け付けられ得る最小の伝送サイズに制限される。たとえば、サーバーからコンピュータへのネットワークパスがイーサネットセグメントを含む場合は、ネットワーク経路の大部分のサイズ能力がどのくらいロバストであるかにかかわらず、すべての伝送はイーサネットによって課される1500バイトの制限内に収まる必要がある。IPデータグラムのデータペイロードの長さは、単に、送られる上位層データペイロードの量ではなく、IPv4またはIPv6のデータグラムヘッダー情報の長さも含んでいる。IPv6のデータグラムヘッダーは、より古いIPv4プロトコルのデータグラムヘッダーよりかなり長いので、IPv4のために構成されたネットワークは、かなりの量のデータグラム断片化を課し得る。言い換えれば、IPv6ヘッダーの長さは、IPv4のヘッダーより長いので、IPv4データトラフィックを運ぶために定義されたネットワークは、断片化の回避を優先するにもかかわらず、より大きいIPv6データグラムが定常的に断片化されることになる。この問題は、エンドユーザーには見えず、ネットワーク輻輳およびそれから生じる付随する大きな計算需要によってのみ認識される。
[0025]IPv6は、完全なデータグラムをいくつかの個片に断片化する能力を有し、いくつかの個片は、関与するソフトウェアの実際の構造によってのみ制限される。したがって、断片化されるIPv6データグラムは、かなりの数の個片に上手く分けられ得る。元のIPv6データグラムのこれらの断片化された部分は、最終的な宛先によってのみ再構築される必要がある。断片化のIPv4実装形態では、データグラムは、パス全体について最小単位への断片化を必要とするのではなく、伝送を処理する能力を有さなかったネットワークの部分で提示されるときにのみ断片化された。この変更により、送信されるデータ全体に最大量の断片化が適用されることになり、それによって、データパス全体の短いセグメントのみに露出を制限するのではなく、可能な最大量の露出にパケット損失脆弱性の問題を拡大した。
[0026]たとえば、伝送が、その最終的な宛先に到達するために50個のゲートウェイを通過する必要がある場合、IPv6伝送は、ネットワークパスの51個のセグメントすべてに収まるサイズに断片化されなければならない。しかしながら、IPv4では、この断片化問題は、単に、制限を必要とした51個のセグメントのうちのいずれかの問題であった。IPv6は、ネットワークパス全体に断片化を強制するので、51個のセグメント内のどこにおけるどのパケット損失でも、伝送全体に影響を及ぼす。
[0027]パケット損失が、より大きいIPv6データグラムの断片化された個片に生じるとき、このプロトコルは、単一の断片化された部分の損失を補正するために、IPv6データグラム全体が再送信されることを必要とする。[RFC2460]この再送信は、いくつかの事例において60秒後に再構築の完了に失敗した後にのみ生じるので、有意の時間が、伝送プロセス全体で失われる。これは、データ再送信の増加を促し、そしてまた、IPv6プロトコルを大規模システムの影響にさらす。送信されるデータの量が増えた一方で、送信される情報の実際のパケットのサイズ要件は増えなかった。さらに、ネットワーク内の輻輳が、単一のデータの損失を引き起こす場合、ストリーム全体への損傷を修復するために、データグラム全体が再送信されなければならない。この再送信は、ネットワーク内のトラフィックの非線形の拡張を引き起こし、それによって、追加のパケット損失およびその後の追加の再送信をもたらす。IPv6は、必要とされるより多くのデータが再送信されることを必要とするので、この致命的挙動が、引き起こされる。
[0028]したがって、大規模なシステム影響を回避するために、中間ノードにおける断片化を限定するプロトコルのための断片化ルールを改善するニーズが先行技術に存在する。
[0029]IPv6ネットワーク内の致命的なネットワーク輻輳障害を解消することによって有意の改善が獲得され得る。この改善は、IPv6断片化情報の再送信を特定的に対処するプロセスを改善することによって、実装され得る。グリッドマップ(grid map)へのパケット損失を減らすことによって、およびデータグラム全体ではなくIPv6データグラムにおいて失われた断片のみを再送信することによって、輻輳が解消され得る。IPv6の一実装形態では、データが移動する電気ネットワークによって伝送サイズが順守されることを可能にするために、データグラムが断片に分けられる必要があり得るが、パケット損失がこの断片化プロセスに関連して生じると、データグラム全体が再送信を必要とする。本方法は、失われたパケットのみが再送信されるようにし、適切に届いたが、失われたデータも含んでいたより大きいグループの一部に過ぎないデータは再送信されないことを可能にすることによって、このプロセスを改善する。
[0030]これらのおよび他の利点は、以下でさらに詳しく説明され示される本発明によって提供される。
[0031]前述のものに加えて、本発明の新たな特徴および利点は、同一参照文字が同一部分を指す、以下のような添付の図面と併せて、以下の詳細な説明を読むことで当業者には明らかとなろう。
[0032]本発明の例示的実施形態のステップを実行するために対話する2つのリモートホストを示す概略図である。 [0033]例示的TCPヘッダーを表す図である。 [0034]本発明による送信デーモンの例示的動作を示す図である。 [0035]第1の例示的シナリオにおける本発明による受信デーモンの例示的動作を示す図である。 [0036]第2の例示的シナリオにおける本発明による受信デーモンの例示的動作を示す図である。 [0037]第3の例示的シナリオにおける本発明による送信デーモンの例示的動作を示す図である。 [0038]本発明による受信デーモンの例示的動作を示す図である。 [0039]例示的なIPv6データグラムを示す図である。 [0040]例示的なIPv6断片化ヘッダーを示す図である。 [0041]例示的なICMPv6ペイロードを示す図である。
[0042]本発明の例示的実施形態は、2つのリモートホスト間のデータ伝送中のパケット損失を処理し、データ転送の速度を不必要に遅くすることなくネットワーク輻輳の増大を回避し、それによって接続中のデータ伝送の全体的速度および効率を上げるためのシステムおよび方法を対象とする。本発明の例示的実施形態は、好ましくは、ネットワークホストのトランスポート層内に実装される。図1は、1つまたは複数のネットワークデバイス108で構成されたパケット交換ネットワーク106を介して互いに通信する、第1のリモートホスト102および第2のリモートホスト104の典型的な構成を示す。物理構成、経路指定プロトコルなどは、本明細書で開示される本発明の範囲を逸脱することなく様々な形および組合せをとり得ることと、本明細書に記載されたいずれの特定のネットワーク構成要素も制限として理解されるべきではなく、例示のみを目的として提供されることとが、当業者には理解されよう。
[0043]たとえば、図1に関して示される物理ハードウェア層および論理層の表現では、ネットワーク106は、WiFi受信器およびリピータ、ルーター、およびスイッチなど、1つまたは複数のネットワークデバイス108から成るローカルエリアネットワークにおいて、あるいはともに同様にネットワーク接続された複数の公衆またはプライベートネットワークにおいて、実施され得る。いくつかの実施形態では、ネットワークデバイス108とリモートホスト102および104とは、イーサネットハードウェア、WiFi/無線、および他の知られているまたは後に開発される物理データ伝送仕様を使用して、ホスト間でデータを移動することになる通信ルート110を確立し得る。本発明は主として、通信プロトコルのセットにおける伝送層を対象とするため、同じことが、それぞれ、ネットワーク106と第1のホスト102および第2のホスト104との間の接続112および114の可変性に関して概して当てはまる。したがって、データ伝送作業全体には重要であるが、物理伝送構成要素の特定の実施形態は、範囲の制限として考えられるべきではない。
[0044]102および104などのリモートホストで実装され得る通信プロトコル群の共通の抽象概念も、図1に概して示される。たとえば、ホストは、アプリケーション層116および124と、トランスポート層118および126と、インターネット層120および128と、リンク層122および130とを含み得る。広く実装されるTCP/IP群およびその変形形態において、ヘッダーは、ホストのトランスポート層デーモン自体と他のネットワークホストとの間のデータ伝送を適切に円滑化するために、ホストのトランスポート層デーモンによって構築および解析される。典型的なTCPヘッダー140が図2に示される。たとえば、シーケンス番号フィールド142は、送信される個々のセグメントの1番目のデータバイトの最初のまたは累積シーケンス番号を指示するために、送信デーモンによって使用され、受信確認番号フィールド144は、受信デーモンが期待する次の期待されるシーケンス番号を指示するために、受信デーモンによって使用され、ウィンドウフィールド146は、受信デーモンの受信ウィンドウの現在のサイズを定義するために使用される。以下でさらに詳しく説明されるように、一実施形態では、失われたまたは遅れたパケットによるデータ再送信のために使用されるビットマップは、オプションフィールド148に含まれる。
[0045]次に図3を見ると、リモートホスト内の送信デーモンのトランスポート層内(たとえば、図1に示された第1のリモートホスト102のトランスポート層118内)の伝送バッファー150の描写が示される。本明細書では、例示を目的として図1に関して示されたようなネットワークホストの例示的システムの対応する要素も、参照される。点線の輪郭は、再送信ウィンドウ152の位置を表し、この位置は、第2のリモートホストの受信デーモンが受信確認を待つ前に、どのくらいの量のデータが次の通信層に(たとえば、矢印154を介してインターネット層120に)そして最終的に第2のリモートホスト104のトランスポート層126に送られることになるかを決定する。アプリケーション層116からのデータストリームは、たとえば、開いたセッションの間にバッファリングされた伝送データストリームを維持するために、矢印156を介して送信デーモンのバッファー150に受信される。
[0046]示されたこの条件の下で、本発明によれば、ウィンドウ152における10個のデータセグメントを表す10ビットを有するビットマップが、各セグメントのTCPヘッダーに添付される。簡潔にするために、これらの10個のTCPデータセグメントは、シーケンス番号1~10を有して示される。ビットマップの1つの例示的実施形態では、アクティブビットは、受信確認されていないセグメントを表すために使用され、非アクティブビットは、受信確認されたセグメントを表すために使用される。別の例示的実施形態では、非アクティブビットは、受信確認されていないセグメントを表すために使用され、アクティブビットは、受信確認されたセグメントを表すために使用される。以下の開示は、前者を使用する例示的実施形態を参照するが、いずれの方法も、本発明の範囲を逸脱することなく使用され得ること、また、そのようなバイナリービットは概して、2つの値、すなわち、オンおよびオフ、アクティブおよび非アクティブ、デフォルトおよび受信されたものなどを有すると言えることが、当業者には理解されよう。一般に、ビットマップ内で運ばれる位置中心情報は、受信デーモンでアドバタイズされたウィンドウの位置と組み合わされて、送信デーモンの再送信ウィンドウ内でのセグメントの正確な受信確認を可能にする。送信デーモンは、受信デーモンによって受信確認されていない特定のセグメントのみを再送信するようになされ得、それによって、資源の無駄およびさらに悪化するネットワーク輻輳を減らすので、この特徴は有益である。
[0047]図4は、第2のリモートホスト104のトランスポート層126の受信デーモンの例示的条件を表す。受信デーモンの例示的実施形態は、一般に、下位通信層から(たとえば、インターネット層128から)矢印162を介してデータを受け付け、アプリケーション層に矢印164を介して、順序付けけられたデータを送信する、受信バッファー160を含むことになる。陰影を付けていないセグメント166は、リモートホスト104でアドバタイズされたウィンドウ168において受信されなかったセグメントを表す。このシナリオでは、受信デーモンは、送信デーモンによって送られたセグメント1および7~9を受信しておらず、したがって、第1、第7、第8、および第9のビットをアクティブにし、第2、第3、第4、第5、第6、および第10のビットを非アクティブにしたビットマップを有する、1つまたは複数の受信確認を送ることになった。送信デーモンは、次いで、受信されたビットマップにおいて非アクティブビットに対応する、自身の再送信ウィンドウ152内の4つのセグメント(すなわち、1および7~9)、したがって、受信デーモンによって受信されなかったセグメントを再送信することになる。いくつかの実施形態では、再送信される各セグメントは、伝送時に受信デーモンから直前に受信された受信確認ビットマップをミラーリングするビットマップを含む。
[0048]図5には、第2の例示的条件が示され、ここでは、4つの欠落したまたは遅れたセグメントの再送信が、説明されたように行われており、第7、第8、および第9のセグメント7~9が、2回目の試行で受信デーモンによって受信された。第1のセグメントが再び失われた。受信デーモンは、受信確認ビットマップ中で第1のビットのみをアクティブにして送信デーモンに受信確認を送る。送信デーモンは、次いで、2度目に第1のセグメントを再送信し、それは受信デーモンによって受信され、受信確認され得る。
[0049]すべてのセグメントが、所与のウィンドウ位置のビットマップについて受信確認されると、第1のリモートホスト102の送信デーモンは、そのウィンドウ152をスライドして、第11から第20のセグメント内のデータストリームの部分を包含するようにする。この例示的条件は、図6に関して示される。10ビットを有する新しい伝送ビットマップが構築され、それらのセグメントのTCPヘッダーに添付され、その後、それらのセグメントは、第2のリモートホスト104の受信デーモンに送信される。図7に、受信デーモンのその後の例示的条件が示され、そこでは、空のセグメント位置167によって示されるように、第11、第14、および第19のビットが、失われたかまたは遅れた。受信デーモンは、第1、第4、および第9のビットがアクティブである受信確認ビットマップを構築し、送信デーモンへの受信確認にそのビットマップを含め、このプロセスが繰り返される。
[0050]IPv6プロトコルに固有のアドレス空間フィールドの有意に増やされたサイズを補償するために、主要IPv6ヘッダーは、前のIPv4実装形態に対して大幅に簡略化された。図8は、典型的なIPv6データグラム170およびヘッダー171を示す。IPv6ヘッダー171は、128ビットのソースアドレス172および宛先アドレス174と、ペイロード長176と、IPv6ヘッダー171に続くペイロード180の先頭でデータグラムに添付された拡張ヘッダーにあるオプションのヘッダー情報の存在を指示するために使用される「次のヘッダー」フィールド178とを含む。180として図8に示されるように、任意の拡張ヘッダーを含む、IPv6データグラムの実際の可変サイズのデータペイロードが、IPv6ヘッダー171に添付される。
[0051]本開示に特に関連する1つのそのような拡張ヘッダーは、図9に関して示された例示的実施形態に示されるような、断片化ヘッダー190である。IPv6プロトコルによれば、断片化は、元のデータグラムを断片化不可能な部分と断片化可能な部分とに分けることによって行われる。断片化可能な部分は、伝送経路内の中間ノードによって処理されず、代わりに、宛先ノードでのみ処理される。データグラムの断片化不可能な部分は、IPv6ヘッダー、および、存在する場合には、断片化可能な部分に先行すべきいくつかのオプションの拡張ヘッダーを含む。
[0052]通常は、断片化可能な部分は、宛先ノードに再構築情報を提供する断片化ヘッダー190を含むことになる。ソースノードのみが、ペイロードを断片化し得る。断片化ヘッダー190に加えて、断片化可能な部分は、他のオプションの拡張ヘッダーと、元のペイロードの一部とを含み得る。断片化ヘッダー190は、通常は、元のデータグラムを識別する32ビットの識別フィールド192を含むことになる。すなわち、断片化されたIPv6データグラムのすべての断片は、宛先ノードでの再構築時にそれらを互いに一致させるために、同一の識別値を運ぶことになる。宛先ノードは、13ビットの断片オフセットフィールド194を使用して、シーケンス内のどこで、特定の断片が、元のペイロードにあったデータの最初のビットを含む第1の断片に対応する「0」に属し、それに設定されるかを決定する。追加の断片フィールド196は、データグラムの最後の断片が0に設定され、その断片が元のデータグラムペイロードの「最後」を運ぶことを意味する、バイナリーフィールドとして説明される。他のすべての断片では、追加の断片が期待されるべきことを宛先ノードに伝えるために、このフィールドが1に設定される。
[0053]インターネット制御メッセージプロトコルバージョン6(ICMPv6)は、IPv6のインターネット制御メッセージプロトコル(ICMP)の実装形態である。[RFC4443]ICMPv6は、IPv6の不可欠な一部であり、エラー報告および診断機能を実行する。それは、たとえば、伝送中のIPv6データグラムの損失を伝えるために、宛先ノードによって使用される。宛先ノードが、タイムアウト条件が達せられたと判定すると、IPv6プロトコルは、断片化されたIPv6データグラムの再構築状態を終了すること、および断片が破棄されることを必要とする。宛先ノードは、次いで、ICMPv6エラーメッセージをソースノードに送信し、元のIPv6データグラム全体の再送信を実質的に要求する。
[0054]このプロセスのために使用されるICMPv6パケット200が、図10に関して示される。通常は、これらのパケット200は、IPv6ヘッダー170に添付されたペイロード180であり、タイプフィールド202、コードフィールド204、およびチェックサムフィールド206を有するヘッダーを含むことになる。プロトコルペイロードは、メッセージ本文208に含まれる。タイプフィールド202およびコードフィールド204は、IPv6プロトコルを介して通信するソースノードと宛先ノードの間で送信され得る様々なエラーおよび情報のメッセージを表す、8ビットのフィールドである。たとえば、3のタイプおよび1のコードを有するICMPv6パケットが、宛先の断片化時間が超過されたことをソースに指示するために送られ得、その結果、送信が成功した断片がいずれも破棄され、それにより、元のIPv6データグラム全体の再送信をトリガーする。
[0055]本発明の1つの例示的実施形態では、新しい予約されていないコードが、中間再送信エラー状態に割り当てられる。たとえば、宛先ノードは、「3」に設定されたタイプフィールド202と、割り当てられていない値(たとえば「2」)に設定されたコードフィールド204と、送信される断片化データグラム内の分散した断片のうちどれがまだ受信されていないかを指示するビットマップを含むメッセージ本文208と、を有するICMPv6部分的再送信要求パケットを送信することによって、任意の受信されていないデータグラム断片の再送信を実質的に要求するように構成される。受信すると、送信デーモンは、次いで、部分的な再送信要求パケットによって運ばれたビットマップ内で指示されるデータグラム断片のみを再送信することになる。
[0056]いくつかの実施形態では、宛先ノードは、タイムアウト条件が達せられたときに基本IPv6プロトコルに従って宛先IPデーモンにすべての断片を破棄させる第1の再構築タイマーをインクリメントすることができる。第1の再構築タイマーに加えて、宛先ノードは、第1の再構築タイマーに従ってインクリメントされるとともに、タイムアウト条件が第1の再構築タイマーによって達せられる前に1回または複数回にわたり適宜に部分的再送信要求パケットの作成および伝送をトリガーする、第2の再構築タイマーを含み得る。
[0057]IPv6プロトコルのほとんどの実装形態は、存在する場合は末尾の最終断片に含まれる剰余を除いて、所与の元のペイロードのすべてのペイロード断片サイズは同じ数の8バイトグループで割り切れるという意味で規則的な方法で、IPv6データグラムを断片化することになる。これらの状況では、単純なビットマップが、宛先デーモンによって、ペイロード長176、断片オフセット194、および、場合によりオプションで追加の断片196フィールドから容易に構築され得る。いくつかの例示的実施形態では、ビットマップは、別法として、宛先デーモンによって受信される元のペイロード内に存在する不連続性を指示する断片オフセットのリストまたは配列として表され得る。
[0058]ICMPエラーメッセージにデータ個片ビットマップを追加し、最大再構築時間制限に達する前にそのメッセージを送信することにより、IPv6は、大きく総体的な規模で機能するだけでなく、遥かに粒度の細かいレベルまでデータフローを統制する能力を有することになることが、当業者には理解されよう。
[0059]本発明のある種の態様は、本明細書では方法の形で説明されるプロセスステップおよび命令を含む。本発明のプロセスステップおよび命令は、ソフトウェア、ファームウェアまたはハードウェアにおいて実施することができ、ネットワーク対応ホストへの本発明の適用は、それによって制限されるべきではないことに留意されたい。
[0060]本発明の任意の実施形態は、本発明のその他の実施形態のオプションのまたは好ましい特徴のいずれをも含み得る。本明細書で開示される例示的実施形態は、包括的であることまたは本発明の範囲を不必要に制限することを意図されていない。例示的実施形態は、他の当業者が本発明を実施し得るように本発明の原理のいくつかを説明するために選択および説明された。本発明の例示的実施形態を示し、説明して、多数の変更および修正が、記載された発明に行われ得ることが、当業者には理解されよう。それらの変更および修正の多くは、同じ結果を実現することになり、特許請求されている本発明の趣旨内にある。したがって、ただ特許請求の範囲によって示されるようにのみ本発明を制限することが意図される。
102 第1のリモートホスト
104 第2のリモートホスト
106 パケット交換ネットワーク
108 ネットワークデバイス
110 通信ルート
112 接続
114 接続
116 アプリケーション層
118 トランスポート層
120 インターネット層
122 リンク層
124 アプリケーション層
126 トランスポート層
128 インターネット層
130 リンク層
140 TCPヘッダー
142 シーケンス番号フィールド
144 受信確認番号フィールド
146 ウィンドウフィールド
148 オプションフィールド
150 伝送バッファー
152 再送信ウィンドウ
160 受信バッファー
166 セグメント
167 空のセグメント位置
168 アドバタイズされたウィンドウ
170 IPv6データグラム
171 ヘッダー
172 128ビットソースアドレス
174 宛先アドレス
176 ペイロード長
178 次のヘッダーフィールド
180 ペイロード
190 断片化ヘッダー
192 32ビット識別フィールド
194 断片オフセットフィールド
196 追加の断片フィールド
200 パケット
202 タイプフィールド
204 コードフィールド
206 チェックサムフィールド
208 メッセージ本文

Claims (2)

  1. パケット交換ネットワークにおける輻輳回避の方法であって、
    断片化されたデータグラムの1つまたは複数の受信された断片を宛先ホストで受信するステップであって、前記断片化されたデータグラムは、前記1つまたは複数の受信された断片および1つまたは複数の失われた断片を含む合計数の断片に断片化された、ステップと、
    前記断片化されたデータグラムを識別する識別値、および、
    前記1つまたは複数の失われた断片を識別するビットマップ
    を備える断片化データ損失エラーメッセージを構築するステップであって、前記断片化されたデータグラムは、複数のビットを含むビットマップで表され、前記ビットマップにおいて、アクティブビットは受信確認されていないデータグラムを表し、非アクティブビットは受信確認されているデータグラムを表す、構築するステップと、
    前記断片化データ損失エラーメッセージをソースホストに送信するステップと、
    前記ソースホストにおいて、前記断片化データ損失エラーメッセージから、前記アクティブビットに対応する前記少なくとも1つの失われた断片を識別するステップと、
    前記ソースホストから前記宛先ホストへ、前記断片化されたデータグラムの識別された前記1つまたは複数の失われた断片のみと、前記断片化データ損失エラーメッセージの前記ビットマップをミラーリングする再送信ビットマップとを備える、限定再送を送信するステップであって、前記再送信ビットマップのアクティブビットは前記限定再送の前記1つまたは複数の識別された失われた断片を表し、前記再送信ビットマップの非アクティブビットは前記受信確認されているデータグラムを表す、送信するステップ
    を含む、方法。
  2. パケット交換ネットワークにおける輻輳回避の方法であって、
    宛先ホストで伝送タイマーを初期化するステップと、
    断片化されたデータグラムの最初の受信された断片を前記宛先ホストで受信するステップと、
    前記最初の受信された断片を受信したときに前記伝送タイマーを始動するステップと、
    断片化されたデータグラムの少なくとも1つの受信された断片を前記宛先ホストで受信するステップであって、前記少なくとも1つの受信された断片が、前記最初の受信された断片を含み、前記断片化されたデータグラムが、前記少なくとも1つの受信された断片および少なくとも1つの失われた断片を含む合計数の断片に断片化された、ステップと、
    前記伝送タイマーで伝送時間をインクリメントするステップと、
    インクリメントした前記伝送時間が、伝送タイムアウト時間よりも短い場合に、
    前記断片化されたデータグラムを識別する識別値、および、
    前記少なくとも1つの失われた断片を識別するビットマップ
    を備える断片化データ損失エラーメッセージを構築するステップであって、前記断片化されたデータグラムは、複数のビットを備える前記ビットマップで表され、前記ビットマップにおいて、アクティブビットは受信確認されていないデータグラムを表し、非アクティブビットは受信確認されているデータグラムを表す、構築するステップと、
    前記断片化データ損失エラーメッセージをソースホストに送信するステップと、
    前記ソースホストにおいて、前記断片化データ損失エラーメッセージから、前記アクティブビットに対応する前記少なくとも1つの失われた断片を識別するステップと、
    前記ソースホストから前記宛先ホストへ前記断片化されたデータグラムの識別された前記少なくとも1つの失われた断片のみと、前記断片化データ損失エラーメッセージの前記ビットマップをミラーリングする再送信ビットマップとを備える、限定再送を送信するステップであって、前記再送信ビットマップのアクティブビットは前記限定再送の前記識別された前記少なくとも1つの失われた断片を表し、前記再送信ビットマップの非アクティブビットは前記受信確認されているデータグラムを表す、送信するステップと、
    前記断片化されたデータグラムの全ての断片が、前記伝送タイムアウト時間の前に受信されるように、前記宛先ホストにおいて前記識別された少なくとも1つの失われた断片を受信するステップと、
    を含む、方法。
JP2017101136A 2016-05-23 2017-05-22 IPv6 TCP/IPネットワークを介する高度な大規模データ伝送および致命的輻輳回避 Active JP7154739B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/162,611 2016-05-23
US15/162,611 US10432529B2 (en) 2013-09-19 2016-05-23 Enhanced large data transmissions and catastrophic congestion avoidance over IPv6 TCP/IP networks

Publications (2)

Publication Number Publication Date
JP2017212734A JP2017212734A (ja) 2017-11-30
JP7154739B2 true JP7154739B2 (ja) 2022-10-18

Family

ID=59070395

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017101136A Active JP7154739B2 (ja) 2016-05-23 2017-05-22 IPv6 TCP/IPネットワークを介する高度な大規模データ伝送および致命的輻輳回避

Country Status (3)

Country Link
EP (1) EP3249846B1 (ja)
JP (1) JP7154739B2 (ja)
ES (1) ES2834674T3 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115396077A (zh) * 2019-03-25 2022-11-25 华为技术有限公司 一种数据传输方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7103025B1 (en) 2001-04-19 2006-09-05 Cisco Technology, Inc. Method and system for efficient utilization of transmission resources in a wireless network

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7885244B2 (en) * 2008-03-18 2011-02-08 Mitsubishi Electric Research Laboratories, Inc. Hybrid multiple access method and system in wireless networks with extended content free access period
US20130230059A1 (en) * 2011-09-02 2013-09-05 Qualcomm Incorporated Fragmentation for long packets in a low-speed wireless network
EP2888906B1 (en) * 2012-08-23 2021-03-31 Interdigital Patent Holdings, Inc. Operating with multiple schedulers in a wireless system
US9350663B2 (en) * 2013-09-19 2016-05-24 Connectivity Systems Incorporated Enhanced large data transmissions and catastrophic congestion avoidance over TCP/IP networks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7103025B1 (en) 2001-04-19 2006-09-05 Cisco Technology, Inc. Method and system for efficient utilization of transmission resources in a wireless network

Also Published As

Publication number Publication date
EP3249846A1 (en) 2017-11-29
JP2017212734A (ja) 2017-11-30
EP3249846B1 (en) 2020-10-21
ES2834674T3 (es) 2021-06-18

Similar Documents

Publication Publication Date Title
US10623317B2 (en) Enhanced large data transmission and catastrophic congestion avoidance over TCP/IP networks
US9350663B2 (en) Enhanced large data transmissions and catastrophic congestion avoidance over TCP/IP networks
US11641387B2 (en) Timely delivery of real-time media problem when TCP must be used
EP2140279B1 (en) Parsing out of order data packets at a content gateway of a network
US7613118B2 (en) Detecting change in a transport protocol window size without data transmission
US7471681B2 (en) Determining network path transmission unit
US6934257B2 (en) Transferring transmission control protocol packets
US7864772B2 (en) Protecting data integrity in an enhanced network connection
US7676593B2 (en) Method of bandwidth control by rewriting ACK number
WO2004110025A1 (en) Processing data for a tcp connection using an offload unit
EP2798813B1 (en) Obtaining information from data items
US7480301B2 (en) Method, system and article for improved TCP performance during retransmission in response to selective acknowledgement
JP5080654B2 (ja) 通信装置、通信方法
US6996105B1 (en) Method for processing data packet headers
US8578040B2 (en) Method, system and article for client application control of network transmission loss tolerance
JP7154739B2 (ja) IPv6 TCP/IPネットワークを介する高度な大規模データ伝送および致命的輻輳回避
US11134020B1 (en) Flow control of two TCP streams between three network nodes
US10805420B2 (en) Proxy-less wide area network acceleration
JP2006005833A (ja) データ通信装置、データ通信方法、データ通信プログラムおよび記録媒体
Raghavan TCP Maintenance Working Group T. Flach Internet-Draft USC Intended status: Experimental N. Dukkipati Expires: January 16, 2014 Y. Cheng

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210426

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210812

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211201

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20211201

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20211210

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20211213

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20220121

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20220125

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20220316

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20220412

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20220513

C302 Record of communication

Free format text: JAPANESE INTERMEDIATE CODE: C302

Effective date: 20220525

C13 Notice of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: C13

Effective date: 20220526

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220701

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20220714

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20220817

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20220916

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20220916

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221005

R150 Certificate of patent or registration of utility model

Ref document number: 7154739

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150