説明

TCP接続における制限因子の自動検出

【課題】TCP関連の問題を検出し、および診断するための方法およびシステムを提供する。
【解決手段】本方法は、TCP送信装置からネットワーク経路を介して送信されてTCP受信装置において受信されたTCPパケットの時間及び順序に従って、再送タイムアウトが何回発生したかを検出することと、上記再送タイムアウトの発生回数が予め決められたしきい値を超過したとき、上記ネットワーク経路によって第1の性能問題が生じたことを表示することとを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、伝送制御プロトコル(TCP)パフォーマンス問題状況の診断に関する。
【背景技術】
【0002】
TCPは、最も広く用いられているトランスポートプロトコルの1つである。TCPは、インターネットおよび多くのイントラネットの双方で用いられ、NFS(ネットワークファイルシステム)データのみならず、HTTP(ハイパーテキスト転送プロトコル)およびCIFTS(共通インターネットファイルシステム)トラフィックにも用いられている。TCPは、様々なネットワーク上で、また、様々な速度で、信頼性のあるコネクション型通信を実現する強力なプロトコルであるが、以下の理由により、データ転送の測定レートが予想を下回る場合がある。(1)データパケット受信装置、もしくはデータパケット送信装置、もしくはその両方が、不十分に構成され、またはオーバーロードに陥っている、(2)ネットワークもしくはその一部が、十分な帯域幅を有していない(例えば、フリンジ上でギガビットレートで実行するネットワークでは、データ送信装置とデータ受信装置との間の経路のどこかにメガビットリンクを含むことがある)、(3)(輻輳もしくは他の理由で)複数のデータパケットの損失が起こり、粗い粒度(細分性)での再送タイムアウトが要求される、もしくは、(4)他の関連する原因。
【0003】
ほとんどのTCPの実装は、問題を容易にデバッグするようには設計されていないため、TCP関連問題の診断には、様々な技術が設計されおよび実装されて来た。第1の技術は、バークリーパケットフィルター(Berkeley Packet Filters)等の何らかのタイプのパケットキャプチャメカニズムと、キャプチャした低レベルのパケットトレースに対する手動のエキスパート分析とを用いて、異常なプロトコルの振舞いを隔離し、それをネットワーク経路内における構成上の障害がある要素もしくは過負荷の要素まで追跡することを含む。この技術により特定の通信の分析は可能となるが、どちらかと言えば、不便であり、高価な上にエラーが生じがちである。この技術の変形は、LBL研究者により開発された、ティーシーパナリー(tcpanaly)と呼ばれるツール内に実装されている。ティーシーパナリー(Tcpanaly)は、パケットフィルタトレースを用いるTCPの動作のパケットトレースを点検することにより、自動的にTCPの実装の振舞いを分析する。トレースが、TCPの仕様に矛盾することが判明すると、ティーシーパナリー(tcpanaly)は、どの特定の動作が異常なのか、(可能ならば)診断し、もしくは指摘することになる。他のパケット駆動システムと同様に、ティーシーパナリー(tcpanaly)は、ネットワークの一般的な動的振舞いに注目するのではなく、輻輳制御を実行し、様々な形式のパケットの損失を扱う間、コーナー状態を処理するよう、むしろパケットフィルタの測定誤差、およびTCPアルゴリズムの他の低レベルの詳細を検出することに注目している。
【特許文献1】特開平11−27308号公報。
【特許文献2】特表平9−509927号公報。
【非特許文献1】W.リチャード・スティーヴンス,詳解TCP/IP Vol.1 [新装版] プロトコル,株式会社ピアソン・エデュケーション,2000年12月20日。
【発明の開示】
【発明が解決しようとする課題】
【0004】
市販のパケットスニファシステムなどの他の技術は、ユニックス(UNIX)(登録商標)のネットスタット(netstat)コマンドにより報告される種類の、集約されたTCP統計情報を分析するロジックを含んでいる;あいにく、他の同様のこうした技術は、概して、システムがそれまでに体験した総接続の広域分析に制限される。このように、これらは2つのシステム間の特定の接続の特定の障害を検出したり、もしくは診断したりするのに役立つ手段ではない。
【0005】
従って、TCP関連の問題を検出し、および診断するための方法およびシステムを提供することが望まれている。この方法は、自動診断ロジックを含む機器システムが、ネットワークと接続可能で、TCPのための自動診断技術を実装可能な、本発明の実施例で達成される。
【課題を解決するための手段】
【0006】
本発明は、TCPプロトコルの動的動作での、パフォーマンスの障害を検出し、および分析するための方法およびシステムを提供する。好ましい実施例では、本発明は自動診断ロジックを含み、このような自動診断ロジックは、TCP受信装置、TCP送信装置、もしくは双方に接続される何らかの機器の形態の自動診断モジュールにおけるさまざまなオペレーティングシステム(データオンタップ(Data ONTAP)など)のいずれにおいても実装可能である。
【0007】
本発明の第1の態様では、TCPイベントがサンプルされ、これらのイベントにおいて注意深く維持された統計値の組が維持される。サンプリングの粒度およびサンプルされる期間は、特定のシステムの必要条件を満たすよう調整されてもよい。これらの統計値は、送信装置側または受信装置側のいずれか、もしくはその両方における障害を診断する際に用いることが出来る。
【0008】
受信装置側のTCP診断技術は、(1)送信装置の再送タイムアウトを検出すること、(2)受信されるパケットの平均サイズを評価すること、(3)受信装置が、計算もしくはプロトコルのボトルネックとして作用しないと決定すること、および(4)着信したデータストリームについての他の統計学的評価を実行することを含んでいる。
【0009】
送信装置側の診断技術は、(1)過度の伝送タイムアウトにフラグを立てること、(2)伝送されるパケットの平均サイズをモニターすること、(3)広告ウィンドウが、受信装置システムと送信装置システムを接続するネットワークの遅延帯域積に対して十分に大きいか否かを評価すること、(4)様々なボトルネックチェックを実行すること、および、(5)送出されるデータストリームについての他の統計学的評価を行うことを含んでいる。
【0010】
本発明の第2の態様では、クライアントシステムの既知の属性を含むデータベースを用いて、自動診断の結果が集約される。属性の例には、IPサブネット番号、OSタイプ/バージョン、最新の構成変更日付、遅延距離、ルート情報、バーチャルLAN情報、自動診断情報の履歴の概要、および、自動診断情報の集約に役立ち得る他の属性が含まれる。共通問題領域および共通属性を伴うクライアントシステムは、システム管理者への提示のために一緒にグループ化される。
【0011】
好ましい実施例では、TCP自動診断ロジックは、オンラインもしくはオフラインで実行可能である。この自動診断ロジックは、どんな合理的実装に対しても、比較的非破壊的であるが、この特徴により、例えば、演算リソースへの総需要が比較的小さい場合には、非臨界時にシステム分析が実行可能となる。
【発明を実施するための最良の形態】
【0012】
以下の説明では、好ましい処理ステップとデータ構造を伴う、本発明の好ましい実施例が説明されている。しかし、当業者は、この出願の熟読後に、本発明の実施例が、プログラム制御下で作動する1台以上の汎用プロセッサ(もしくは、特定の処理ステップとデータ構造に順応した専用プロセッサ)を用いて実行可能であり、さらに、こうした設備を用いる、本願明細書内で説明される好ましい処理ステップおよびデータ構造の実現が、過度の実験、あるいはさらなる発明を要しないことを認識するだろう。
【0013】
システム要素
図1は、TCP接続内の制限因子自動検出システムのブロック図を示している。
【0014】
システム100は、通信ネットワーク130と接続される、複数のTCP受信装置110およびTCP送信装置120を含んでいる。TCP送信装置110もしくはTCP受信装置120のうちの少なくとも1つは、オペレーティングシステム140と自動診断モジュール150とを含んでいる。
【0015】
TCP受信装置110およびTCP送信装置120は、クライアントワークステーション、もしくはサーバ、もしくは一般化されたチューリングパラダイム内に包含される他の情報機器などの、汎用コンピュータを含んでいてもよい。これらの装置は、TCP受信装置110もしくはTCP送信装置120として分類されるが、この区別は一方の装置と他方の装置との関係に基づくものである。特定のデータパケット用のTCP受信装置110として特徴付けられた装置が、他のデータパケット用のTCP送信装置120として特徴付けられることもある。
【0016】
通信ネットワーク130は、データ通信のために、TCP受信装置110とTCP送信装置120の間に配置される。好ましい実施例では、通信ネットワーク130は、インターネットなどのパケット交換ネットワークを含むとともに、追加または代替として、イントラネット、企業ネットワーク、エクストラネット、仮想専用線ネットワークまたは仮想交換ネットワークを含んでいる。代替的実施例では、通信ネットワーク130は、TCP受信装置110およびTCP送信装置120を接続する、他のいかなる通信リンクの組をも含んでいてもよい。
【0017】
自動診断モジュール150は、オペレーティングシステム140(好ましくはデータオンタップ(Data ONTAP))と結合され得るソフトウェアインストラクションのセット155を含んでいる。他の実施例では、自動診断モジュール150は、TCP受信装置110またはTCP送信装置120のいずれか一方、もしくはその両方と接続可能な、別個の機器の形を取ってもよい。これらのソフトウェアインストラクション155は、TCP受信装置110およびTCP送信装置の双方上の、問題となる状態を診断するロジック技術を含んでいる。これらのロジック技術に加えて、ソフトウェアインストラクション155は、さらに以下を含んでいる。(1)(以下に説明される)様々な決定手順を実行するインストラクション。(2)特定の問題となる状態を改善するインストラクション、および(3)システム管理者に提示するための情報を集約するインストラクション。
【0018】
TCP受信装置110側で実行可能なソフトウェアインストラクション155は、以下を含む:
【0019】
TCP送信装置120再送タイムアウトを検出し、および評価するインストラクション
インストラクションセット155は、TCP送信装置120で起こる再送タイムアウトを評価する。インストラクションセット155は、TCP再アセンブリ待ち行列に挿入される各受信パケットに、タグ付けをするインストラクションを含んでいる。インストラクションが、(1)データパケットが各TCP受信装置110上に到達する時間、および(2)データパケットが到達するシーケンス番号、の双方を評価するので、「バースト」トラフィックにおける沈黙期間と、再送タイムアウトとを区別することが可能である。特定のパケット間到着ギャップ(通常500ms)を伴う、順序が前後した多数のパケットの存在は、TCP送信装置で再送タイムアウトが起こったことを示している。
【0020】
平均パケットサイズ
インストラクションセット155は、TCP送信装置120が十分大きなフレームを用いているか否かを判定するため、着信したデータパケットのサイズを測定し、着信パケットの到達時間を測定するインストラクションを含んでいる。インストラクションセット155は、連続した複数のパケット(back-to-back packets)のバーストの一部であるそれらの着信パケットのサイズを決定することにより、小さなTCPパケットを用いて必須のものとして伝送される制御情報等の情報や、またはメタデータに対して混乱をもたらすことを回避する。この決定は、バーストの一部でない着信パケットには実行されない。平均パケットサイズが不適当に小さいような場合(これは、アプリケーションが不十分に書かれていたり、もしくは、ネットワークに構成上の障害があるような場合に起こる)では、インストラクションセット155が、修復ステップに提供されてもよい。
【0021】
ボトルネックチェック
インストラクションセット155は、TCP受信装置110が、データ転送でボトルネックを生成するか否か判定する、インストラクションの3つの関連するサブセットを含んでいる。第1のインストラクションサブセットは、TCP受信装置110に接続したバッファ内の、利用可能な空きスペース量をモニターすることを伴う。第2のインストラクションサブセットは、プロトコル処理に利用される受信装置CPUの量をモニターすること、および、TCP処理で費やされるCPUサイクルの量と、アイドルタイムとして残された量とを比較することを伴う。第3のインストラクションサブセットは、受信装置アプリケーションが、TCPソケット受信装置バッファから読み出すレートをモニターすることを伴う。(1)所定量にわたる空きスペースの収縮を実質的に伴うことなく、パケットがおおよそ一定レートで連続的に到達する場合、(2)TCP受信装置110が、プロトコル処理実行のためにCPUサイクルを消費し尽くしているのではない場合、あるいは(3)受信装置アプリケーションがバッファから読み出すレートが、所定の閾値を下回らない場合、TCP受信装置110は、計算もしくはプロトコルのボトルネックとして作用している可能性は低い。
【0022】
TCP送信装置120側で実行可能なソフトウェアインストラクション155は、以下を含む:
【0023】
過度の再送タイムアウトにフラグを立てること
インストラクションセット155は、(1)いつ粗い粒度の再送タイマが満了してパケットが再送されるかを判定するインストラクション、(2)任意のTCP接続における再送タイムアウトの数が、特定の所定閾値を超えるか否かを判定するインストラクション、および、(3)この閾値が超過された場合にシステムマネージャに通知するインストラクションを含んでいる。
【0024】
平均パケットサイズ
インストラクションセット155は、TCP送信装置120により送られる伝送データパケットの平均サイズをモニターするインストラクションを含んでいる。TCP受信装置110上で実行されるパケットサイズのモニタリングと同様に、平均パケットサイズの分析を、連続したパケット列に含まれているパケットに制限することにより、制御情報を運ぶ小さなパケットのようなデータを歪める多くの要因を排除する。
【0025】
受信装置ウィンドウモニタリング
TCP送信装置120上のインストラクションセット155は、TCP受信装置110によって広告されるウィンドウをモニターする。特定のインストラクションは、広告ウィンドウが送信装置および受信装置間の経路の遅延帯域積に対して十分に大きいか否かを、TCP送信装置120にチェックさせる。また、インストラクションセット155は、経時的なTCP受信装置の広告ウィンドウの変化のモニタリングを制御する。広告ウィンドウが比較的一定のまま変化しない場合、TCP受信装置110がボトルネックとして作用している可能性は低い。
【0026】
ボトルネックチェック
TCP受信装置110と同様に、インストラクションセット155は、TCP送信装置120が、計算的もしくはプロトコルのボトルネックでないことを保証するよう、様々なインストラクションサブセットを含んでいる。第1のインストラクションサブセットは、TCP送信装置120に接続されるバッファサイズと、TCP送信装置120およびTCP受信装置110間のネットワーク経路の完全な帯域幅とを比較することを伴っている。バッファサイズが適切で、後述のような他の指示情報が存在しない場合は、TCP送信装置がボトルネックとして作用している可能性は低い。第2のインストラクションサブセットは、送信バッファ装置にキューイングされた未送信のデータをモニターすることを伴っている。TCP送信装置120が何も送ることが出来ない期間がある場合、TCP送信装置120は、ボトルネックとして作用している可能性がある。最後に、第3インストラクションサブセットは、TCP送信装置120が、TCP受信装置110のデータ消費ペースを維持するよう、プロトコル処理を十分速く実行可能か否かをモニターする。プロトコル処理がTCP受信装置110に対して低速度で実行される場合、TCP送信装置はボトルネックとして作用している可能性がある。
【0027】
様々な決定手順を実行するインストラクションは、周期的なICMP(インターネット制御メッセージプロトコル)pingを用いてラウンドリップ時間を測定し、TCPのフィンガープリンティング(TCP fingerprinting)を使用し、帯域幅、MTUサイズ、およびRTO推定に関する様々な仮定をおくことにより、オフライン遅延計算値を測定することを含んでいる。これらの様々な決定手順は、上述された他のタイプのインストラクションの実行に用いられてもよい。
【0028】
また、ソフトウェアインストラクション155に加えて、自動診断モジュールは、データベース157を含んでいる。データベース157は、IPサブネット番号、OSタイプ/バージョン、最新の構成変更日付、遅延距離、ルート情報、バーチャルLAN情報、自動診断情報の履歴の概要、および、診断情報を集約してシステム管理者にそれを提示する場合に役に立ち得るような他の属性など、既知のクライアントシステムの様々な属性を記述する、一連のフィールド158を含んでいる。この一連のフィールド158内に含まれる各フィールドには、適切な重み付けが割り当てられる。この加重された値は、自動診断結果を集約する時に用いられる。
【0029】
図2Aおよび図2Bは、TCP受信装置での制限因子自動検出方法の、処理フローチャートを示している。
【0030】
方法200の自動診断は、自動診断モジュール150がTCP受信装置110側と接続されている、システム100の実施例によって実行される。自動診断方法200は逐次的な一連のステップとして説明されているが、方法200のステップは、複数の構成要素によって共にもしくは並列に、非同期式でも、パイプライン方式でも、もしくは他の方式でも実行可能である。方法200は、特に断りのない限り、本明細書及び図面にステップを列挙した順序と同じ順序で実行されなければならないという特別な要件はない。
【0031】
フローポイント205では、システム100は、TCP受信装置110で自動診断を始める準備ができている。
【0032】
ステップ210で、1組のイベント統計が定義される。1組のイベント統計の定義は、どんなイベントがモニターされ、そのイベントをモニターするためにどのような時間粒度が用いられるかを決定する。好ましい実施例では、自動診断を特定のシステムに合わせて調節するように特定イベントと特定粒度を識別することが可能である。
【0033】
ステップ215では、TCP再アセンブリ待ち行列に挿入される着信パケットは、パケットがTCP受信装置110に到達した時間、および、パケットが到着した順序に関してタグ付けされる。
【0034】
ステップ220では、タグは、順序が前後して受信されたパケットを識別するために評価される。あるパケットが本来の順序とは異なる順序で到達したと識別され、パケット間到達時間が閾値を超えている場合、TCP送信装置120の再送タイムアウトを示すイベントのフラグが立てられる。過度の数のこうした再送タイムアウトは、送信装置と受信装置との間のネットワーク経路の何らかの問題による、パフォーマンス上の問題を示すもの考えられ、システム管理者に報告されてもよい。可能なら、修復手順が管理者に提示されてもよく、もしくは実行されてもよい。
【0035】
ステップ225では、特定のタイムフレーム内に到達する特定セットのパケットは、(1)セット内のどのパケットも、小さなパケットの使用を必要とする制御情報、メタデータ、もしくは他のタイプのデータを含まず、かつ、(2)セット内のすべてのパケットがデータパケットの同一バーストの一部であるものとして、識別される。「バースト」は、TCP送信装置により連続して伝送されるパケットにてなるセットと定義される。
【0036】
ステップ230では、ステップ225で識別されたパケットのセット内に含まれたパケットの平均サイズが計算される。セット内のパケットの所定数が不適当に小さい場合は、TCPアプリケーションが不十分に書かれていること、もしくは、ネットワークに構成上の障害があることを示すフラグが設定される。修復手順が、システム管理者に提示されてもよく、もしくは実行されてもよい。
【0037】
ステップ235では、TCP受信装置110に接続したバッファ内の空きスペース量が、所定期間モニターされ、同じ期間の間にパケットが受信されるレートと比較される。パケットが比較的一定レートに到達する時間の間に、空きスペース量が所定の閾値未満になる場合、フラグが設定される。これは、受信装置がデータ転送においてボトルネックである状況を示していると考えられるだろう。可能なら、修復手順が、システム管理者に提示されてもよく、もしくは実行されてもよい。
【0038】
ステップ240では、受信装置TCP110の処理に利用されるCPUサイクル数は、アイドルタイムとして残される量と比較される。CPUサイクル数が、所定の閾値を超える場合、フラグが設定される。この状況は、受信装置システムがデータ転送においてボトルネックとなっていることを示していると考えられる。可能なら、修復手順が自動的に実行されてもよい。
【0039】
ステップ245では、受信装置アプリケーションがTCPソケット受信装置バッファから読み出すレートが、モニターされる。レートが所定の閾値未満になる場合、フラグが設定される。フラグが設定される場合、可能なら、修復手順が自動的に実行されてもよい。
【0040】
ステップ250では、適切なタイプおよび適切な量のデータをシステム管理者に提示出来るように、モニターされてきたイベントに対して診断後集約が実行される。この診断後集約は、以下のうちの一部もしくはすべてを識別することを含む:(1)集約のために適切なクライアントシステムのグループ、(2)特に関連する1つ以上の属性タイプ(IPサブネット番号、OSタイプ/バージョン、最新の構成変更および他の要因など)の組、(3)これらのクライアントシステム内で起こった一連の問題。どのクライアントシステムが集約のために適切であるかを決定した後、共通の問題を共有するシステムが特定される。これは、データベース157に格納されている様々な属性に与えられた特性および重み付けを参照することにより行われる。
【0041】
ステップ255では、最終レポートが、(1)診断後集約と、(2)集約されなかった個々の問題の記述とに基づいて生成される。
【0042】
ステップ260では、最終レポートは、システム管理者に伝送される。
【0043】
ステップ265では、方法200のパフォーマンスに関連した、診断結果、修復手順、システム管理者へのメッセージ、および他の情報の記録が、データベース157に格納される。
【0044】
図3Aおよび図3Bは、TCP送信装置での制限因子自動検出方法の処理フロー図を示している。
【0045】
自動診断のための方法300は、自動診断モジュール150がTCP送信装置120側に接続されている、システム100の実施例により実行される。自動診断方法300は連続した一連のステップとして説明されているが、方法300のステップは、複数の構成要素のよって共に、もしくは並列に、非同期式でも、パイプライン方式でも、もしくは他の方式でも実行可能である。方法300は、特に断りのない限り、本明細書及び図面にステップを列挙した順序と同じ順序で実行されなければならないという特別な要件はない。
【0046】
フローポイント305では、システム100は、TCP送信装置120で自動診断を始める準備ができている。
【0047】
ステップ310では、粗な粒度の再送タイマがモニターされ、いつタイマが満了してパケットが再送されるかを判定する。再送タイムアウトの数が所定の閾値を超える場合、フラグが設定される。この状況は、送信装置と受信装置との間のネットワーク経路内に、何らかの問題があることを示していると考えられる。可能なら、修復手順が実行されてもよい。
【0048】
ステップ315では、特定のタイムフレーム内に送られる特定セットのパケットは、(1)セット内のどのパケットも、小さなパケットの使用を必要とする制御情報、メタデータ、もしくは他のタイプのデータを含まず、かつ、(2)セット内のすべてのパケットがデータパケットの同一バーストの一部であるものとして、識別される。
【0049】
ステップ320では、ステップ315で識別されたパケットのセット内に含まれたパケットの、平均サイズが計算される。セット内のパケットの所定数が不適当に小さい場合は、TCPアプリケーションが不十分に書かれていること、もしくは、ネットワークに構成上の障害があることを示すフラグが設定される。可能なら、修復手順が実行されてもよい。
【0050】
ステップ325では、TCP受信装置110により広告されるウィンドウのサイズがモニターされる。
【0051】
ステップ330では、遅延帯域積が計算される。
【0052】
ステップ335では、広告ウィンドウのサイズと遅延帯域積とが比較される。ウィンドウのサイズが遅延帯域積に対して十分に大きくない場合、このことは、TCP受信装置110がボトルネックとして作用しているのを示している可能性がある。これらの条件の下でフラグが設定され、可能なら、修復ステップが実行されてもよい。
【0053】
ステップ340では、TCP受信装置110上の広告ウィンドウサイズの変化が、TCP送信装置120のパフォーマンスと比較される。サイズ変化が所定のパターンに適合する場合、TCP送信装置120は、ボトルネックとして作用していると考え得る。これらの条件の下ではフラグが設定され、可能ならば、修復ステップが実行されてもよい。
【0054】
ステップ345では、TCP送信装置120のバッファのサイズが、TCP送信装置120とTCP受信装置110との間のネットワーク経路の帯域幅と比較される。送信バッファサイズがネットワーク経路の帯域幅に対して不十分なものである場合は、TCP送信装置120はボトルネックとなっている可能性がある。これらの条件の下ではフラグが設定され、可能ならば、修復ステップが実行されてもよい。
【0055】
ステップ350では、各TCP送信装置120上の送信バッファにキューイングされた未送信のデータの量がモニターされる。TCP送信装置120が接続経路上に何も送信出来ない回数が、特定の閾値を超える場合、TCP送信装置120はボトルネックとなっている可能性がある。これらの条件の下ではフラグが設定され、可能ならば、修復ステップが実行されてもよい。
【0056】
ステップ355では、モニターされて来たイベントに対して診断後集約が実行される。このステップは、方法200のステップ250と同様である。この診断後集約は、(1)集約のために適切なクライアントシステムのグループ、(2)特に関連する1つ以上の属性タイプ(IPサブネット番号、OSタイプ/バージョン、最新の構成変化、他の要因など)の組、あるいは、(3)これらのクライアントシステム内で発生した問題の組、を識別することを含んでいる。どのクライアントシステムが集約のために適切かを決定した後、共通の問題を共有するシステムは、データベース157に格納された様々な属性の重みづけを調べることにより特定される。
【0057】
ステップ360では、最終レポートが、(1)診断後集約と、(2)集約されなかった個々の問題の記述とに基づいて生成される。
【0058】
ステップ365では、最終レポートがシステム管理者に伝送される。
【0059】
ステップ370では、方法300のパフォーマンスに関連する診断結果、修復手順、システム管理者へのメッセージ、および他の情報の記録が、データベース157に格納される。
【0060】
代替実施例
好ましい実施例が、本願明細書に開示されているが、本発明の概念、範囲、および精神の範囲内で、多くの変形が可能であり、これらの変形は、この出願を熟読することにより、当業者にとり明白なものとなろう。
【図面の簡単な説明】
【0061】
【図1】TCP接続内の、パフォーマンス制限因子自動検出システムのブロック図を示す。
【図2A】TCP受信装置内のパフォーマンス制限因子自動検出方法の処理フロー図の一部を示す。
【図2B】TCP受信装置内のパフォーマンス制限因子自動検出方法の処理フロー図の残部を示す。
【図3A】TCP送信装置内のパフォーマンス制限因子自動検出方法の処理フロー図の一部を示す。
【図3B】TCP送信装置内のパフォーマンス制限因子自動検出方法の処理フロー図の残部を示す。
【符号の説明】
【0062】
100 システム、110 TCP受信装置、 120TCP送信装置、130 通信ネットワーク、140 オペレーティングシステム、150 自動診断モジュール、155 ソフトウエアインストラクション、157 データベース、158 フィールド。

【特許請求の範囲】
【請求項1】
TCP送信装置からネットワーク経路を介して送信されてTCP受信装置において受信されたTCPパケットの時間及び順序に従って、再送タイムアウトが何回発生したかを検出することと、
上記再送タイムアウトの発生回数が予め決められたしきい値を超過したとき、上記ネットワーク経路によって第1の性能問題が生じたことを表示することとを含む方法。
【請求項2】
上記受信された複数のTCPパケットから、連続した複数のパケットのバーストを識別することと、
予め決められた第2のしきい値未満のサイズをそれぞれ有する上記連続した複数のパケットのバーストに係る第2の数を決定することと、
上記第2の数が予め決められた第3のしきい値を超過したとき、第2の性能問題を表示することとを含む請求項1記載の方法。
【請求項3】
上記複数のTCPパケットが定常レートで受信される所定の時間期間にわたって、上記TCP受信装置に接続されたバッファにおける空きスペースの量をモニタリングすることと、
上記空きスペースの量が予め決められた第2のしきい値未満になったとき、上記TCP受信装置によって第2の性能問題が生じたことを表示することとを含む請求項1記載の方法。
【請求項4】
上記TCPパケットを処理するために使用される上記TCP受信装置のプロセッササイクルの百分率を決定することと、
上記百分率が予め決められた第2のしきい値を超過したとき、上記TCP受信装置によって第2の性能問題が生じたことを表示することとを含む請求項1記載の方法。
【請求項5】
上記再送タイムアウトが何回発生したかを検出することは、
上記各TCPパケットに、タイムスタンプ及びシーケンス番号をタグ付けすることと、
上記タイムスタンプ及び上記シーケンス番号に従って、上記各TCPパケットが連続した順序で到来したか否かを決定することとを含む請求項1記載の方法。
【請求項6】
予め決められたサイズ未満のサイズをそれぞれ有するパケットの使用を要求する制御情報、メタデータ又は他のタイプのデータをいずれも含まないようなTCPパケットのセットを、TCP送信装置から送信されるTCPパケットのバーストから識別することと、
上記TCPパケットのセットの平均サイズを計算することと、
予め決められた値だけ上記平均サイズよりも小さなサイズをそれぞれ有する上記TCPパケットのセットの数を決定することと、
上記数が予め決められたしきい値を超過したとき、第1の性能問題を表示することとを含む方法。
【請求項7】
広告ウィンドウのサイズの変動が予め決められたパターンに適合するか否かを決定することと、
上記広告ウィンドウのサイズが遅延帯域積に対して十分に大きくないとき、第2の性能問題を表示することとを含む請求項6記載の方法。
【請求項8】
上記広告ウィンドウのサイズの変動が予め決められたパターンに適合するか否かを決定することと、
上記変動が上記予め決められたパターンに適合するとき、第3の性能問題を表示することとを含む請求項7記載の方法。
【請求項9】
プロセッサと、
上記プロセッサに接続されたメモリとを備えた処理システムであって、上記メモリは、上記プロセッサによって実行されたときに上記処理システムに以下の処理を実行させる命令を格納し、上記処理は、
TCP送信装置からネットワーク経路を介して送信されてTCP受信装置において受信されたTCPパケットの時間及び順序に従って、再送タイムアウトが何回発生したかを検出することと、
上記再送タイムアウトの発生回数が予め決められたしきい値を超過したとき、上記ネットワーク経路によって第1の性能問題が生じたことを表示することとを含む処理システム。
【請求項10】
上記処理はさらに、
上記受信された複数のTCPパケットから、連続した複数のパケットのバーストを識別することと、
予め決められたしきい値未満のサイズをそれぞれ有する上記連続した複数のパケットのバーストに係る第2の数を決定することと、
上記第2の数が予め決められた第3のしきい値を超過したとき、第2の性能問題を表示することとを含む請求項9記載の処理システム。
【請求項11】
上記処理はさらに、
上記複数のTCPパケットが定常レートで受信される所定の時間期間にわたって、上記TCP受信装置に接続されたバッファにおける空きスペースの量をモニタリングすることと、
上記空きスペースの量が予め決められた第2のしきい値未満になったとき、上記TCP受信装置によって第2の性能問題が生じたことを表示することとを含む請求項9記載の処理システム。

【図1】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図3A】
image rotate

【図3B】
image rotate


【公開番号】特開2008−141777(P2008−141777A)
【公開日】平成20年6月19日(2008.6.19)
【国際特許分類】
【出願番号】特願2007−329005(P2007−329005)
【出願日】平成19年12月20日(2007.12.20)
【分割の表示】特願2002−582531(P2002−582531)の分割
【原出願日】平成13年12月19日(2001.12.19)
【出願人】(303039534)ネットワーク アプライアンス, インコーポレイテッド (27)
【Fターム(参考)】