JP2007523508A - ネットワークスループット測定のための方法及び装置 - Google Patents

ネットワークスループット測定のための方法及び装置 Download PDF

Info

Publication number
JP2007523508A
JP2007523508A JP2006528217A JP2006528217A JP2007523508A JP 2007523508 A JP2007523508 A JP 2007523508A JP 2006528217 A JP2006528217 A JP 2006528217A JP 2006528217 A JP2006528217 A JP 2006528217A JP 2007523508 A JP2007523508 A JP 2007523508A
Authority
JP
Japan
Prior art keywords
network
throughput
blocks
data
block
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.)
Pending
Application number
JP2006528217A
Other languages
English (en)
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.)
Teradyne Inc
Original Assignee
Teradyne Inc
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 Teradyne Inc filed Critical Teradyne Inc
Publication of JP2007523508A publication Critical patent/JP2007523508A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput

Landscapes

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

Abstract


ネットワークのスループットを測定するシステム。データブロックが送信され(324)、各ブロックのデータ速度が求められる(326)。一定ブロック(326)のスループットを収集し、平均することによって、正確な測定が行われる。システムは、コールセンタに接続された診断ユニットと接続された状態で示される。顧客の問題が発生することによって、ユーザは診断ウェブページに誘導される。一旦ユーザコンピュータがウェブページにアクセスする(316)と、診断ユニットは、データブロックをユーザコンピュータに送出する(216)か、又は、ユーザコンピュータがデータブロックを診断ユニットに送出する(324)ようにさせるコードをウェブページに埋め込むことができる。

Description

本発明は、概括的にはデータネットワークに関し、より詳細には、データネットワークを試験することに関する。
データネットワークは広く使用されている。ほとんどのオフィス及び多くの家庭さえもが、ローカルエリアネットワークを含む。多くのビジネスにおいて、異なる場所のローカルエリアネットワークをつなぐワイドエリアネットワークが採用される。そして、インターネットは、ビジネスにおいて、また、人々によってその家庭で広く使用されており、ユーザが、世界中に配置されるコンピュータからデータにアクセスすることを可能にする。インターネットが伝送するデータは、テキスト、グラフィックス、オーディオ、ビデオ、又は他のタイプの情報を表すことができる。本明細書では、インターネットは、データネットワークの例として使用している。
データネットワークの急増は、ネットワーク試験ツールに対する必要性を生み出す。試験は、ネットワーク内の故障を発見するため、また、ネットワークによって提供されるサービス品質が適切であることを確認するために使用される。たとえば、インターネットサービスプロバイダ(ISP)は、インターネットへのアクセスを販売し、ISPが販売するサービスレベルに見合ったレベルで、ネットワーク上のコンピュータと、その顧客がデータを交換することができることを保障しなければならない。より一般的に、「ノード」と呼ばれる、ネットワークの一部であるか、又は、ネットワークを通して接続される2つのデバイス間で、データを渡すことができる速度は、スループットと呼ばれる。
低スループットは、ワイヤ、サーバ、ルータ、又は他のネットワークノードなどのネットワーク機器のある部品の物理的故障を示す可能性がある。或いは、低スループットは、ネットワークデバイスが適切に構成されていないこと、又は、ネットワークに、全てのネットワークユーザにデータを同時に搬送するための十分な機器が不足していることを示している可能性がある。
スループットが不適切である理由にかかわらず、ネットワークユーザは、不十分なサービスを受けることになる。その顧客を満足した状態に保つか、又は、高スループットネットワーク接続に対してISPが追加金を請求することができることを確実にするために、ISPは、ネットワーク中の種々のノード間のスループットを知ることが必要になる。
イリノイ州ディアフィールド(Deerfield, IL)のテラダイン(Teradyne)は、NetFlare(登録商標)と呼ぶ製品を提供し、それによって、ISP又は他のネットワークオペレータが、その顧客に提供するサービス品質の記録をとるのに役立っている。この製品の1つの機能は、スループットを測定できることである。
スループットを測定する従来の手法は、データブロックをネットワークの1つのノードから別のノードへ単に送出することである。それが、ブロックを送信するのにかかる時間長を測定することによって、スループットを示す、データが送信されたレート(速度)を計算することができる。
この手法についてのいくつかの欠点が存在する。1つの欠点は、スループットを正確に測定するために送信されなければならないデータ量がスループットによって決まることである。たとえば、56キロビット/秒のみでデータを送信すべき2つのノード間のリンクは、ネットワーク性能の適度のサンプルを得るために、100メガビット/秒で動作するリンクよりずっと小さい量のデータを送信する必要があることになる。
さらに、ネットワーク接続が動作する速度に関わらず、ネットワーク接続のスループットを正確に測定するのに十分大きなデータサンプルを送出する手法は、一般に不適切である。データサンプルが、高速での正確な測定を提供するのに十分大きい場合、ネットワークが実際には低速で動作している場合には、試験を実行するのに非常に長い時間がかかるであろう。試験は、終了するのに、ネットワークユーザにとって許容可能であるよりも長い時間がかかる可能性がある。さらに、試験が、比較的低速のネットワークに大量のデータを与える場合、試験データ自体が、ネットワークを過負荷にするか、又は、そうでなければ、その動作を低下させる可能性がある。
スループット測定を行うほとんどのシステムは、スループット測定を試みることになる継続時間を制限する。試験データが、指定した時間量内で送信されない場合、試験は打ち切られる。しかしながら、試験データが、試験下のリンク(被試験リンク)を通じて送信される前に、試験が打ち切られる場合、試験システムは、データの送信を遮断している、リンクの欠陥と、ネットワークが非常に低スループットで動作している状況とを区別することができない。
一部のシステムは、オペレータからネットワークスループットの推定値を得、次に、このデータ速度で、正確なスループット測定を行うのに適切なデータ量によって試験を実行することによって、スループット測定に関するこれらの問題を解決しようと試みる。たとえば、PCPITSTOP.COMと呼ばれるユーティリティはこの様に動作する。リンクが、低データ速度を有すると予測されると、試験データが、試験のために設定されたとき間限界中に送信されるように、より少量のデータが使用される。
この手法についてのいくつかの欠点が存在する。1つは、オペレータが、リンクの予想されるスループットがわからず、したがって、不正確な情報を提供する可能性があることである。他の問題は、スループット試験が、ネットワーク上に問題が存在するときに実行されることが多く、スループット試験が、意図されるデータ速度で動作しないことである。そのため、ユーザ入力は、ネットワークに適するよりも、大きな試験データパッケージを指定する結果となる。
ネットワークのスループットを測定するのに使用することができる改良された技法を有することが望ましい。
前述の背景を念頭に置いて、ネットワークのスループットを測定するためのより好都合で、且つ、正確なシステム及び方法を提供することが、本発明の目的である。
ネットワークに重い負担をかけない、ネットワークのスループットを測定するためのシステム及び方法を提供することも、同様に、本発明の目的である。
ADSLネットワーク又はケーブル広帯域ネットワークの上流リンクと下流リンクの両方のスループットを測定するシステム及び方法を提供することも、同様に、本発明の目的である。
上述の、また、他の目的は、複数のデータブロックが送信されるプロセスを使用して達成される。各ブロックの送信時間が測定される。測定は、正確なスループット測定が得られるか、又は、所定時間が経過するまで続けられる。
一実施形態では、ADSLネットワークの上流リンクのスループットは、HTMLページを提供するウェブサーバに対してユーザインタフェースを有することによって測定される。HTMLページは、試験ペイロード及びブロック内のペイロードをサーバに自動的に送信するスクリプトであるJavaScript(商標)を含む。
さらに別の実施形態では、個々のブロックについて行われるスループット測定は、測定精度を増すために、統計分析(解析)される。統計解析は、好ましくは、「非バースト」ネットワークのためだけに使用される。
本発明は、以下のより詳細な説明及び添付図面を参照することによって、よりよく理解されるであろう。
本発明は、そのアプリケーションにおいて、以下の説明で述べられるか、又は、図面で示される構造の詳細及びコンポーネントの配置構成に限定されない。本発明は、他の実施形態が可能であり、種々の方法で、実施されるか、又は、実行されることが可能である。同様に、本明細書で使用される表現及び用語は、説明のためであり、制限的であると考えられるべきではない。「含む」、「備える」又は「有する」、「収容する(containing)」、「伴う(involving)」の使用及び本明細書でのそれらの変形は、以下に挙げる項目及びその等価物並びに付加的な項目を包含することが意図される。
図1は、スループットが測定されることになるネットワーク110を、非常に単純な形態で示す。本発明の好ましい実施形態は、インターネットにアクセスするユーザが経験するスループットを測定することに関連して述べる。この場合、ネットワーク110は、インターネットサービスプロバイダによって提供されるアクセスネットワークを表す。しかしながら、本発明は、このアプリケーションの使用に限定されない。
データ端末がネットワークに接続される。図1では、コンピュータ112は、データ端末を表す。コンピュータ112は、たとえば、家庭用コンピュータであってもよい。
インターネットを使用するとき、ユーザは、ネットワーク110を通じて他のデータ端末にアクセスする。試験下のネットワークがインターネットである図1の例では、これらのデータ端末は、情報を受信するか、又は、情報をインターネットユーザに提供するサーバである可能性が最も高い。サーバ114は、これらのデータ端末を表す。インターネットは、インターネットに接続された多くのユーザ及び多くのサーバを有するが、簡潔にするために、2つだけが示されることを理解すべきである。コンピュータ112又はサーバ114を実施するのに使用される厳密な機器のタイプは、本発明にとって重要ではない。しかしながら、好ましい実施形態は、標準的なインターネットブラウザを含むコンピュータ112を使用するものとして本明細書で述べる。その実施形態では、ブラウザは、JavaScript(商標)プログラムによるHTMLページを含むHTMLページを受信し、HTMLページに応答することができる。
図1は、ネットワークに同様に接続される診断ユニット116を示す。好ましい実施形態では、診断ユニット116は、NetFlare(登録商標)という名称で、イリノイ州ディアフィールドのテラダインによって販売されるタイプである。しかしながら、以降で述べるプログラムを実行することができる任意の診断ユニットを使用することができる。さらに、別個の診断ユニットが使用されることは必要ない。以下で述べるプログラムは、試験下のネットワーク110に接続される任意のコンピュータ上で実行されるであろう。たとえば、プログラムは、サーバ114で実行されるであろう。
診断ユニット116は、スループット測定アルゴリズム120を実行するようにプログラムされる。以下でより詳細に述べるように、スループットアルゴリズム120は、診断ユニット116において、コンピュータプログラムとして実施される。このコンピュータプログラムを、任意の好都合な言語で書くことができる。しかしながら、好ましい実施形態の利点は、スループットプログラムを、コンピュータアプリケーションとして書くことができることである。好ましい実施形態では、このアプリケーションは、ネットワーク110を通じた通信を管理するために標準的なコンピュータユーティリティを使用する。ネットワークプロトコルのOSI5層モデルの用語では、スループットプログラムは、層5で実施され、ネットワークの層1〜4を実施する標準的なソフトウェア又はハードウェアの修正を必要としない。
図1は、診断ユニット116が、ネットワークと、スループットアルゴリズム120を実行するソフトウェアとの間にバッファ118を収容することを示す。バッファ118は、ほとんどのコンピュータ及びサーバのオペレーティングシステムによって実施される機能を表す。アプリケーションプログラムが、ネットワークを通じて送出されるデータを生成するときに、オペレーティングシステムは、一般に、メッセージが、ネットワークを通じて送出される準備ができたと判断するまで、データをバッファリングすることになる。たとえば、従来のネットワークプロトコルは、メッセージが、パケットで送出され、各パケットが一部のコントロールビット及びある数のデータビットを有することを指定する。オペレーティングシステムが、全てのデータバイトを、アプリケーションプログラムから受信しながら送信した場合、各パケットは、多くのコントロールビット及び比較的少数のデータビットを有することになる。そのため、ネットワークトラフィックのほとんどは、コントロール情報を送信するのに専用になり、実際のデータ送信にはほとんど使われず非効率的なネットワークになる。
通常、バッファ118が望ましい。しかしながら、ネットワークスループットを測定するとき、バッファは望ましくない。バッファは、アプリケーションプログラムからのメッセージの送信に可変量の遅延を導入する可能性がある。好ましい実施形態では、スループット測定ソフトウェアは、アプリケーションプログラムとして実施される。しかし、オペレーティングシステムによって導入される可能性がある可変遅延を回避するために、以下で述べるように、好ましい実施形態は、バッファリングによって生じる任意の著しい遅延を回避するように設計される。
好ましい実施形態では、スループット測定プログラム120は、ネットワーク110を通ってコンピュータ112を通る通信か、又は、コンピュータ112からネットワーク110を通ってサーバ114への通信についてデータ速度を測定する。これらの測定値は、一般に、それぞれ、上流及び下流スループットと呼ばれる。
好ましい実施形態では、スループット測定値から得られたデータは、顧客ケアを提供するために、インターネットサービスプロバイダによって使用される。スループット測定値は、コールセンタ122に提供される。コールセンタ122は、その顧客が、顧客のネットワークサービスについての苦情を送ることができるインターネットサービスプロバイダによって運営される施設のことを言う。一般に、コールセンタ122には、顧客からの電話呼又は電子通信を受信する人間オペレータが配置されるであろう。しかし、コールセンタ122は、物理的なロケーションである必要がないことが理解されるべきである。顧客サービスオペレータは、顧客からの通信を受信することができる任意の場所に位置することができる。たとえば、顧客サービスオペレータは、ネットワークオペレーションセンタ(NOC)に含まれてもよい。顧客サービスは、人間オペレータによって提供される必要がないことも理解されるべきである。顧客の苦情に対する自動化応答について、種々の人工知能技法が知られている。
好ましい実施形態では、顧客のネットワーク接続のスループットについての苦情を受けた顧客コンタクトコールセンタ122は、顧客のコンピュータ112を使用して、診断ユニット116にアクセスするように指示されるであろう。好ましくは、診断ユニット116は、顧客のコンピュータが、ネットワーク110を通じてアクセスすることができるサーバとしてユーザには見える。コンピュータ112と診断ユニット116の間の接続を容易にするために、コールセンタ122は、診断ユニット116のウェブアドレスをユーザに与える。しかし、ユーザは、コールセンタ122以外から診断ユニット116のウェブアドレスを得ることができることを理解すべきである。たとえば、診断ユニット116のウェブアドレスは、自身のサービスウェブサイトからダウンロードすることができる。
コンピュータ112と診断ユニット116の間の接続が始動する方法に関わらず、一旦接続が確立されると、スループットアルゴリズムを実施することができる。図2は、下流スループットを測定するプロセスの部分を示す。図2の左側に示すステップは、好ましい実施形態では、「ホスト」の役を果たすコンピュータ112上で実施される。図2の右側のステップは、サーバの役を果たすコンピュータ上で実施される。好ましい実施形態では、そのコンピュータは、診断ユニット116であり得る。
プロセスは、ホストコンピュータがサーバに接続するステップ210で始まる。先に述べたように、好ましい実施形態の接続は、ホストの役を果たすユーザコンピュータ112が、診断ウェブページにログするときに行われる。
一旦接続が確立されると、プロセスは、サーバに対して実施されるステップ212に進む。ステップ212にて、試験タイマが始動される。好ましくは、スループット測定は、ネットワーク上のスループットに関わらず、所定の最大時間量内で終了するであろう。ステップ212にて始動した試験タイマは、許容可能な最大試験時間の記録をとるであろう。許容可能最大時間が超えられ、且つ、試験が終了していない場合、試験タイマは、タイムアウトし、試験は停止する。プロセスにタイムアウトさせる多くの方法が当技術分野で知られている。たとえば、試験タイマのタイムアウトは、ソフトウェア割り込みをトリガーすることができる。或いは、プロセスは、タイマの時間を繰り返しポーリングするステップを含むことができ、プロセスは、タイマがタイムアウトしたとポーリングが指示する任意の時点で終了することになる。試験がタイムアウトするようにさせる厳密な方法は、本発明にとって重要ではない。
ステップ214にて、別個の計時プロセスが始まる。この計時プロセスは、1つのデータブロックをサーバからホストへ転送するのにかかる時間量を測定するのに使用される。ステップ214は、転送間隔の開始を確立する。好ましい実施形態では、転送間隔の開始は、システムクロックによって指示される時間を記録することによって記録される。しかしながら、時間間隔を測定する多くの代替方法が知られており、使用される特定の方法は、本発明にとって重要ではない。
処理は、ステップ216に進む。ステップ216にて、データブロックが、サーバからホストコンピュータに送出される。前述したように、ステップ216は、好ましくは、診断ユニット116上のアプリケーションプログラムとして実施される。アプリケーションプログラムは、ネットワーク110を通じてデータを実際に転送するために、診断ユニット116でプログラムされる既存のシステムユーティリティに依存する。しかしながら、アプリケーションプログラムが、データブロックの送信時間を正確に測定するために、アプリケーション層から送出されるデータブロックは、バッファリングによって生じる遅延無しで、OSIネットワークモデルの層1〜4を実施する診断ユニット116のハードウェア及びソフトウェアを通過しなければならない。データブロックが、ネットワークプロトコルの層1〜4を通過するときに、確実にバッファリングされないようにするために、データブロックのサイズは、低レベルネットワークプロトコルに従って、ネットワーク110を通じて送出されることになるデータパケットを満たすように選択されるべきである。メッセージが、可変遅延によってバッファリングされる可能性を減らすように、ソケットのバッファサイズを設定することも望ましい。
好ましい実施形態では、スループット試験を実施するアプリケーションプログラムは、標準的なオペレーティングシステム上で実行される。一実施形態では、このオペレーティングシステムはLinuxである。こうした環境では、ホストとサーバの間の接続は、「ソケット」として表される。アプリケーションプログラムが、特定のソケットにアクセスすると、オペレーティングシステムは、下層のソフトウェア及びハードウェアを制御して、ネットワークを通じてメッセージを適切なフォーマットで送出する。スループット測定を制御するアプリケーションプログラムは、好ましくは、下層のハードウェア及びソフトウェアを直接制御しないが、好ましい実施形態では、アプリケーションプログラムは、メッセージが遅延することになる可能性を減らすために、ソケットのパラメータを実際に設定する。特に、ソケットバッファサイズが変更される。好ましくは、ソケットバッファサイズは、ソケット当たりのサイズを基準として変更され、他の通信が混乱しないように、スループット測定に使用されるソケットについてのみ変更される。TCPセッションを制御するソフトウェアは、ソケットに対応する特定のセッションについてのTCPウィンドウをソケットバッファより小さいサイズに設定するため、ソケットバッファをアプリケーションレベルから間接的に調整することは、低レベルネットワークオペレーションに影響を及ぼす。そのため、ブロックサイズ及びソケットバッファサイズについての適切なサイズのアプリケーションレベルにおける選択は、より正確なスループット測定をもたらす。
たとえば、従来のオペレーティングシステムでは、ソケットバッファサイズは、約64Kにデフォルト設定することができる。ソケットバッファサイズを約9Kbytes(バイト)に減らすことによって、より正確な測定値がもたらされることがわかった。この値は、部分的に経験的に選択された。試験セットアップは研究所環境で作成された。実際のスループットは、パケット解析器を使用して測定された。バッファサイズは、本明細書で述べた技法を使用した測定が、パッケット解析器によって測定された実際のスループットを近似するまで調整された。しかしながら、バッファサイズは、ブロックより小さくされることはなく、そうしなければ、単一パケットであったとしてもそれを受信する前にバッファがオーバフローすることになる。それに応じて、ソケットバッファのサイズは、好ましくは、2Kbytes〜16Kbytesであり、より好ましくは、8Kbytes〜12Kbytesであるであろう。
ブロックサイズを設定するために、ネットワークプロトコルが考慮される。たとえば、データは、イーサネットプロトコルを使用したインターネットを通じて送信される。イーサネットプロトコルは、ネットワークを通じて転送されるメッセージのフレームサイズが、1,518bytesであるべきことを指定する。フレーム内の情報の一定部分は、制御用であり、1,497bytesのデータ用の空間が残る。フレーム又はメッセージパケットに収容されるデータは、ペイロードと呼ばれる場合がある。好ましい実施形態では、ステップ216で送出されるデータブロックは、好ましくは、ネットワークプロトコルによって指定される最大メッセージペイロードと同じサイズである。
好ましいペイロードサイズは、ネットワークごとに変わることになることが理解されるであろう。しかしながら、ペイロードサイズにほぼ等しいデータブロックを使用してスループットを測定することは、いくつかの利点を提供することが認識された。先に述べた1つの利点は、アプリケーションプログラムが、TCPスタック又は他の低レベルネットワーク要素に対する直接制御を行う必要なしで、試験を実施することが可能になることである。第2の利点は、1つのデータブロックが、スループット測定試験を実施するために割り当てられる総時間より、通常、ずっと短い時間で送出されることが可能になることである。こうして、ほとんどのスループット測定は、複数のデータブロックを使用して行うことができる。これらの測定値は、より正確なスループットの測定値を作成するために平均される。好ましくは、一部のネットワーク接続が低速であり、大量のデータブロックを必要とする試験の実施が、割り当てられた時間内に終了しない可能性がことを考慮して、ブロックサイズが選択される。好ましい実施形態では、56Kbps〜8Mbpsの範囲のネットワークスループットを測定するように、ブロックサイズが選択され、1.2Kbytes〜2.5Kbytesの範囲のブロックサイズがもたらされ、好ましいサイズは約2Kbytesである。
ホストがデータブロックを受信すると、ホストは、ステップ218で指示されるように、確認応答(アクノレッジ)を送出することによって応答する。サーバがその確認応答を受信すると、処理はステップ220にて続く。確認応答メッセージが受信される時間は、ステップ220にて記録される。この時間は、データブロックの送信時間を求めるために、ステップ214で設定された開始時間と比較される。ブロックサイズを送信時間で割ることよって、ブロック送信中のビット速度(レート)すなわちスループットを計算することができる。
実行は、次に、ステップ222に進む。ステップ222にて、スループットの正確な測定を提供するために、十分な数のブロックが送信されたかどうかのチェックが行われる。好ましい実施形態では、スループット測定試験は、所定数のデータブロックが送信された後に打ち切られる。好ましくは、ブロックのその数は200〜500である。好ましい実施形態では、400ブロックが使用される。しかしながら、所定数のブロック送信は、スループット測定を停止する基準として使用されることは必要ない。たとえば、前のブロックについての個々のスループット測定の統計的特性が、ステップ222にて、十分なブロックが送信されたかどうかを判断する基準として使用されることができる。試験は、前のブロックについてのスループット測定の標準偏差が5%未満であったときに停止するであろう。それに応じて、十分なブロックが送信されたかどうかを判断するために、ステップ222にて使用される厳密な技法は、本発明にとって重要ではない。
十分なブロックが送信されなかった場合、処理はステップ214に戻る。ステップ214に戻ることによって、別のブロックが送出され、このブロックについてビット速度が測定される。十分なブロックが送出された場合、処理は、ステップ224に進む。先に述べたように、データの送信はまた、ステップ212で設定されたタイマがタイムアウトする場合に終了する。そのため、ステップ224は、十分なブロックが送出されたときか、又は、許容可能最大試験時間が超えられたときのいずれかで実行されるであろう。
ステップ224にて、ステップ220で計算された個々のブロックについてのビット速度を平均することによって、総合ビット速度(レート)が計算される。ビット速度は、ネットワークのスループットの尺度である。しかしながら、より高性能な処理を使用して、総合ビット速度を計算することができる。たとえば、個々のブロックについてのビット速度は、統計的に解析されて、ステップ224におけるビット速度の全体の計算から、異常動作状況を指示する可能性があるブロックを排除することができる。異常動作状況下で行われた測定を排除することは、スループット測定の全体の精度を増加させることができる。しかしながら、統計的特性に基づいて個々のブロックについてのビット速度測定を排除することが、全体のスループット測定の精度を実際には低下させることになる一部の状況が存在する。一部のネットワークは、データのパッケージを「バースト性パターン(bursty pattern)」で送信する。たとえば、ネットワーク110が、ケーブル会社によって運営されるインターネットアクセスネットワークを表す場合、コンピュータ112に送出されるパケットの送信時間は、ローカルなケーブルループのネットワークトラフィックによって決まることになる。そのため、個々のブロックについて測定されたスループットは、ネットワークトラフィックに応じて、徐々に変わることになる。「バースト性(bursty)」という用語は、瞬時スループットが、スループット試験に割り当てられた期間にわたって変わることが予想されるネットワークのことを言う。一方、ネットワーク110が、ADSLサービスを提供する電話会社によって運営されるインターネットアクセスネットワークを表す場合、試験において個々のブロックについて測定されるビット速度は、ネットワークの回線の物理的状況又は試験期間にわたって変化する可能性がない他の因子に依存する可能性がより高い。この状況を「非バースト性」ネットワークと呼ぶ。非バーストネットワークの場合、個々のブロックについて、瞬時スループットが平均スループットと著しく異なる測定を排除するための統計解析を使用して、総合のスループット測定精度が上がるであろう。
現在好ましい実施形態では、ステップ224における処理は、個々のブロックについて計算されたスループットのうちの選択されたスループットを排除するように構成することができるコンピュータソフトウェアによって実施されるであろう。しかしながら、ソフトウェアは、バースト性ネットワークのスループットを測定するのに使用されるとき、この機能を使用不能にする能力を含むであろう。
図2に示すステップは、例示的であること、及び、プロセスは、厳密に示されるように実施される必要はないことが理解される。たとえば、図2は、ブロックの送信時間が、ブロックの送出と、確認応答の受信との間の時間差として測定されることを示す。連続して送信されるブロックからの、サーバにおける確認応答の各受信の間の時間を測定することによって、ブロックの送信時間を測定することが好ましい場合がある。こうして、確認応答がサーバに達する時間及び送信時間における任意の他の固定遅延が、ビット速度の計算から排除される。
図3は、上流スループットを測定する同様なプロセスを示す。図3は、ステップ310で始まるプロセスを示し、ユーザコンピュータ112などのホストがサーバに接続される。図2と同様に、サーバは、好ましい実施形態では、診断ユニット116である。しかしながら、ネットワーク上の任意の他のサーバも使用することができる。同様に、ステップ310においてサーバに接続することは、ステップ210においてサーバに接続するときに、別個のユーザ相互作用を必要としないことが理解されるべきである。図3のプロセスは、図2に示すプロセスの終了後に、自動的に実行されるであろう。
接続が確立される方法に関わらず、一旦接続が確立されると、処理はステップ312に進む。ステップ312にて、サーバは試験タイマを始動する。図2に示す下流測定プロセスと同様に、上流測定プロセスは、所定の時間量内に終了しない場合、打ち切られる。
サーバは、HTMLページをホストコンピュータに送出する。ウェブサイトにログオンすることによって、一般に、HTMLページの送信が引き起こされ、HTMLページを送出するステップは、図2及び図3では特に詳述されない。しかしながら、ステップ314で送出された特定のページは、ホストコンピュータに、上流スループット測定プロセスの部分を実施させるように特別に修正される。
ステップ314で送出されたHTMLページは、HTMLページ316として概略的に示される。HTMLページ316は、本明細書でJavaScript(商標)318として表される実行可能コードを含む。さらに、HTMLページ316は、ペイロード320を含む。好ましい実施形態では、ペイロード320は、ステップ216で送信されたデータブロックと同じデータブロックである。先に述べたように、ペイロードのサイズは、低レベルネットワークプロトコル層を実施するハードウェア又はソフトウェアにおいて、バッファリングによって遅延することなく、ネットワーク110を通じて送信される情報のパケットを満たすように選択される。
HTMLページ316はまた、サブミットボタン322を含むように示される。サブミットボタン322は、コンピュータ112がHTMLページ316を受信すると、コンピュータ112のウェブブラウザによって表示される実際のユーザコントロールであることができる。ユーザがサブミットボタン322を起動すると、JavaScript(商標)318が実行され始める。好ましい実施形態では、JavaScript(商標)318は、サーバへの、ペイロード320を収容するメッセージの反復した転送をもたらす簡易的なプログラムである。JavaScript(商標)318は、或る所定期間の間、反復して実行される。好ましくは、この期間は、上流スループット測定期間に割り当てられた時間量に一致する。現在好ましい実施形態では、この時間は、好ましくは、1〜15秒、最も好ましくは、約10秒である。ユーザにサブミット322を押下させることは、プロセスにおいて重要なステップではないことが理解されるべきである。代替法として、HTMLページ316は、ウェブページ316がコンピュータ112にロードされると、JavaScript(商標)が自動的に送信(サブミット:submit)されるように構成することができる。
ステップ324で送出されたデータブロックが、サーバによって受信され、ステップ326で指示するように処理される。ステップ326は、図2と関連して先に述べたように、一般的にデータブロックを解析する。診断ユニット116又はサーバの役を果たす他のコンピュータは、各データブロックがホストコンピュータから受信される時間を記録する。連続するブロック間の時間差は、データブロックがネットワーク110を通じて渡されるのにかかる時間量の指示である。ブロックサイズを送信時間で割ることによって、ブロック送信についてのスループットの推定値を求めることができる。ステップ326は、図2と関連して先に述べたように、個々のブロックのスループット測定値を解析する。解析は、スループットを正確に計算するために、十分なデータブロックが受信されたかどうかを判断することを含む。ステップ326はまた、上流スループット測定についての最大時間量を超えたかどうかを判断するためにチェックする。先に述べたように、このチェックは、ステップ312で設定された試験時間の値が所定値を超えたかどうかを調べることによるなど、多くの方法で実施することができる。
十分な数のブロックが受信されるか、十分に長い期間が経過したかのいずれかの理由で、十分なデータが収集されると、ステップ326にて、総合スループットもまた計算される。好ましい実施形態では、総合スループットは、コールセンタ122に報告され、コールセンタ122において、この情報が、ネットワーク問題を診断するときか、又は、顧客の苦情の解決を容易にするときに使用される。
ステップ326にて、サーバが、総合スループットが既に受信したブロックの測定値に基づいて計算されるべきであると判断する場合、サーバは、ホストとサーバ間の接続が切断されていることを指示するメッセージをホストに送出するであろう。HTMLプロトコルは、サーバがホストに対して接続が切断されていることを合図することを可能にするセッション制御式メッセージを含む。ホストコンピュータ上で使用される可能性がある、ほとんどの市販のウェブブラウザの場合、こうしたメッセージを受信することによって、JavaScript(商標)318の実行が打ち切られることになり得る。こうして、ホストは、必要であるより多くのデータを送信しないことになる。しかしながら、セッションメッセージの終了を送出することによって、一部の市販のウェブブラウザは、ユーザに対する通知を表示する。こうした通知が、コンピュータ112のユーザに表示される可能性を回避することが望ましい場合、サーバ112が、セッションメッセージの終了を送出することは必要ない。この場合、JavaScript(商標)318は、所定の期間の間、実行されると、実行を停止することになる。現在好ましい実施形態では、JavaScript(商標)318は、タイムアウトし、好ましくは、5〜10秒である時間後、データの送出を停止することになる。
図2及び図3に示すプロセスは、本発明による技法を実施するために書くことができるプログラムの高レベルロジックを表す。当業者は、同様に本発明を利用する代替のプログラムを開発することができる。たとえば、ステップ220は、個々のブロックについてビット速度を計算するものとして指示され、ステップ224は、総合ビット速度を計算するものとして指示される。種々の数学的操作が実施される順序は、本発明にとって重要ではない。たとえば、個々のブロックについてのビット速度の平均は、最初に、それぞれの個々のブロックについてビット速度を計算し、次に、数値を平均することによって、計算することができる。しかしながら、送信される全てのブロックにおけるビット数を加算し、次に、その数のブロックを送信するのにかかった時間で割ることによって、数値的に同じ結果を達成することができる。さらなる代替法として、好ましい実施形態では、ブロックの全てが同じサイズであることが留意されるべきである。全てのブロックが同じサイズであることは必要ない。しかしながら、ブロックが同じサイズである場合、ブロックのサイズは、任意の好都合な時間においてビット速度を計算する式に適用することができる一定のスケール係数になる。
本発明の少なくとも1つの実施形態のいくつかの特徴を述べたが、種々の変更、修正、及び改良を、当業者が容易に想到可能であることが理解される。こうした変更、修正、及び改良は、本開示の一部であり、また、本発明の精神及びその範囲内にあることが意図される。したがって、先の説明及び図面は例示に過ぎない。
本発明を使用することができるネットワークの略図である。 ビット速度を計算するプロセスのフローチャートである。 上流方向のビット速度計算するプロセスのフローチャートである。

Claims (27)

  1. ネットワークのスループットを測定する方法であって、
    a)前記ネットワークを通じてデータブロックを送信し、
    b)前記ブロックの前記送信時間を表す値を測定し、
    c)前記ブロックの前記データ送信レートを計算し、
    d)停止イベントが発生するまで、ステップa)、b)、及びc)を繰り返し、前記停止イベントは、或る数のブロックの送信、又は、或る時間量の経過の最初の発生であり、
    e)前記ブロックのうちの選択されたブロックの前記データ送信レートを平均することによって、前記ネットワークスループットを計算する、
    ことを含む方法。
  2. 前記ネットワークがバースト性ネットワークであることがわかっているとき、前記ブロックのうちの前記選択されたブロックは、前記測定中にデータレートがそれについて計算された前記ブロックの全てから成る、請求項1に記載の方法。
  3. 前記ネットワークが非バースト性ネットワークであることがわかっているとき、前記ブロックのうちの前記選択されたブロックは、前記測定中に、送信された全てのブロックの平均データ送信レートから指定した量だけ小さくなるようにデータレートがそれについて計算された前記ブロックのみから成る、請求項1に記載の方法。
  4. データブロックのサイズはネットワークパケット内に適合するように選択される、請求項1に記載の方法。
  5. データブロックのサイズは、前記ネットワークに接続されるコンピュータのアプリケーション層が、バッファリングのための遅延なしで、前記ブロックを含むメッセージを前記ネットワークに渡すように選択される、請求項4に記載の方法。
  6. 前記送信時間は、前記ネットワークに接続されるコンピュータのアプリケーションプログラミング層で測定される、請求項5に記載の方法。
  7. データブロックの送信は、あるバッファを有するソケットを確立するオペレーティングシステム上で実行されるアプリケーションプログラムからメッセージを生成することを含み、前記方法はさらに、前記ソケットバッファのサイズを設定することを含む、請求項1に記載の方法。
  8. データブロックのサイズは2キロバイトより小さい、請求項1に記載の方法。
  9. 前記スループットは上流スループットで測定され、前記方法は、下流スループットを測定することをさらに含む、請求項1に記載の方法。
  10. ネットワークのスループットを測定する方法であって、
    a)ユーザコンピュータとサーバの間の接続を確立し、
    b)前記サーバによって、診断ウェブページを前記ユーザに提示し、
    c)停止イベントが発生するまで、前記ユーザコンピュータと前記サーバの間で、前記ネットワークを通じてデータブロックを繰り返し送信し、前記停止イベントは、或る数のブロックの送信又は或る時間量の経過の最初の発生であり、
    d)前記ブロックの送信時間を表す値を測定し、
    e)前記ブロックのうちの選択されたブロックのデータ送信レートを平均することによって前記ネットワークスループットを計算する、
    ことを含む方法。
  11. 前記ウェブページは、前記ユーザコンピュータが、データブロックを前記サーバに送信させるようにするスクリプトを含むHTMLページとして前記ユーザに提示される、請求項10に記載の方法。
  12. 前記ネットワークはADSLネットワークであり、前記コンピュータスループットは前記上流スループットを表す、請求項11に記載の方法。
  13. 前記下流スループットは個別に測定される、請求項12に記載の方法。
  14. 前記HTMLページは、前記データブロックにおいて送信される試験ペイロードをさらに含む、請求項11に記載の方法。
  15. データブロックを繰り返して送信することを含み、
    a)データブロックの送信は、ブロックを前記サーバから前記ユーザコンピュータに送信することを含み、
    b)送信時間を表す値は、前記ユーザコンピュータからの連続するアクノレッジ間の時間から導出される、
    請求項10に記載の方法。
  16. 前記サーバは前記ネットワークに設置される診断ユニットである、請求項10に記載の方法。
  17. a)ネットワークオペレータによって管理されるコールセンタにおいて、前記ネットワークユーザからの呼を受け取り、
    b)前記診断ウェブページにアクセスするように前記ユーザを誘導し、結果を受け取り、
    c)前記コールセンタで使用するために、前記計算されたネットワークスループットを受け取る、
    ことをさらに含む請求項10に記載の方法。
  18. 前記時間経過は10秒未満である、請求項10に記載の方法。
  19. インターネットサービスプロバイダのために、前記計算されたスループットをコールセンタに提供することをさらに含む、請求項10に記載の方法。
  20. 前記ネットワークは、非バースト性ネットワークであり、前記ブロックのうちの前記選択されたブロックは、前記ブロックの送信時間と他の全てのブロックの平均送信時間との間の関係に基づいて選択される、請求項10に記載の方法。
  21. ネットワークのアクセス部分において、ユーザが経験するスループットを測定するように構成されたネットワークであって、ネットワークに接続された診断ユニットを備え、該診断ユニットは、
    a)前記ユーザが前記診断ユニットにアクセスするときに、診断ウェブページをユーザコンピュータに提示し、
    b)前記ユーザコンピュータと前記診断ユニットの間での、前記アクセスネットワークを通じたデータブロックの繰り返し送信を制御し、
    c)前記ブロックの送信時間を表す値を測定し、
    d)停止イベントが発生する前に受信された前記ブロックのうちの選択されたブロックのデータ送信レートを平均することによって前記ネットワークスループットを計算する、
    プログラミングを有し、前記停止イベントは、或る数のブロックの送信又は或る時間量の経過の最初の発生である、ネットワーク。
  22. 前記診断ユニットは、前記上流及び下流方向のスループットを測定するようにプログラムされる、請求項21に記載のネットワーク。
  23. 前記診断ユニットは、データブロックを前記ユーザコンピュータに送信することによって、下流スループットを測定し、前記ユーザコンピュータによって送出されるアクノレッジメッセージ間の時間差を測定することによって時間を表す値を測定する、請求項22に記載のネットワーク。
  24. 前記診断ユニットは、前記ユーザコンピュータに提示されるときに前記ウェブページ内にコードを埋め込むことによって上流スループットを測定し、前記コードは、前記ユーザコンピュータが、連続するデータブロックを前記診断ユニットに送出するようにさせる、請求項23に記載のネットワーク。
  25. 前記プログラミングは、オペレーティングシステム上で実行されるアプリケーションプログラムであり、前記オペレーティングシステムは、あるバッファを有するソケットを確立することによって、前記アプリケーションプログラムと前記ユーザコンピュータとの間でネットワークを通じた通信を可能にし、前記アプリケーションプログラムは、前記ソケットバッファのサイズを設定するプログラミングをさらに含む、請求項21に記載のネットワーク。
  26. 前記ソケットバッファのサイズは、2Kバイト〜16Kバイトに設定される、請求項25に記載のネットワーク。
  27. 前記ソケットバッファのサイズは、8Kバイト〜12Kバイトに設定される、請求項26に記載のネットワーク。
JP2006528217A 2003-09-25 2004-09-25 ネットワークスループット測定のための方法及び装置 Pending JP2007523508A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/671,154 US20050068891A1 (en) 2003-09-25 2003-09-25 Method and apparatus for network throughput measurement
PCT/US2004/031393 WO2005032050A1 (en) 2003-09-25 2004-09-25 Method and apparatus for network throughput measurement

Publications (1)

Publication Number Publication Date
JP2007523508A true JP2007523508A (ja) 2007-08-16

Family

ID=34376088

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006528217A Pending JP2007523508A (ja) 2003-09-25 2004-09-25 ネットワークスループット測定のための方法及び装置

Country Status (6)

Country Link
US (1) US20050068891A1 (ja)
EP (1) EP1668827A1 (ja)
JP (1) JP2007523508A (ja)
CN (1) CN1860734A (ja)
CA (1) CA2539188A1 (ja)
WO (1) WO2005032050A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007028644A (ja) * 2005-07-20 2007-02-01 Tektronix Inc バースト・ビット・レート測定方法及び装置
JP2011223236A (ja) * 2010-04-08 2011-11-04 Konami Digital Entertainment Co Ltd 帯域確認システム及びそのサーバ装置用のコンピュータプログラム
JP2012531146A (ja) * 2009-06-25 2012-12-06 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ユーザ感覚でのtcpスループットの推定

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7251483B1 (en) * 2003-07-21 2007-07-31 At&T Intellectual Property, Inc. Systems and methods for providing data rate indications
US7356443B2 (en) * 2003-12-17 2008-04-08 Agilent Technologies, Inc. Systems and methods for analyzing the selection of measurements of a communication network
US7656814B2 (en) * 2004-01-26 2010-02-02 At&T Intellectual Property I, L.P. Method of selecting a profile of a digital subscriber line
US7570599B2 (en) * 2004-04-21 2009-08-04 At&T Intellectual Property I, Llp. Adaptively applying a target noise margin to a digital subscriber line (DSL) loop for DSL data rate establishment
US8159942B2 (en) * 2005-03-31 2012-04-17 At&T Intellectual Property I, L.P. Method of selecting a profile of a broadband communication line
US7742418B2 (en) * 2007-08-24 2010-06-22 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for determining latency and throughput of a data communication
CN102201947B (zh) * 2010-03-24 2015-08-12 中兴通讯股份有限公司 吞吐量测量方法及维护端节点
US9264340B2 (en) * 2013-03-15 2016-02-16 Ixia Methods, systems, and computer readable media for misdirected packet drill down and negative packet capture at a network test device
US9094336B2 (en) 2013-03-15 2015-07-28 Ixia Methods, systems, and computer readable media for assisting with the debugging of conditions associated with the processing of test packets by a device under test
US9819592B2 (en) 2016-02-09 2017-11-14 At&T Intellectual Property I, L.P. Apparatus and method for automatic reconciliation of data throughput
US10764148B2 (en) 2017-11-29 2020-09-01 Keysight Technologies, Inc. Methods, systems, and computer readable media for network traffic statistics collection

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6076113A (en) * 1997-04-11 2000-06-13 Hewlett-Packard Company Method and system for evaluating user-perceived network performance
US5974460A (en) * 1997-06-16 1999-10-26 International Business Machines Corporation Apparatus and method for selecting an optimum telecommunications link
US6711137B1 (en) * 1999-03-12 2004-03-23 International Business Machines Corporation System and method for analyzing and tuning a communications network
US6654914B1 (en) * 1999-05-28 2003-11-25 Teradyne, Inc. Network fault isolation
US6397245B1 (en) * 1999-06-14 2002-05-28 Hewlett-Packard Company System and method for evaluating the operation of a computer over a computer network
US7222255B1 (en) * 2001-02-28 2007-05-22 3Com Corporation System and method for network performance testing
US7009957B2 (en) * 2002-02-28 2006-03-07 Airmagnet, Inc. Measuring the throughput of transmissions over wireless local area networks
US7305464B2 (en) * 2002-09-03 2007-12-04 End Ii End Communications, Inc. Systems and methods for broadband network optimization
US7324524B2 (en) * 2002-10-29 2008-01-29 Mindspeed Technologies, Inc. Pseudo synchronous machine

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007028644A (ja) * 2005-07-20 2007-02-01 Tektronix Inc バースト・ビット・レート測定方法及び装置
JP2012531146A (ja) * 2009-06-25 2012-12-06 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ユーザ感覚でのtcpスループットの推定
JP2011223236A (ja) * 2010-04-08 2011-11-04 Konami Digital Entertainment Co Ltd 帯域確認システム及びそのサーバ装置用のコンピュータプログラム

Also Published As

Publication number Publication date
CA2539188A1 (en) 2005-04-07
CN1860734A (zh) 2006-11-08
WO2005032050A1 (en) 2005-04-07
EP1668827A1 (en) 2006-06-14
US20050068891A1 (en) 2005-03-31

Similar Documents

Publication Publication Date Title
US7969987B1 (en) Internet service node incorporating a bandwidth measurement device and associated methods for evaluating data transfers
US7747729B2 (en) Determining client latencies over a network
Christiansen et al. Tuning RED for web traffic
Allman et al. On the effective evaluation of TCP
US6697969B1 (en) Method, system, and program for diagnosing a computer in a network system
JP2007523508A (ja) ネットワークスループット測定のための方法及び装置
US8122082B2 (en) System and method for detecting a proxy between a client and a server
EP2903213B1 (en) Throughput test method and apparatus
JP2005506605A (ja) 任意のアプリケーション用のサーバサイトでの応答時間の計算
RU2695093C2 (ru) Способ для выполнения проверки пропускной способности связи от первой сетевой станции до второй сетевой станции в сети связи, соответствующие устройства для выполнения этапов способа и соответствующие компьютерные программы
US6970429B2 (en) Method and apparatus for measuring internet router traffic
Olshefski et al. Inferring client response time at the web server
Prasad et al. On the effectiveness of delay-based congestion avoidance
Basso et al. Estimating packet loss rate in the access through application-level measurements
US7274663B2 (en) System and method for testing differentiated services in a value add network service
KR100499673B1 (ko) 초고속 인터넷 서비스에서의 웹기반 단대단모의VoIP품질측정방법
CN105611406B (zh) 一种接入网服务商监测用户到视频服务器延迟特性方法
JP3825163B2 (ja) 伝送路監視装置の擬似試験装置
US20040170129A1 (en) Automatic detecting method for protocol nonconformity and automatic detecting apparatus for protocol nonconformity
Janc et al. Network performance evaluation in a web browser
Hicks et al. A quick check of network performance
Pinar Passive queue size estimation from a middlebox in TCP/IP networks
JP6459645B2 (ja) スループット計測プログラム、スループット計測方法及びスループット計測装置
JP3123945B2 (ja) ネットワーク性能評価装置
Ubik et al. Tbwtools: Processing TCP Performance Information

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070925

A072 Dismissal of procedure [no reply to invitation to correct request for examination]

Free format text: JAPANESE INTERMEDIATE CODE: A073

Effective date: 20080319