JP2008524891A - データ破壊を避けることによる改善されたネットワーク性能のための方法、システム及び物品 - Google Patents

データ破壊を避けることによる改善されたネットワーク性能のための方法、システム及び物品 Download PDF

Info

Publication number
JP2008524891A
JP2008524891A JP2007546070A JP2007546070A JP2008524891A JP 2008524891 A JP2008524891 A JP 2008524891A JP 2007546070 A JP2007546070 A JP 2007546070A JP 2007546070 A JP2007546070 A JP 2007546070A JP 2008524891 A JP2008524891 A JP 2008524891A
Authority
JP
Japan
Prior art keywords
time
reassembly
data
data packet
customized
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.)
Granted
Application number
JP2007546070A
Other languages
English (en)
Other versions
JP4829896B2 (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2008524891A publication Critical patent/JP2008524891A/ja
Application granted granted Critical
Publication of JP4829896B2 publication Critical patent/JP4829896B2/ja
Expired - Fee Related 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]
    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • 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/28Timers or timing mechanisms used in protocols

Landscapes

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

Abstract

TCP/IPレシーバにおけるリアセンブリ・タイマは、IP識別ラップ・アラウンドに起因する高速ネットワーク上のデータ破壊を回避するために、動的にセットされる。センダは、宛先のサブネットに基いて又は接続の計算されたラウンド・トリップ時間に基いてフラグメントのためのリアセンブリ時間を明示する特別のオプションを有するIPパケットを生成する。レシーバは、リアセンブリ・タイマを、オプションで明示されたリアセンブリ時間にセットする。センダは、生成されるパケットについてタイム・スタンプをセットする代わりのオプションを有するIPパケットを生成することができる。レシーバは、フラグメントの到着時間とこのタイム・スタンプとの差に基いて横断時間を計算し、この横断時間に基いてリアセンブリ・タイマをセットする。

Description

本発明は、一般的にはデータ処理ネットワーク・システムにおけるデータ転送に関し、特にインターネット及び類似ネットワークを介するデータ・ブロックの転送に関する。更に特に、本発明は改善されたインターネット・プロトコル(IP)ネットワーク通信に関する。
コンピュータ・ネットワークはエンティティー間でデータを移送するための相互接続された通信媒体の地理的に分散した集合体である。エンティティーは、通信媒体を介してネットワーク・メッセージのソーシング(すなわち、送信)及び受信の少なくとも一方を行うホスト又はエンド・ステーションのような任意の装置から成り得る。多くのタイプのコンピュータ・ネットワークが利用可能であり、そのタイプはローカル・エリア・ネットワーク(LAN)からワイド・エリア・ネットワーク(WAN)に及ぶ。エンド・ステーションは、パーソナル・コンピュータ又はワークステーションを含み得るものであって、通例、所定のプロトコルに従ってデータの、フレーム又はパケットのような、離散的メッセージを交換することによって通信する。この文脈において、通信プロトコル・スタックはステーション同士がどの様に相互作用するかを定義する規則の集合から成る。
インターネットは、データ(テキスト、コード、画像、ビデオ、オーディオ、又は混合)及びソフトウェアの送信及び配布のための重要なコンピュータ・ネットワークになっている。インターネット通信アーキテクチャ・プロトコル・スタックの主要なプロトコルは、ネットワーク層(第3層)におけるインターネット・プロトコル(IP)とトランスポート層(第4層)における伝送制御プロトコル(TCP)とである。TCP/IPという用語はインターネット・アーキテクチャを指すために一般的に使われており、これはインターネット及びイントラネット技術において広く実行される標準的通信プロトコルになっており、クライアント、サーバ、及びそれらを結合させる通信システムの間での広範な異質性を可能にしている。IPは、ネットワーク・レベルにおいて“データグラム”配信サービスを提供する。TCPは、2つのIPホスト間でデータ・ストリームの信頼できる順次配信を提供する接続指向のトランスポート・レベル・サービスを築く。TCP/IP伝送における信頼性は一般に3つのイベント、すなわちデータ・ロス、データ破壊、及びデータの再配列(reordering)、により損われる。
データ・ロスはTCP/IPではタイム・アウト・メカニズムによって管理される。TCPは、レシーバからの送信されたセグメントについての肯定応答(ACK)の受信の遅れを測定するタイマ(再送タイマ)を維持する。推定された時間間隔(再送タイム・アウト(retransmission time−out(RTO))内にACKが到着しないときには、対応するセグメントは失われたと見なされ、再送される。更に、TCPは、伝統的に、パケット・ロスはネットワーク輻輳の兆候であるという前提に基いているので、TCPは、“スロー・スタート”を入力することによってその伝送速度を後退させ、これによりその輻輳ウィンドウを1セグメントまで徹底的に減少させる。
TCPは、セグメントがレシーバに到着するに連れてセグメントに関してチェックサムを実行することによってデータ破壊を管理する。チェックサム・アルゴリズムはTCPヘッダ及びデータの全ての16ビット・ワードの1の補数の和の16ビットの1の補数である。TCPセンダは、パケット・データに関してチェックサムを計算し、この2バイト値をTCPヘッダにロードする。TCPヘッダのチェックサム・フィールドは、IPヘッダからの情報を含む1つの12バイト擬似ヘッダも含む。レシーバは、受け取られたデータに関するチェックサムを計算し(TCPヘッダ内の2バイト・チェックサム・フィールドを除く)、それがヘッダ内のチェックサム値と一致することを確かめる。
TCPは、入ってくるパケットをそれらが順に再配列されるまで待ち行列に入れるリアセンブリ・キューを維持することによってデータの再配列又はセグメントの順番が狂った到着を管理する。この待ち行列内のデータが順番に到着したときに限って、それはユーザの受信バッファに移され、ここでそれはユーザから見える。レシーバが、受け取られたパケットのシーケンス番号の中に“穴”を見つけたとき、それは、自分が受け取るその後の全ての“順番が狂った”パケットのために重複肯定応答(duplicate acknowledgement(DACK))を生成する。抜けているパケットが受け取られるまで、より高いシーケンス番号を有する各々の受け取られたデータ・パケットは“順番が狂っている”と見なされ、DACKを生成させる。
図10は、IPヘッダ部分110とペイロード/データ部分150とを含むIPパケット100の略ブロック図である。IPヘッダ110は、IPヘッダのフォーマットを示すバージョン・フィールド102と、インターネット・ヘッダの長さを示すインターネット・ヘッダ長さ((Internet header length(IHL))フィールド104と、所望のサービス品質のパラメータの表示を提供するサービスのタイプ(type of service(TOS))フィールド106とを含む。IP全長フィールド108はIPヘッダ及びペイロード/データを含むIPパケットの長さを明示し、IP識別フィールド110はパケットのフラグメントを組み立てるのに役立つように送信エンティティーにより割り当てられた識別値を明示する。
IPヘッダは更に、モア・フラグメント(more fragment(MF))フラグ112と、IPパケット内でのそのフラグメントの配置を明示するIPフラグメント・オフセット・フィールド114と、そのパケットがネットワーク内で存続することを許される最大時間を示すタイム・ツー・リブ(time to live(TTL))フィールド116とを含む。プロトコル・フィールド118はパケットのペイロード/データ部分150で使われる次レベル・プロトコルを示し、ヘッダ・チェックサム・フィールド120はIPヘッダだけについてのチェックサムを提供する。IPヘッダは更に、送信エンティティーのIPソース・アドレスを含むソース・アドレス・フィールド122と、受信エンティティーのIP宛先アドレスを含む宛先アドレス・フィールド124と、オプションズ・フィールド126とパディング・フィールド128とを含む。
ソース及び宛先エンティティーに関連付けられたLAN標準規格が異種のものであるならば(例えば、イーサネット及びトークン・リング)、IPデータグラム(以降、パケットと称される)の分割が必要になることが良くある。その様な場合、ネットワークのルータ及びスイッチはパケットのフォーマットを、それが宛先エンティティーにより受信され得るように、変更しなければならないかもしれない。例えば、もしパケットが大きなパケット・サイズを許すネットワークから生じて、パケットをより小さなサイズに限定する1つ以上のリンク又はローカル・ネットワークを通過するならば、それらのネットワーク同士を接続するスイッチはIPパケットを分割しなければならない。TCP/IPネットワーキング環境の文脈においては、分割とリアセンブリの手続きは良く知られていて、『インターネット・プロトコル、コメントについての要求』(Internet Protocol, Request for Comments (RFC) 791, by Information Sciences Institute University of Soutern California (1981))に詳しく記載されている。RFC791によれば、IP分割は、IPパケットを、後に再組み立てされ得る任意の数のフラグメントに分割する。
IPパケットを分割するために、ソース又は中間のシステム(例えば、スイッチ)は、2つ以上の新しいIPフラグメントを生成し、オリジナル・パケットからのIPヘッダ・フィールドの一部の内容をフラグメントのIPヘッダの各々にコピーする。フラグメントの受信エンティティーは、異なるパケットのフラグメントが混ぜ合わされないことを確実にするためにIP識別フィールド110の内容(すなわち、パケット識別子(ID))を使用する。すなわち、識別フィールド110は、1つのパケットのフラグメントを他のものから区別するために使われる。IPフラグメント・オフセット・フィールド114は、フラグメントのオリジナル・パケットにおける位置を受信エンティティーに知らせる。各フラグメントのフラグメント・オフセット・フィールド及びIP全長フィールド108の内容は、オリジナル・パケットのそのフラグメントによりカバーされる部分を決定する。MFフラグ112は(例えば、リセット時に)最後のフラグメントを指し示す。完全なIPパケットの起源ホストは、IP識別フィールド110を、そのパケットがネットワークにおいてアクティブである間ソース/宛先アドレス・ペア及びプロトコル(例えば、TCP、UDP)のためにユニークである値にセットする。完全なパケットの起源ホストは、また、MFフラグ112を例えばゼロにセットし、IPフラグメント・オフセット・フィールド114をゼロにセットする。
IP識別フィールド110は2バイトのフィールドであり、これは65535に達した後にラップ・アラウンドしなければならない(すなわち、番号付けを1から再開しなければならない)。毎秒数千個のIPパケットを生成する高速ネットワークでは、フィールド110のIP識別子(IP−ID)は1秒あたりに幾度もラップ・アラウンドし得る。例えば、ギガビット・イーサネットでは、1秒間に80,000個のパケットが生成され得、このことはIP−IDのラップ・アラウンドが1秒以内に起こり得ることを意味する。ネットワークがもっと高速になるに連れて、このラップ・アラウンドはもっと頻繁に起こるようになる。例えば、10ギガビット・イーサネットでは、ラップ・アラウンドは数ミリ秒で起こり得る。
その結果として、もしラップ・アラウンドされたIP−IDがオリジナルIP−IDにより識別される別のIPパケットのフラグメントとリアセンブリされるならば、IP−IDラップ・アラウンドはネットワークにおけるデータ破壊の原因となり得る。破壊を検出するためにヘッダ・チェックサム120を利用するインターネット・チェックサム・アルゴリズムは余り強力ではないので、TCP又はUDPのような上層プロトコルはその様な破壊を検出し得ないかもしれない。この問題は、IPでは、リアセンブリ・タイマの使用により対処されている(RFC731を参照)。IPフラグメント・リアセンブリは、リアセンブリ・タイマを使って、もし識別されたパケットの全フラグメントがリアセンブリ・タイマ期間内に受信されなければ、フラグメントを捨てる。IPフラグメント・リアセンブリの多くのインプリメンテーションがリアセンブリ・タイマのために通例30秒を使用する。非常に高速のネットワークでは、IP−IDはこの期間内に幾度もラップ・アラウンドし、フラグメントがラップ・アラウンドされたIP−IDの間違ったフラグメントと不適切に組み合わされる可能性を高める。
高速ネットワークにおけるIP−IDラップ・アラウンドに対する解決策は、リアセンブリ・タイマを非常に低い値にセットし、これにより未解決の重複IP−IDの数を減らすことであった。しかし、これは、高速及び低速の両方のネットワークの多彩な速度を有するネットワーク環境においては性能低下の原因となる。なぜならば、IPパケットが単にまだ到着していないだけのときに低速リンクに沿ってフラグメントが間違って捨てられてしまうからである。低速ネットワーク接続においてIPフラグメントを捨てることは、不必要な再送が上の方の層から要求されるという結果をもたらす。可変速度ネットワークにおけるIP−IDラップ・アラウンドに起因するデータ破壊問題に対して、公知解決策より優れた性能を提供する解決策を提供することが望ましいということが分かる。
本発明により、データ処理システム・ネットワークを介しての通信のための改良された方法、システム及び製造物品が開示される。本発明の1つの好ましい方法は、送信されるべき特定のデータ・パケットのためにカスタマイズされたリアセンブリ時間を決定するステップと、そのカスタマイズされたリアセンブリ時間をそのデータ・パケットのフィールドに挿入することを含むそのデータ・パケットを生成するステップと、そのデータ・パケットを送信するステップとを含んでおり、そのデータ・パケットのレシーバは、そのカスタマイズされたリアセンブリ時間を利用して、そのフラグメントの受信後にそのカスタマイズされたリアセンブリ時間により示されるより長く分割されたままになっているそのパケットのフラグメントを捨てる。
データ処理システム・ネットワークを介する通信のための本発明の他の好ましい方法は、データ・フラグメントを含むデータ・パケットのためのカスタマイズされたリアセンブリ時間を示すオプションを含むデータ・フラグメントをネットワークを介して受信するステップと、そのデータ・フラグメントの受信後、もしそのデータ・フラグメントがカスタマイズされたリアセンブリ時間により示されるより長くデータ・パケットから分割されたままになっていたらそのデータ・フラグメントを捨てるステップと、を含む。
本発明の全ての目的、特徴、及び利点は、以下の詳細な記述において明らかになろう。
本発明は、図面と関連して以下の記述において好ましい実施態様に関して説明され、図面では同様の数は同じ又は類似の要素を表す。
本発明の代表的実施態様についての以下の詳細な記述においては、添付図面が参照され、それは本書の一部をなしており、また、そこには本発明が実施され得る特定の代表的実施態様が例として示されている。
本発明の代表的実施態様についての以下の詳細な記述においては、本発明が実施され得る特定の代表的実施態様が、当業者が本発明を実施することを可能にするために充分に詳しく記述されており、そして、他の実施態様が利用され得ること、また、本発明の範囲から逸脱すること無く論理に関する変更、アーキテクチャに関する変更、プログラムに関する変更、機械に関する変更、電気に関する変更、又は他の変更が行われ得ることが理解されなければならない。従って、以下の詳細な記述は限定的意味に解されるべきではなく、本発明の範囲は添付されている請求項のみによって定義される。特に、好ましい実施態様が以下でTCP/IPネットワーク環境に関して記述されるけれども、本発明がTCP/IPインプリメンテーションに限定されないことが理解されるであろう。
ここで図面を参照すると、特に図1を参照すると、本発明の好ましい実施態様が実現され得るデータ処理システム・ネットワークが描かれている。データ処理システム・ネットワーク101は、インターネット107のような少なくとも1つのネットワークを介して少なくとも1つのクライアント・システム105に結合された少なくとも1つのサーバ・システム103を含む。サーバ103とクライアント105との間のデータ転送は、TCP/IP仕様、及びファイル転送プロトコル(FTP)、ハイパーテキスト転送プロトコル(HTTP)、又は何らかの類似通信プロトコルに従う。単一のサーバ103と単一のクライアント・システム105とだけが示されているけれども、データ処理システム・ネットワーク101が、インターネット107を含む1つ以上の接続及びネットワークにより相互に接続された任意の数のサーバ及びクライアント・システム(図示されていない)を含み得ることが理解されるであろう。例証の目的上、サーバ103及びクライアント・システム105はTCP/IPを用いて通信するが、本発明はその様には限定されなくて、代わりの実施態様では他の適切なプロトコルも採用することができる。
図2は、本発明の好ましい実施態様で利用され得る、サーバ−クライアント・システムのための代表的なソフトウェア・アーキテクチャの描写である。サーバ103及びクライアント105は、各々、ソフトウェア・アーキテクチャ200で構築されている。最低のレベルでは、ユーザと他のソフトウェアとに高レベル機能を提供するためにオペレーティング・システム205が利用される。このオペレーティング・システムは、通例、BIOS(Basic Input Output System(基本入出力システム))を含む。通信ソフトウェア210は、オペレーティング・システム機能を直接起動することによって、又は間接的に、オペレーティング・システムを迂回してネットワークでの通信のためにハードウェアにアクセスすることによって、物理的通信リンクを介してインターネットのようなネットワークへの外部ポートを通しての通信を提供する。アプリケーション・プログラミング・インターフェース215は、システムのユーザ(個人であってもソフトウェア・ルーチンであっても)が、具体的な機能がどの様に実行されるかを懸念せずに標準的な矛盾しないインターフェースを用いてシステム機能を起動することを可能にする。インターネット・ソフトウェア220は、インターネット機能をコンピュータに持たせるために利用しうる幾つかの標準的な市販のパッケージのうちの任意の1つを表す。アプリケーション・ソフトウェア225は、通信ポートを通してデータに反応してユーザが求める所望の機能を提供するように設計された任意の数のソフトウェア・アプリケーションを表す。このレベルのアプリケーションは、インターネットのユーザによりアクセスされ得るデータ、ビデオ、グラフィックス、写真又はテキストを処理するために必要なものを含むことができる。
図3に示されているように、TCP/IP及び類似プロトコルは、アプリケーション層310、トランスポート層312、ネットワーク層314、リンク層316及び物理層318を含むネットワークのための4層通信アーキテクチャにより利用される。各層は、次のように、種々の通信タスクを処理する責任を有する。
物理層318は、一般に、ネットワーク内の種々の物理的装置間での通信のためにデータをビットに変換する。物理層で採用されるプロトコルの例は、イーサネット・カード、トークン・リング・カード、無線ネットワーク・カードなどのようなネットワーク・インターフェース・カードからのプロトコルを含むが、それらに限定はされない。電気電子技術者協会(IEEE)は、物理層で採用され得る種々のプロトコル、すなわちIEEE802.3標準規格(イーサネット)、IEEE802.5標準規格(トークン・リング)、及びIEEE802.11標準規格(無線イーサネット)のようなプロトコル、を公表している。
リンク層316は、一般に、ネットワークを介して伝達されるデータを取り扱う。リンク層316(データ−リンク層又はネットワーク・インターフェース層とも称される)は、普通、デバイス・ドライバを含んでいて、また、例えば媒体アクセス制御(MAC)のようなプロトコルを含むことができる。連携して、物理層及びリンク層は、使用されるネットワーク媒体と物理的にインターフェースするハードウェア細目を取り扱う。
ネットワーク層314(インターネット層とも称される)は、ネットワークの周囲でのデータのパケットの移動を取り扱う。例えば、ネットワーク層は、ネットワークを介して転送されるデータの種々のパケットのルーティングを処理する。TCP/IPスイートにおけるネットワーク層は、IP(インターネット・プロトコル)、ICMP(インターネット・コントロール・メッセージ・プロトコル)、及びIGMP(インターネット・グループ管理プロトコル)を含む、幾つかのプロトコルから構成される。
トランスポート層312は、2つのホスト・コンピュータ間でのデータ転送を容易にするネットワーク層314及びアプリケーション層310の間のインターフェースを提供する。トランスポート層は、アプリケーションからそれに渡されたデータを下のネットワーク層のために適切なサイズのチャンクに分割すること、受け取られたパケットについて肯定応答をすること、送られたパケットについて他端が肯定応答をしたことを確かめるためにタイムアウトをセットすること、などのことに関係する。TCP/IPプロトコル・スイートには明白に異なる2つのトランスポート・プロトコル、すなわちTCP(伝送制御プロトコル)及びUDP(ユーザ・データグラム・プロトコル)、がある。TCPは、抜けの検出及び再送サービスを含む、データが2つのホスト間で適切に伝送されることを確実にする信頼性サービスを提供する。逆に、UDPは、データグラムと呼ばれるデータのパケットを、そのデータが適切に転送されることを保証するメカニズムを全く提供すること無く、1つのホストから他方に単に送ることによって、遥かに簡単なサービスをアプリケーション層に提供する。UDPを用いるときには、アプリケーション層は信頼性機能を実行しなければならない。
アプリケーション層310は、具体的アプリケーションの細目を取り扱う。殆ど全てのインプリメンテーションが提供するありふれたTCP/IPアプリケーションが多数あり、それは(1)リモート・ログインのためのテルネット、(2)FTP、すなわちファイル転送プロトコル、(3)SMTP、すなわち電子メールのためのシンプル・メール・トランスファ・プロトコル、(4)SNMP、すなわちシンプル・ネットワーク・マネジメント・プロトコル、及び(5)ポスト・オフィス・プロトコルv3(POP3)を含む。
インターネットのようなネットワークはルータにより相互に接続され、それは各々2つ以上のネットワークを相互に結合させる。代表的なルータは、入力接続及び出力接続を有する特別目的ハードウェア・ボックスと、イーサネット、トークン・リング、ポイント・ツー・ポイント・リンクなどの様々なタイプの物理的ネットワークの接続を可能にする専用のハードウェア及び埋め込み型ソフトウェアのうちの少なくとも一方とを含む。図4は、ルータ436によりトークン・リング・ネットワーク434に結合されたイーサネット・ネットワーク432を含むインターネット400を示す。図4は通信する2つのホストを示すだけであるが、イーサネット・ネットワーク上の任意のホストがその上の任意のホストと、又はトークン・リング・ネットワーク上の任意のホストと、またその逆に、通信することができる。
図4に示されているように、ルータ436は、ネットワーク層モジュール438(この場合にはIPモジュール)と、ホスト・ネットワークとの接続のための適切なネットワーク・ドライバ、すなわちイーサネット・ドライバ440及びトークン・リング・ドライバ442とを含む。アプリケーション層において、ネットワークはFTPクライアント420とFTPサーバ422とを含み、トランスポート層においてはネットワークはTCPクライアント424とTCPサーバ426とを含み、ネットワーク層においてはネットワークはIPクライアント428とIPサーバ430とを含む。殆どのネットワーク・アプリケーションは、一端がクライアントで他方の側がサーバであるように設計される。サーバは、種々のクライアントに何らかのタイプのサービスを、この場合にはサーバ・ホスト上のファイルへのアクセスを、提供する。各層は、同じ層に存するそのピアと通信するための1つ以上のプロトコルを有する。これらの通信プロトコルは、アプリケーション層のFTPプロトコル444と、トランスポート層のTCPプロトコル446と、ネットワーク層のIPプロトコル448と、リンク層のイーサネット・プロトコル450及びトークン・リング・プロトコル454とを含む。アプリケーション層にとってはユーザ・プロセスを処理するのは普通のことであるが、下の方の3つの層(トランスポート、ネットワーク及びリンク)は、UNIX(登録商標)又はWindows(登録商標)オペレーティング・システムのようなオペレーティング・システムのカーネルにおいて実現される。例えば、ネットワーク・インターフェース層の目的は通信媒体(イーサネット、トークン・リングなど)の細目を取り扱うことであり、アプリケーション層の目的は1つの特定のユーザ・アプリケーション(FTP、テルネットなど)を取り扱うことである。
アプリケーション層とトランスポート層とは、エンド・ツー・エンドのプロトコル(FTPプロトコル444、TCPプロトコル446)を使用する。ネットワーク層は、2つのエンド・システムとその間の全ての中間システム(明瞭性を目的として、ここでは1つの中間システムだけが示されている)とで使用されるホップ・ツー・ホップ(hop−to−hop)のプロトコルを提供する。例えば、ルータ436のIPモジュール438は、IPプロトコル448によって2つのホストに接続されている。ルータに接続された種々のタイプのホスト・ネットワークに特有の、それらのネットワークとルータとの間のリンク層における通信を取り扱うリンク層プロトコルもある。従って、イーサネット・プロトコル450はルータ436内のイーサネット・ドライバ440とイーサネット・ネットワーク432上のホストのイーサネット・ドライバ452との間の通信を取り扱うために使用され、トークン・リング・プロトコル454はルータ436のトークン・リング・ドライバ442とトークン・リング・ネットワーク434上のホストのトークン・リング・ドライバ456との間の通信を取り扱うために使用される。
アプリケーションがTCP/IPを用いてデータを送るとき、データは、ビットのストリームとしてネットワークに送り出されるまで各層を通り、プロトコル・スタックに沿って送られる。図5に示されているように、プロトコル・スタック500の各層は、自分が受け取ったデータにヘッダをプリペンドすることによって(且つ、時にはトレーラ情報を付け加えることによって)そのデータに情報を付け加える。例えば、アプリケーション層においてはアプリケーション・データ584を形成するべくアプリケーション・ヘッダ580がユーザ・データ582にプリペンドされる。トランスポート層においてはトランスポート・プロトコル・ヘッダがアプリケーション・データにプリペンドされる。図5の場合、トランスポート層はTCPであり、従ってTCPヘッダ586がアプリケーション・データ584にプリペンドされ、これにより、ネットワーク層IPに送られるTCPフレーム588を形成する。TCPヘッダ586は20バイトを含む。同様に、ネットワーク層において、ネットワーク層ヘッダがトランスポート層データにプリペンドされる。TCP/IPの場合、IPデータグラム592を形成するべくIPヘッダ590がTCPフレーム588にプリペンドされる。IPヘッダ590も20バイトを含む。最後に、リンク層において、データのフレームを形成するべく、ネットワーク層から受け取られたデータにイーサネット・ヘッダ594のような媒体ヘッダが付加される。媒体がイーサネットであるような場合には、媒体トレーラもデータの末端に添付される。例えば、図5においては、イーサネット・フレーム598を形成するべくイーサネット・トレーラ96がイーサネット・ヘッダ594及びIPデータグラム592に添付される。イーサネット・フレームは、ネットワークを横切って流れるオリジナル・アプリケーション・メッセージ・データに対応するビットのストリームを含む。ヘッダの下の数(14,20,20,4)はバイト単位でのヘッダの代表的サイズであり、例えば、イーサネット・ヘッダ94は14バイトを含む。フレームのサイズは、データ・パケットを転送するために使用されるタイプのネットワークの最大送信単位(MTU)によって制限される。例えば、イーサネット・ネットワークのMTUは1500バイトである。ネットワーク層は分割(データグラムをより小さな断片に分解すること)を自動的に実行するので、各フラグメントはネットワークのMTUより小さい。
図1及び4に戻って参照して、ヘテロジニアス・ネットワーク環境で使用される本発明の好ましい実施態様に設けられたダイナミックIPパケット・リアセンブリ・タイマの動作が説明される。本発明の種々の実施態様において、IPフラグメントを捨てるためのリアセンブリ・タイマは、各IPパケットについて個別に動的に計算される。これらの実施態様は、IPネットワーク・システムにおけるIP−IDラップ・アラウンドに起因するデータ破壊を避ける上で大幅な改善を提供する。
第1の実施態様では、IPパケット・センダ(サーバ103又はクライアント105)は、生成されるIPパケットについてリアセンブリ・タイマ値を明示するIPパケット・ヘッダ100内の新しいIPオプション126を明示する。本発明の好ましい実施態様に従って、この新しいオプションはリアセンブリ・タイマ・オプションと称される。本発明の好ましい実施態様によるIPヘッダのためのリアセンブリ・タイマ・オプションのためのフォーマットが図6に示されている。
図6に見られるように、リアセンブリ・タイマ・オプション602は、そのリアセンブリ・タイマ・オプションについてIPで認識されるオプション126のオプション番号を明示する1バイト・フィールド604を含む。フィールド604は、ペイロード長さをバイト数で明示する1バイト・フィールドである。この例では、リアセンブリ・タイマ・オプション602へのペイロードはリアセンブリ時間の数値であり、それは4バイト・フィールドとして明示される。フィールド608は、このIPパケットのためにレシーバのリアセンブリ・タイマに割り当てられるべきリアセンブリ時間を示す。センダは、ネットワーク、センダ及びレシーバ、及び送られるIPパケットに関連するいろいろな要素に基いてリアセンブリ時間608のための値を決定する。
リアセンブリ時間608をセットするための好ましい実施態様では、センダはリアセンブリ時間をセットすることについて2つの考慮事項を有する。第1の考慮事項として、センダは、IPパケットのための宛先アドレスがセンダと同じサブネット上にあるか否かを判定する。センダとレシーバとが同じサブネット上にあるならば、センダはリアセンブリ時間608を、センダとレシーバとを接続するサブネットの速度に基かせることができる。例えば、毎秒80,000個のパケットを生成することのできるギガビット・イーサネット・ネットワークでは、リアセンブリ・タイマは1秒の半分(0.5秒)に送られ得、10ギガビット・イーサネット・ネットワークのためには、リアセンブリ・タイマはこの時間の十分の一(すなわち、50ミリ秒)にセットされ得る。
第2の考慮事項として、センダは、再送タイマ計算として用いられるTCPにより計算されるラウンド・トリップ時間(RTT)値を検討することができる。この値を用いることにより、センダは、正常なネットワーク状況下で期待されるラウンド・トリップ時間の推定値をレシーバに提供し、これによりRTTより長くかかるフラグメントが適切に再送されるべきことを提案することができる。このアルゴリズムを使って、センダはリアセンブリ時間608をRTTに、又はRTTプラスある程度のデルタ(例えば、RTT*1.5)に等しくセットすることができる。リアセンブリ時間608をセットするときにセンダが任意の数の要素及びアルゴリズムを考慮し得ること、また、いずれか1つの考慮事項だけ又はそれらの若しくは他の考慮事項の組み合わせが使用され得ることが理解されるべきである。
本発明の代わりの好ましい実施態様では、適切なリアセンブリ・タイマを決定するためにセンダとレシーバとは同期化タイミング・アルゴリズムを調整する。この好ましい実施態様は、ネットワーク・プロトコルがラウンド・トリップ時間の推定値を有さない環境において又は宛先が同じサブネット上に無い場合に、使用され得る。
図7は、本発明の好ましい実施態様による、“タイム・スタンプ・リアセンブリ・タイマ”と称される新しいIPオプション126のためのデータ・フォーマットを示す。タイム・スタンプ・リアセンブリ・タイマ・オプション702は、IPパケットのIPヘッダ100の中のオプション126である。フィールド704は、タイム・スタンプ・リアセンブリ・タイマ・オプションについてIPで認識されるオプション番号を示す。フィールド706は、オプションのペイロードの長さを示す1バイト・フィールドである。この場合、オプションは4バイト・ペイロードを示す。フィールド708は現在時刻の数値を明示するが、それは4バイト・フィールドとして明示される。タイム・スタンプ708は、IPヘッダ100が生成されるときに送信サーバによってセットされる。
センダは、始めにネットワーク・タイム・プロトコルを用いてその時間を同期化し、現在時刻をタイム・スタンプ708として送る。IPヘッダ100のオプション126に含まれているタイム・スタンプ・リアセンブリ・タイマ・オプション702を受け取ると、レシーバは、現在時刻とタイム・スタンプ708との差を計算することによってそのフラグメントの横断時間を計算する。レシーバは、その後、IPパケットのフラグメントについてリアセンブリ・タイマを決定するために、計算された横断時間に“デルタ”期間を加える。例えば、フラグメントの横断時間を計算した後、レシーバは、リアセンブリ・タイマをIPパケットの計算された横断時間の1.5倍にセットするべく横断時間の半分に等しい量の時間を加えることができる。この計算されたリアセンブリ・タイマは、普通は、受け取られたパケットがIPパケットの第1フラグメントであったならば、又は計算されたリアセンブリ・タイマが受信システムにおいて現在使用されているタイマより大きいと判定されたならば、レシーバによって使用される。リアセンブリ時間をセットするためのこのアルゴリズムは、望まれる粒状度(granularity)に応じて、IPパケットの第1フラグメントだけに関して又は全てのフラグメントに関して使用され得る。リアセンブリ・タイマ及びタイム・スタンプ・リアセンブリ・タイマ・オプションが利用可能でないか又は受け取られないネットワーク環境においては、レシーバはリアセンブリ・タイマの代わりに前もってプログラムされた値を使用することができる。
ここで図8を参照すると、本発明の好ましい実施態様によって、リアセンブリ時間を含むIPパケットを生成するためのプロセスの流れ図が示されている。プロセスは、IPパケットを生成するように送信サーバが指令されたときにステップ802から開始する。判定ブロック804で、送信サーバにより、IP宛先がIPソース・アドレスと同じサブネット上にあるか否かが判定される。もし肯定ならば、サブネットは既知の高速スループットを有し、IPフラグメントのために非常に短い再送タイマがセットされるべきことを示唆する。プロセスはステップ806に進み、ここで送信サーバは、サーバとクライアントとの間の既知サブネットの速度に対応する非常に短い時間にセットされたリアセンブリ時間608を有するリアセンブリ・タイマ・オプション602をオプション126に含むIPパケットを生成する。その後、サーバはステップ808で示されているようにIPパケット(またはフラグメント)を送信する(プロセスは終了する)。
判定ブロック804に戻って、もしIP宛先がセンダと同じサブネット上になければ、プロセスは判定ブロック810に進み、ここで送信サーバは、トランスポート層がデータ通信についてのラウンド・トリップ時間を計算したか否かを判定する。例えば、TCPはRTTを計算して、この計算結果をTCPヘッダに含める。もし肯定ならば、プロセスはステップ812に進み、ここで送信サーバは、トランスポート層のために計算されたラウンド・トリップ時間にセットされたリアセンブリ・タイマ・オプション602を含むIPパケットを生成する。TCPにおいて、RTTにセットされる。その後、プロセスはステップ808で終了し、このとき送信サーバはIPパケットを送信する。
判定ブロック810に戻って、もしトランスポート層がラウンド・トリップ時間を計算していなかったならば、又はその様な計算がトランスポート層によってサポートされないならば、プロセスはステップ814に進み、ここで送信サーバはタイム・スタンプ・リアセンブリ・タイマ・オプション702を含むIPパケットを生成する。センダは、IPパケットが生成されるときに現在時刻を表す数値でタイム・スタンプ708をセットする。その後、ステップ808に見られるように、送信サーバがIPパケットをクライアントに送信した後にプロセスは終了する。いまや認められるであろうように、これらのヘッダ・オプションの各々は別々に又は組み合わされて使用され得る。
ここで図9を参照すると、本発明の好ましい実施態様による、IPフラグメントを受け取ったことに応答してリアセンブリ・タイマをセットするためのプロセスの流れ図が示されている。プロセスは、ネットワーク上でクライアントによりIPフラグメントが受け取られたときにステップ902から始まる。プロセスは判定ブロック904に進み、ここで受信クライアントは、IPフラグメントがリアセンブリ・タイマ・オプション602を含むか否か判定する。肯定ならば、ステップ906に見られるように、受信クライアントは、受け取られたIPフラグメントについてのリアセンブリ時間をオプションのペイロード・フィールド708においてセットされている値にセットする。もしIPフラグメントがリアセンブリ・タイマ・オプション602を含まなければ、プロセスは判定ブロック908に進み、ここで受信クライアントはIPフラグメントがタイム・スタンプ・リアセンブリ・タイマ・オプション702を含むか否か判定する。肯定ならば、ステップ910に見られるように、レシーバは、ペイロードに含まれているタイム・スタンプ708をレシーバにおける現在時刻から引くことによってIPフラグメントの横断時間を計算する。レシーバは、その後、ステップ912に見られるように、計算された横断時間に基いてリアセンブリ・タイマをセットする。判定ブロック908に戻って、もしタイム・スタンプ・リアセンブリ・オプションがセットされていなければ、プロセスはブロック914で終了し、ここで受信クライアントは、リアセンブリ・タイマを、ユーザにより予め決定された又はIPフラグメントを捨てて再送を要求するために最適の時間としてシステムにより計算された格納されている値に、セットする。
上記の方法が一般的には1つ以上のプロセッサ(図示されていない)上で動作するソフトウェアで実行されること、また、そのソフトウェアが磁気又は光学コンピュータ・ディスクのような任意の適切なデータ・キャリヤ(これも図示されていない)に担持されるコンピュータ・プログラム・エレメントとして提供され得ることが当業者に理解されるであろう。データ伝送のためのチャネルも同様にあらゆる種類の記憶媒体、並びに、有線又は無線信号媒体のような信号伝達媒体を含むことができる。
従って、本発明はコンピュータ・システムに使用されるコンピュータ・プログラムとして適切に具体化され得る。この様なインプリメンテーションは一連のコンピュータ可読命令を含むことができ、それは、例えばディスケット、CD−ROM、ROM、若しくはハード・ディスクなどのコンピュータ可読媒体のような有形の媒体に固定され、又は、光学又はアナログ通信回線を含むがこれらに限定はされない有形媒体に沿って又はマイクロウェーブ、赤外線若しくはその他の伝送技術を含むがこれらに限定はされない無線技術を無形に用いてモデム若しくは他のインターフェース装置を介してコンピュータ・システムに伝送可能である。その一連のコンピュータ可読命令は前記の機能の全部又は一部を具体化する。
当業者は、その様なコンピュータ可読命令が多くのコンピュータ・アーキテクチャ又はオペレーティング・システムに用いられる多数のプログラミング言語で書かれ得ることを理解するであろう。更に、その様な命令は、半導体、磁気、若しくは光学を含むがこれらに限定はされない現在又は将来の任意のメモリー技術を用いて格納され得、或いは、光学、赤外線、又はマイクロウェーブを含むがこれらに限定はされない現在又は将来の任意の通信技術を用いて伝送され得る。その様なコンピュータ・プログラムが、例えばコンピュータ・システムのシステムROM若しくは固定ディスクに事前ロードされたシュリンク・ラップされたソフトウェアなど、印刷された若しくは電子式の取扱説明書が添付されている取り外し可能な媒体として頒布され得、又は例えばインターネット若しくはワールド・ワイド・ウェブなどのネットワークを介してサーバ若しくは電子掲示板から頒布され得ることが意図されている。
本発明は好ましい実施態様に関して具体的に示され記述されたが、本発明の範囲から逸脱せずにその形及び詳細に関して種々の変更をなし得ることが当業者に理解されるであろう。例えば、本発明は、コンピュータ・プログラミング・ソフトウェア、ファームウェア若しくはハードウェアの任意の組み合わせを用いて実施され得る。本発明を実行し或いは本発明の装置を構築する準備段階として、本発明によるコンピュータ・プログラミング・コード(ソフトウェア若しくはファームウェア)は、一般的には、固定(ハード)ディスク、ディスケット、光ディスク、磁気テープ、ROM、PROMなどの半導体メモリーのような1つ以上の機械可読記憶媒体に格納され、これにより本発明の製造物品を生じさせる。そのコンピュータ・プログラミング・コードを含む製造物品は、そのコードを記憶装置から直接実行することにより、コードを記憶装置からハード・ディスク、RAMなどのような他の記憶装置にコピーすることにより、又はコードをリモート実行するために伝送することにより、使用される。本発明の方法形は、本発明によるコードを含む1つ以上の機械可読記憶装置を適切な標準的コンピュータ・ハードウェアと組み合わせてその中に含まれているコードを実行することによって実行され得る。本発明を実行するための装置は、本発明により符号化されたコンピュータ・プログラムへのネットワーク・アクセスを含むか若しくは有する1つ以上のコンピュータ及び記憶システムであり得る。
本発明の好ましい実施態様を実現し得るデータ処理システム・ネットワークを示す。 本発明の好ましい実施態様に利用され得る、サーバ−クライアント・システムのための代表的なソフトウェア・アーキテクチャの描写である。 本発明の好ましい実施態様に利用され得る、ネットワークのための4層通信アーキテクチャである。 本発明の好ましい実施態様に利用され得る、ルータにより相互に接続されたインターネットのようなネットワークのブロック図を示す。 本発明の好ましい実施態様に利用され得る、データ・パケットの、TCP/IPプロトコル・スタックを通過するときのフォーマットを示す。 本発明の好ましい実施態様による、IPヘッダのためのリアセンブリ・タイマ・オプションのためのフォーマットを示す。 本発明の好ましい実施態様による、IPヘッダのためのタイム・スタンプ・リアセンブリ・タイマ・オプションのためのフォーマットを示す。 本発明の好ましい実施態様による、リアセンブリ時間を含むIPパケットを生成するためのプロセスの流れ図を示す。 本発明の好ましい実施態様による、IPフラグメントを受信したことに応答してリアセンブリ・タイマをセットするためのプロセスの流れ図を示す。 IPヘッダ部分及びペイロード/データ部分を含むIPパケット・データ・フォーマットの略ブロック図である。

Claims (16)

  1. データ処理システム・ネットワークにおける方法であって、
    データ・フラグメントを含むデータ・パケットのためのカスタマイズされたリアセンブリ時間を示すオプションを含む前記データ・フラグメントをネットワークを介して受信するステップと、
    前記データ・フラグメントの受信後にそれが前記カスタマイズされたリアセンブリ時間により示されるより長く前記データ・パケットから分割されたままになっていたならば前記データ・フラグメントを捨てるステップと、
    を含む、方法。
  2. 前記オプションは前記カスタマイズされたリアセンブリ時間を前記データ・フラグメントのフィールドにおいて明示するか又は前記オプションは前記データ・パケットがセンダによって生成されたときのタイム・スタンプを明示し、前記方法は、更に、前記データ・フラグメントについての横断時間を前記タイム・スタンプと前記データ・フラグメントがレシーバに到着した時間との関数として計算するステップと、更に前記横断時間に基いて前記データ・フラグメントについてリアセンブリ時間を明示するステップとを含む、請求項1に記載の方法。
  3. 前記カスタマイズされたリアセンブリ・タイマは前記データ・パケットの全てのデータ・フラグメントについての前記リアセンブリ時間を示すために使われるか、又は前記カスタマイズされたリアセンブリ・タイマは前記カスタマイズされたリアセンブリ・タイマが受信システムにおいて現在使用されているリアセンブリ時間より長いリアセンブリ時間を示すならば前記レシーバにおいてリアセンブリ時間をセットするために使われる、請求項1又は2に記載の方法。
  4. データ・フラグメントを含むデータ・パケットのためのカスタマイズされたリアセンブリ時間を示すオプションを含む前記データ・フラグメントをネットワークを介して受信するための手段と、
    前記データ・フラグメントの受信後にそれが前記カスタマイズされたリアセンブリ時間により示されるより長く前記データ・パケットから分割されたままになっていたならば前記データ・フラグメントを捨てるための手段と、
    を含む、データ処理システム。
  5. データ処理システム・ネットワークを介する通信のための方法であって、
    送信されるべき特定のデータ・パケットについてカスタマイズされたリアセンブリ時間を決定するステップと、
    前記カスタマイズされたリアセンブリ時間を前記データ・パケットのフィールドに挿入することを含む、前記データ・パケットを生成するステップと、
    前記データ・パケットを送信するステップとを含んでおり、前記データ・パケットのレシーバは、前記カスタマイズされたリアセンブリ時間を利用して、フラグメントの受信後に前記カスタマイズされたリアセンブリ時間により示されるより長く分割されたままになっている前記パケットの前記フラグメントを捨てる、方法。
  6. カスタマイズされたリアセンブリ時間を決定する前記ステップは、前記カスタマイズされたリアセンブリ時間を、もし前記データ・パケットのセンダが前記ネットワークの既知高速リンクを介して前記レシーバに接続されているならば第1時間に、もし前記データ・パケットのセンダが前記ネットワークの既知高速リンクを介して前記レシーバに接続されていなければ第2時間に、セットすることを含む、請求項5に記載の方法。
  7. 前記センダが前記ネットワークの前記データ・パケットの前記レシーバと同じサブネットの中にあるときには前記データ・パケットの前記センダは前記ネットワークの既知高速リンクを介して前記レシーバに接続されている、請求項6に記載の方法。
  8. カスタマイズされたリアセンブリ時間を決定する前記ステップは、カスタマイズされたリアセンブリ時間をセンダから前記レシーバに送信されたデータ・パケットについて計算されたラウンド・トリップ時間にセットすることを含む、請求項5乃至7のうちのいずれか1つに記載の方法。
  9. 前記ラウンド・トリップ時間はTCP層により計算されたRTTである、請求項8に記載の方法。
  10. 前記データ・パケットはIP層により生成されたIPパケットである、請求項5乃至9のうちのいずれか1つに記載の方法。
  11. 前記カスタマイズされたリアセンブリ時間は前記データ・パケットが生成された時間を明示するタイム・スタンプであり、前記データ・パケットの前記レシーバは、前記カスタマイズされたリアセンブリ時間を利用して前記データ・フラグメントの到着時間に基いて前記データ・フラグメントの横断時間を計算し、前記レシーバは前記データ・フラグメントについて前記横断時間に基いてリアセンブリ時間をセットする、請求項5乃至10のうちのいずれか1つに記載の方法。
  12. 前記データ・パケットを生成するステップは、前記データ・パケットのヘッダにおいてリアセンブリ時間を明示するオプションをセットすることを含む、請求項5乃至11のうちのいずれか1つに記載の方法。
  13. データ処理システムであって、前記データ処理システムは、
    送信されるべき特定のデータ・パケットについてカスタマイズされたリアセンブリ時間を決定するための手段と、
    前記カスタマイズされたリアセンブリ時間を前記データ・パケットのフィールドに挿入することを含む、前記データ・パケットを生成するための手段と、
    前記データ・パケットを送信するための手段とを含んでおり、前記データ・パケットのレシーバは、前記カスタマイズされたリアセンブリ時間を利用して、フラグメントの受信後に前記カスタマイズされたリアセンブリ時間により示されるより長く分割されたままになっている前記パケットのフラグメントを捨てる、データ処理システム。
  14. 前記カスタマイズされたリアセンブリ時間を、もし前記データ・パケットのセンダが前記ネットワークの既知高速リンクを介して前記レシーバに接続されているならば第1時間に、もし前記データ・パケットの前記センダが前記ネットワークの既知高速リンクを介して前記レシーバに接続されていなければ第2時間に、セットするための手段を更に含む、請求項13に記載のシステム。
  15. 前記カスタマイズされたリアセンブリ時間をセンダから前記レシーバに送信されたデータ・パケットについて計算されたラウンド・トリップ時間にセットするための手段を更に含む、請求項13又は14に記載のシステム。
  16. 前記データ・パケットのヘッダにおいてリアセンブリ時間を明示するオプションをセットするための手段又は前記データ・パケットのヘッダにおいて前記データ・パケットを生成した時間を明示するタイム・スタンプを伴うオプションをセットするための手段を更に含む、請求項10に記載のシステム。
JP2007546070A 2004-12-16 2005-12-15 データ破壊を避けることによる改善されたネットワーク性能のための方法、システム及び物品 Expired - Fee Related JP4829896B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/014,552 US7564843B2 (en) 2004-12-16 2004-12-16 Method, system and article for improved network performance by avoiding IP-ID wrap-arounds causing data corruption on fast networks
US11/014,552 2004-12-16
PCT/EP2005/056832 WO2006064047A1 (en) 2004-12-16 2005-12-15 Method, system and article for improved network performance by avoiding data corruption

Publications (2)

Publication Number Publication Date
JP2008524891A true JP2008524891A (ja) 2008-07-10
JP4829896B2 JP4829896B2 (ja) 2011-12-07

Family

ID=35717713

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007546070A Expired - Fee Related JP4829896B2 (ja) 2004-12-16 2005-12-15 データ破壊を避けることによる改善されたネットワーク性能のための方法、システム及び物品

Country Status (5)

Country Link
US (2) US7564843B2 (ja)
EP (1) EP1829324A1 (ja)
JP (1) JP4829896B2 (ja)
CN (1) CN101080914B (ja)
WO (1) WO2006064047A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009533960A (ja) * 2006-04-10 2009-09-17 ラテゼ・リモート・エム・ジー・エム・テイ・エル・エル・シー インターネットワーキングプロトコルを通じてのデータグラム破損を解決する方法

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7649880B2 (en) 2002-11-12 2010-01-19 Mark Adams Systems and methods for deriving storage area commands
US8005918B2 (en) 2002-11-12 2011-08-23 Rateze Remote Mgmt. L.L.C. Data storage devices having IP capable partitions
DE60218758T2 (de) 2002-11-12 2007-11-15 Zetera Corp., Irvine Kommunikationsprotokolle, -systeme und -verfahren
US7170890B2 (en) * 2002-12-16 2007-01-30 Zetera Corporation Electrical devices with improved communication
US7921285B2 (en) * 2002-12-27 2011-04-05 Verizon Corporate Services Group Inc. Means of mitigating denial of service attacks on IP fragmentation in high performance IPsec gateways
US8009586B2 (en) 2004-06-29 2011-08-30 Damaka, Inc. System and method for data transfer in a peer-to peer hybrid communication network
US8050272B2 (en) 2004-06-29 2011-11-01 Damaka, Inc. System and method for concurrent sessions in a peer-to-peer hybrid communications network
US7570636B2 (en) 2004-06-29 2009-08-04 Damaka, Inc. System and method for traversing a NAT device for peer-to-peer hybrid communications
US7933260B2 (en) 2004-06-29 2011-04-26 Damaka, Inc. System and method for routing and communicating in a heterogeneous network environment
GB0420549D0 (en) * 2004-09-15 2004-10-20 Nokia Corp A method and entity for monitoring traffic
US7564843B2 (en) * 2004-12-16 2009-07-21 International Business Machines Corporation Method, system and article for improved network performance by avoiding IP-ID wrap-arounds causing data corruption on fast networks
US7702850B2 (en) 2005-03-14 2010-04-20 Thomas Earl Ludwig Topology independent storage arrays and methods
US7620981B2 (en) 2005-05-26 2009-11-17 Charles William Frank Virtual devices and virtual bus tunnels, modules and methods
JP4526458B2 (ja) * 2005-07-29 2010-08-18 富士通株式会社 パケット処理装置及びパケット処理プログラム
US8819092B2 (en) 2005-08-16 2014-08-26 Rateze Remote Mgmt. L.L.C. Disaggregated resources and access methods
US7743214B2 (en) * 2005-08-16 2010-06-22 Mark Adams Generating storage system commands
EP1763204B1 (en) * 2005-09-13 2013-12-04 Unify GmbH & Co. KG System and method for redundant switches taking into account learning bridge functionality
US9270532B2 (en) 2005-10-06 2016-02-23 Rateze Remote Mgmt. L.L.C. Resource command messages and methods
TW201507421A (zh) * 2006-12-12 2015-02-16 Interdigital Tech Corp 經膏速下鏈封包存取傳送及接收封包方法及裝置
WO2009032854A2 (en) 2007-09-03 2009-03-12 Damaka, Inc. Device and method for maintaining a communication session during a network transition
US8862164B2 (en) 2007-09-28 2014-10-14 Damaka, Inc. System and method for transitioning a communication session between networks that are not commonly controlled
WO2009070718A1 (en) 2007-11-28 2009-06-04 Damaka, Inc. System and method for endpoint handoff in a hybrid peer-to-peer networking environment
US20090161569A1 (en) * 2007-12-24 2009-06-25 Andrew Corlett System and method for facilitating carrier ethernet performance and quality measurements
US8233502B2 (en) * 2008-01-18 2012-07-31 Juniper Networks, Inc. System and method for heuristically dropping packets in a multilink PPP bundle
JP5071178B2 (ja) * 2008-03-14 2012-11-14 富士通株式会社 パケット伝送装置
EP2534780B1 (en) 2010-02-12 2018-06-27 InterDigital Patent Holdings, Inc. Sending feedback for multiple downlink carriers
US8892646B2 (en) 2010-08-25 2014-11-18 Damaka, Inc. System and method for shared session appearance in a hybrid peer-to-peer environment
US8725895B2 (en) 2010-02-15 2014-05-13 Damaka, Inc. NAT traversal by concurrently probing multiple candidates
US8874785B2 (en) 2010-02-15 2014-10-28 Damaka, Inc. System and method for signaling and data tunneling in a peer-to-peer environment
US9043488B2 (en) 2010-03-29 2015-05-26 Damaka, Inc. System and method for session sweeping between devices
US9191416B2 (en) 2010-04-16 2015-11-17 Damaka, Inc. System and method for providing enterprise voice call continuity
US8352563B2 (en) 2010-04-29 2013-01-08 Damaka, Inc. System and method for peer-to-peer media routing using a third party instant messaging system for signaling
US8446900B2 (en) 2010-06-18 2013-05-21 Damaka, Inc. System and method for transferring a call between endpoints in a hybrid peer-to-peer network
US8611540B2 (en) 2010-06-23 2013-12-17 Damaka, Inc. System and method for secure messaging in a hybrid peer-to-peer network
US8468010B2 (en) 2010-09-24 2013-06-18 Damaka, Inc. System and method for language translation in a hybrid peer-to-peer environment
US8743781B2 (en) 2010-10-11 2014-06-03 Damaka, Inc. System and method for a reverse invitation in a hybrid peer-to-peer environment
US8407314B2 (en) 2011-04-04 2013-03-26 Damaka, Inc. System and method for sharing unsupported document types between communication devices
US8694587B2 (en) 2011-05-17 2014-04-08 Damaka, Inc. System and method for transferring a call bridge between communication devices
US8478890B2 (en) * 2011-07-15 2013-07-02 Damaka, Inc. System and method for reliable virtual bi-directional data stream communications with single socket point-to-multipoint capability
US9596177B2 (en) * 2012-04-12 2017-03-14 Lantiq Deutschland Gmbh Method for a retransmission roundtrip correction
US10284482B2 (en) * 2012-06-29 2019-05-07 Honeywell International Inc. Stateful connectionless overlay protocol for information transfer across multiple datalinks
US9027032B2 (en) 2013-07-16 2015-05-05 Damaka, Inc. System and method for providing additional functionality to existing software in an integrated manner
US9357016B2 (en) 2013-10-18 2016-05-31 Damaka, Inc. System and method for virtual parallel resource management
US9462087B2 (en) * 2014-05-09 2016-10-04 Unisys Corporation Avoiding collisions in internet protocol (IP) packet identification numbers
CA2956617A1 (en) 2014-08-05 2016-02-11 Damaka, Inc. System and method for providing unified communications and collaboration (ucc) connectivity between incompatible systems
US9698825B2 (en) * 2014-10-22 2017-07-04 Quest Software Inc. Fast update of data packet checksums
US10305928B2 (en) * 2015-05-26 2019-05-28 Cisco Technology, Inc. Detection of malware and malicious applications
US10091025B2 (en) 2016-03-31 2018-10-02 Damaka, Inc. System and method for enabling use of a single user identifier across incompatible networks for UCC functionality
US10673785B2 (en) * 2017-02-16 2020-06-02 Netscout Systems, Inc. Flow and time based reassembly of fragmented packets by IP protocol analyzers
WO2018166042A1 (zh) * 2017-03-14 2018-09-20 北京小米移动软件有限公司 数据单元传输方法及装置
US11503500B2 (en) 2017-11-28 2022-11-15 Samsung Electronics Co., Ltd. Method and a user equipment (UE) for transport layer optimization using a preemptive cross layer signaling
US10897417B2 (en) * 2018-09-19 2021-01-19 Amazon Technologies, Inc. Automated route propagation among networks attached to scalable virtual traffic hubs
JP2022047551A (ja) * 2019-01-24 2022-03-25 ソニーグループ株式会社 無線通信装置および方法
CN111953807B (zh) * 2020-07-30 2022-02-22 新华三信息安全技术有限公司 一种报文标识处理方法、装置及存储介质
US11902343B1 (en) 2021-04-19 2024-02-13 Damaka, Inc. System and method for highly scalable browser-based audio/video conferencing
US11770584B1 (en) 2021-05-23 2023-09-26 Damaka, Inc. System and method for optimizing video communications based on device capabilities

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH022757A (ja) * 1988-06-16 1990-01-08 Nippon Telegr & Teleph Corp <Ntt> パケット転送方式
JPH0832623A (ja) * 1994-07-19 1996-02-02 Toshiba Corp ネットワークシステムのデータ送達装置および方法
JPH09191314A (ja) * 1996-01-10 1997-07-22 Mitsubishi Electric Corp 連続データ伝送方法および連続データ伝送装置
JPH11145975A (ja) * 1997-11-07 1999-05-28 Toshiba Corp 送信制御方式
JP2003060699A (ja) * 2001-08-14 2003-02-28 Nippon Telegr & Teleph Corp <Ntt> ネットワークにおける再送制御方法
JP2004201196A (ja) * 2002-12-20 2004-07-15 Central Res Inst Of Electric Power Ind 遅延時間抑制伝送方法およびシステムおよび遅延時間抑制伝送用ルータ
JP2004312062A (ja) * 2003-04-01 2004-11-04 Mitsubishi Electric Corp 無線通信システム、無線ネットワーク制御装置、基地局および移動機

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5892753A (en) * 1996-12-02 1999-04-06 International Business Machines Corporation System and method for dynamically refining PMTU estimates in a multimedia datastream internet system
US5959974A (en) * 1996-12-02 1999-09-28 International Business Machines Corporation System and method for discovering path MTU of internet paths
US6272131B1 (en) * 1998-06-11 2001-08-07 Synchrodyne Networks, Inc. Integrated data packet network using a common time reference
US6810042B1 (en) * 1999-01-04 2004-10-26 Cisco Technology, Inc. Method of queuing traffic to many destinations covering a wide range of transmission speeds while minimizing buffer size
US6519223B1 (en) * 1999-04-06 2003-02-11 Telefonaktiebolaget L M Ericsson (Publ) System and method for implementing a semi reliable retransmission protocol
US6894976B1 (en) * 2000-06-15 2005-05-17 Network Appliance, Inc. Prevention and detection of IP identification wraparound errors
US7760737B2 (en) 2000-11-30 2010-07-20 Audiocodes, Inc. Method for reordering and reassembling data packets in a network
US7185083B2 (en) * 2001-01-17 2007-02-27 Fisher-Rosemount Systems, Inc. Method and apparatus for identifying an I/O network in a process control system
CN1129283C (zh) * 2001-05-18 2003-11-26 华为技术有限公司 一种定长分组交换的信元适配方法
US7162418B2 (en) * 2001-11-15 2007-01-09 Microsoft Corporation Presentation-quality buffering process for real-time audio
KR100541880B1 (ko) 2002-07-10 2006-01-10 주식회사 케이티프리텔 대기 시간을 이용한 재조립 기능이 포함된 방송형 단문메시지 송수신 장치 및 방법
US7301943B2 (en) * 2002-07-31 2007-11-27 Industrial Technology Research Institute QoS-oriented burstification method supporting various grades of burstification delay guarantee
US7061914B2 (en) * 2003-05-28 2006-06-13 Verizon Corporate Services Group Inc. Schemes for determining whether all of the fragments of a datagram are received
US7564843B2 (en) * 2004-12-16 2009-07-21 International Business Machines Corporation Method, system and article for improved network performance by avoiding IP-ID wrap-arounds causing data corruption on fast networks
US7742454B2 (en) * 2004-12-16 2010-06-22 International Business Machines Corporation Network performance by dynamically setting a reassembly timer based on network interface

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH022757A (ja) * 1988-06-16 1990-01-08 Nippon Telegr & Teleph Corp <Ntt> パケット転送方式
JPH0832623A (ja) * 1994-07-19 1996-02-02 Toshiba Corp ネットワークシステムのデータ送達装置および方法
JPH09191314A (ja) * 1996-01-10 1997-07-22 Mitsubishi Electric Corp 連続データ伝送方法および連続データ伝送装置
JPH11145975A (ja) * 1997-11-07 1999-05-28 Toshiba Corp 送信制御方式
JP2003060699A (ja) * 2001-08-14 2003-02-28 Nippon Telegr & Teleph Corp <Ntt> ネットワークにおける再送制御方法
JP2004201196A (ja) * 2002-12-20 2004-07-15 Central Res Inst Of Electric Power Ind 遅延時間抑制伝送方法およびシステムおよび遅延時間抑制伝送用ルータ
JP2004312062A (ja) * 2003-04-01 2004-11-04 Mitsubishi Electric Corp 無線通信システム、無線ネットワーク制御装置、基地局および移動機

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009533960A (ja) * 2006-04-10 2009-09-17 ラテゼ・リモート・エム・ジー・エム・テイ・エル・エル・シー インターネットワーキングプロトコルを通じてのデータグラム破損を解決する方法

Also Published As

Publication number Publication date
US7826449B2 (en) 2010-11-02
JP4829896B2 (ja) 2011-12-07
US20060133365A1 (en) 2006-06-22
EP1829324A1 (en) 2007-09-05
CN101080914B (zh) 2012-09-05
CN101080914A (zh) 2007-11-28
US20080225847A1 (en) 2008-09-18
WO2006064047A1 (en) 2006-06-22
US7564843B2 (en) 2009-07-21

Similar Documents

Publication Publication Date Title
JP4829896B2 (ja) データ破壊を避けることによる改善されたネットワーク性能のための方法、システム及び物品
US7742454B2 (en) Network performance by dynamically setting a reassembly timer based on network interface
US10652147B2 (en) Packet coalescing
US10237153B2 (en) Packet retransmission method and apparatus
EP1234428B1 (en) Method and apparatus for packet delay reduction using scheduling and header compression
EP2273738B1 (en) Discovering path maximum transmission unit size
US7502860B1 (en) Method and apparatus for client-side flow control in a transport protocol
US8122140B2 (en) Apparatus and method for accelerating streams through use of transparent proxy architecture
EP2086187B1 (en) Method for transmitting a data stream with anticipation of acknowledgements, corresponding input device, computer program product and storage means
US7483376B2 (en) Method and apparatus for discovering path maximum transmission unit (PMTU)
US8775658B2 (en) Apparatus and method for transparent communication architecture in remote communication
Kumar et al. Survey on transport layer protocols: TCP & UDP
US6845105B1 (en) Method and apparatus for maintaining sequence numbering in header compressed packets
JP5005003B2 (ja) トンネルのトランスポートチャネル上のデータストリームの送信を管理する方法、対応するトンネル終点及びコンピュータ読み取り可能な記憶媒体
EP1361512A2 (en) Method to synchronize and upload an offloaded network stack connection with a network stack
US7480301B2 (en) Method, system and article for improved TCP performance during retransmission in response to selective acknowledgement
US9876612B1 (en) Data bandwidth overhead reduction in a protocol based communication over a wide area network (WAN)
WO2000072532A1 (en) System and method for network packet reduction
EP3820088B1 (en) Method and network device for multi-path communication
WO2020154872A1 (zh) 一种传输控制协议加速方法和装置
Rajput et al. Comparing stream control and datagram congestion control with traditional transmission control protocol
KR20060056810A (ko) 티씨피 버퍼 분리를 이용한 티씨피 플로우 성능 저하 방지장치 및 방법
Murayama et al. A Proposal for a Solution of the TCP short-term Deadlock Problem

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080910

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110217

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110217

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20110217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110804

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110808

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110808

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

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110907

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20110907

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

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

Free format text: PAYMENT UNTIL: 20140922

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees